Min-Max-Normalisierung in Python
Habe ich die Arbeit mit Self-Organizing Maps (SOM) auf einem realen Datensatz (.csv-Datei).Ich bin versucht zu normalisieren, die Daten basierend auf Min-Max-Normalisierung, um Ihre Effektivität zu verbessern.
Aber ich stecken mit einem Fehler.Der Fehler ist wie: "unsupported operand type(s) for list and float"
.
Konnte ich nicht finden, eine bessere Lösung und ich bin völlig verloren mit dieser.
for i in range(num):
trr=eval(str(arr[i]))[0:-31]
print trr
for i in range(num):
normalized = (trr-min(trr))/(max(trr)-min(trr))
print normalized
und erklärt trr
am Anfang wie:
trr = [[0 for x in range(num)] for x in range(num)]
- Gut, der Fehler selbst deutet, dass Sie versuchen zu tun, Mathe mit einer Liste und float statt 2 Wagen.
- Danke. Als der Fehler tritt auf, in der die Anweisung ---> normalisiert = (trr-min(trr))/(max(trr)-min(trr)).Ich einfach gedruckt, der Typ von min(trr) und max(trr) und bekam-Typen als 'Liste' für beide.Aber was passiert ist ,bin ich immer die Fehlermeldung "unsupported operand type(s) für die Liste und die Liste" dieses mal, obwohl beide sind vom Typ "Liste"..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Einzug scheint gebrochen, und ich bin mir nicht sicher, wie man es beheben, aber, trotzdem, den Schlüssel-Zeile ist:
Klar,
trr
hier ist eine Liste (oder Sie wäre nicht auf der Suche nach Ihrermin
undmax
) noch Sie zu tun versuchen arithmetische drauf-nicht gut. Ich würde empfehlen:als am ehesten zu erreichen ist, was ich vermute, Sie haben in mind.
trr
wenn Sieprint
es? Auchprint type(base), base
direkt nach dem berechnen Sie es und lassen Sie es uns wissen. Ich dachte (Vermutungen, da Sie nicht sage uns:-) dastrr
ist eine Liste von zahlen, aber vielleicht ist es eine Liste von Listen oder etwas noch mehr teuflische -- show uns die Typen, die & Werte anstatt zwingen, uns zu erraten!