2017-12-14 9 views
0

私は、一連のサウンドサンプルに基づいてトレーニングをしようとしています。正のサンプルを正規化することによって、負のサンプルをより広範にしたいと思います。python正規の奇妙な動作

これは私のコードである:

for sound in dogbarks: 
    expandedsound = audio_to_metadata(sound) 
    preprocessed_dogbarks.append(expandedsound) 
for sound in noisesounds: 
    expandedsound = audio_to_metadata(sound) 
    preprocessed_noisesounds.append(expandedsound) 

labels = [0]*len(preprocessed_noisesounds) + 
[1]*len(preprocessed_dogbarks) 
assert len(labels) == len(preprocessed_noisesounds) + 
len(preprocessed_dogbarks) 
allsounds = preprocessed_noisesounds + preprocessed_dogbarks 

allsounds_normalized = normalize(allsounds) 

コード配列のセットを標準化しようとすると、それがエラーを返し、私のケース48のメンバーの特定の数に達した場合:

~/.local/lib/python3.5/site-packages/sklearn/utils/validation.py in 
check_array(array, accept_sparse, dtype, order, copy, 
force_all_finite, ensure_2d, allow_nd, ensure_min_samples, 
ensure_min_features, warn_on_dtype, estimator) 
    431          force_all_finite) 
    432  else: 
--> 433   array = np.array(array, dtype=dtype, order=order, copy=copy) 
    434 
    435   if ensure_2d: 
ValueError: setting an array element with a sequence. 

しかし、私はメンバー番号48を実行する場合、それは正常に動作します。誰かが私に手がかりを与えることができますか?あなたが望むなら、私はデータを提供することができます。

ありがとうございます。

+3

あなたがしようとしていることについてのいくつかのコンテキストを提供し、コードを提供してください。 – pault

+0

@paultを更新しました。あなたがより多くの情報を必要とするかどうか私に教えてください。ありがとう – surga

+0

[sklean.preprocessing.normalize](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.normalize.html)を使用していますか? 'allsounds'の種類と次元は何ですか? – pault

答えて

0

私の質問には簡単な解決策がないので、私はループを作成し、それを1つずつ正規化して配列に戻す代替方法を採用しています。

for sound in allsounds : 
    allsounds_normalized.append(normalize([sound])[0]) 

皆さんがもっと良い解決策を持っている場合は教えてください。しかし、今のところこれが解決策です。ありがとうございます