2017-05-19 2 views
0

信号の特定のセグメントが正常であるかどうかにかかわらず、信号配列(信号の配列)の分類がです。撮影したセグメントは、可変長(インパクト分類)であると私は同じと、次のエラーを取得を行うことはできませんよ。Pythonで可変長配列を分類する

ValueError: setting an array element with a sequence.

私のトレーニングセットがthisのように見えます。寸法:2065の要素の可変数を有するアレイ 及び出力等である:array(['N', 'N', 'N', ..., 'N', 'N', 'N'], dtype=object) 2065 long vector Y.shape = training_set.shape = 2065 Iは、分類のためMultinomiaナイーブベイズを使用しています:

from sklearn.naive_bayes import MultinomialNB 
clf = MultinomialNB() 
clf.fit(inp, Y) 
MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True)` 

任意のヒント/アドバイスが深くなりsklearn.naive_bayes.MultinomialNB.fit

だからあなたは固定長へのあなたの特徴ベクトル(n_samples)を調整する必要がある(n_featur:

+0

このデータは、特定の時間または間隔での信号を表していますか? –

+1

[mcve]を提供できますか? – user2314737

+0

@VivekKumar、データは時間に特化しています –

答えて

1

X : {array-like, sparse matrix}, shape = [n_samples, n_features] Training vectors, where n_samples is the number of samples and n_features is the number of features.

y : array-like, shape = [n_samples] Target values.

ソースを高く評価es)。

+0

これは私が望むものでした。可変長の機能を分類する必要がありますが、可能ではないと思います。 –

+1

時系列データを匹敵する長さに整列する方法があります(例: [Dynamic Time Warping](https://en.wikipedia.org/wiki/Dynamic_time_warping))。さらに、データポイントの合計を単一のフィーチャとして使用することもできます。 –

+0

ええ、ダイナミックタイムワーピングを試みることができますが、データポイントを合計することは、個々の信号に依存するビートを分類する必要があるので役に立たない –

関連する問題