2017-12-14 4 views
0

Ich versuche, Training basierend auf einer Reihe von Sound-Samples zu tun. Ich möchte die negativen Stichproben durch Normalisierung der positiven Stichproben erweitern.Python normalize seltsames Verhalten

Dies ist mein Code:

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) 

, wenn der Code versuchen, den Satz von Array zu normalisieren und es erreicht die bestimmte Anzahl von Mitglied in meinem Fall 48 es gibt Fehler:

~/.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. 

jedoch , Wenn ich die Mitgliedsnummer 48 nur ausführen, funktioniert es gut. Kann mir jemand einen Hinweis geben? Ich kann die Daten zur Verfügung stellen, wenn Sie möchten.

Vielen Dank.

+3

Bitte geben Sie etwas Kontext über was Sie versuchen zu tun und den Code bitte zur Verfügung stellen. – pault

+0

aktualisiert @pault. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Danke – surga

+0

Verwenden Sie [sclean.preprocessing.normalize] (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.normalize.html)? Was ist der Typ und die Dimension von 'allsounds'? – pault

Antwort

0

Da gibt es keine einfache Lösung für meine Frage. Ich nehme den alternativen Weg der Schleife und normalisiere es einzeln und lege es zurück zum Array.

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

Lassen Sie mich wissen, wenn Sie eine bessere Lösung haben, aber für jetzt ist dies die Lösung. Danke