質問: ### 3次元データからのscikitlearn,kerasにおけるサンプル数、特徴量の設定について プログラミング初心者で不慣れで申し訳ありませんが、失礼します。 センサーで測定したx,y,z軸ごとのデータをarrayデータとしてリストとしたデータを作成しています。そのデータを元にscikitlearnによるMLPclassifierやsvmによる分類、もしくはkerasによるディープラーニングを行いたいと考えています。 現在の手法としまして、取得したデータをnpyデータで読み込み、numpyのアレイデータとしてデータを作成しています。取得データを3軸ごとに200個だとすると、n個のデータを取得したとすると、shapeは(n,3,200)となっています。 こちらのデータをn_samplesとn_featuresにうまく分類する方法はございますでしょうか。 ここに質問の内容を詳しく書いてください。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ 現在試している方法だと、dimensionのエラーがでてしまい進むことができないでいます。 エラーメッセージ Found array with dim 3. Estimator expected <= 2. ### 該当のソースコード file=[] data1=np.load("filename.npy") data2=np.load("filename2.npy") data3=np.load("filename3.npy") file.append(data1) file.append(data2) file.append(data3) といった方法でデータを整理しております。 (n_samples,n_features[0],n_features[1])=file.shape scikitlearnだとすると clf=svm.SVC(C=1.0,kernel="linear",decision_function_shape="ovr") clf.fit(file,y) python3 ソースコード ``` ### 試したこと pandasのDataFrameでも2次元でないため、同じようにdimensionのエラーがでます。 array[3,200]のデータを1つデータ:特徴量としてみなすことは難しいでしょうか。 ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) python3.6,scikitlearn ここにより詳細な情報を記載してください。
回答: とりあえずはR.Shigemoriさんのおっしゃっているように600次元データとして扱ってみればよいかと。それで性能が出れば意外と簡単なタスクだった、というだけの話です。それで駄目なら、RNN系の手法がありますのでそっちを考えましょう。 ただ、データが2つとか3つでは機械学習を適用するのは厳しいです。分類したい動作の種類ごとに最低でも20~30くらい、できれば50以上はデータがないとしんどいと思いますが、そういったデータはありますか?