MATLAB Answers

csvデータの畳み込​みニューラルネットワ​ーク(cnn)につい​て

3 views (last 30 days)
Yoshio Moriyama
Yoshio Moriyama on 9 Feb 2018
Edited: mizuki on 9 Feb 2018
csvデータに対しCNN学習を行う際csvデータの読み込みとラベル付けはどのように行うのですか? csvデータの中身は音データをサンプリング周波数48khzで収録したもので1×960,000サンプルのcsvデータとして保存されたものです。 この中から4,800サンプルを画像認識でいう1データ(1画像)として連続で抽出しCNN学習を行いたいです。

  0 Comments

Sign in to comment.

Answers (1)

mizuki
mizuki on 9 Feb 2018
Edited: mizuki on 9 Feb 2018
  • csv から取得した数値データの使用について
最新のバージョンである R2017b では、画像以外の数値データは SequenceInputLayer で取り込むことができますが、この関数で取り込んだデータに対して convolution2dLayer 関数を適用する機能が現在のところありません。
代わりに、 imageInputLayer 関数を使用して読み込み、それに対して convolution2dLayer を適用してみてください。
  • データの一部を抜き出す方法について
datastore 関数を使用すると、csv データのデータ抽出部分を指定することができます。もしスライディングウィンドウを使用しない場合は datastore の ReadSize プロパティを 4800 に指定して、ループを使用して読み込みます。
例えば以下のようなコードになります。(最終的に変数 data に4800x22 のデータが入っています。) この変数を trainNetwork 関数の入力引数とすればよいかと思います。
ds = datastore('airlinesmall.csv', ...
'TreatAsMissing','NA');
ds.SelectedVariableNames = {'DepTime'};
ds.ReadSize = 4800;
preview(ds)
X = [];
% i=1;
% while hasdata(ds)
for i=1:200
T = read(ds);
data(:,i) = T;
% i=i+1;
end
  • ラベルについて
ラベル情報は別の変数として定義しておき、学習のための関数 trainNetwork を実行するときに入力として与えます。

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!