Gestern erklärte die Datensatzverarbeitung mit Pandas, aber es ist eine Fortsetzung.
Eigentlich ist die Normalisierung in Bisherigen Artikeln beiläufig aufgetreten, aber ich glaube, ich habe sie nicht richtig erklärt.
** Normalisieren ** in der Statistik besteht darin, Daten aus verschiedenen Kriterien nach bestimmten Kriterien zu transformieren, um die Verwendung zu vereinfachen.
Angenommen, Sie haben 90 Punkte auf Japanisch und 70 Punkte auf Mathematik. Wenn Sie einfach die Zahlen vergleichen, erhalten Sie bessere Noten in der Landessprache. Was aber, wenn die durchschnittliche Punktzahl in der Landessprache 85 Punkte und die durchschnittliche Punktzahl in Mathematik 55 Punkte beträgt? Der Vorteil der Normalisierung besteht darin, dass Sie auf diese Weise Daten mit verschiedenen Kriterien vergleichen können.
Im Allgemeinen bedeutet dies, dass die Werte so konvertiert werden, dass der Mittelwert 0 und die Varianz (und Standardabweichung) 1 beträgt.
Dies kann mit der folgenden Formel berechnet werden.
Normalized(A(n)) = \frac {(A(n) - μ(A))} {\sigma(A)}
Das heißt, subtrahieren Sie den Durchschnitt und dividieren Sie durch die Standardabweichung. Dies ergibt einen Mittelwert von 0 und eine Standardabweichung von 1.
Am besten bewegen Sie Ihre Hände und sehen alles. Machen wir dasselbe mit Pandas.
Teilen Sie zunächst den Datenrahmen durch den Gesamtwert in Spaltenrichtung und normalisieren Sie ihn so, dass die Gesamtsumme 1 beträgt.
data.div(data.sum(1), axis=0)
(data - data.quantile(0.5).values) / (data.quantile(0.75)-data.quantile(0.25)).values
Logistische Konvertierung erstellt eine Variable, die einer Normalverteilung folgt, indem der Logarithmus der Variablen verwendet wird, die einer logarithmischen Normalverteilung folgt. Das ist.
Die logistische Konvertierung erleichtert das Organisieren und Ausdrücken kleiner und großer Zahlen.
Es ist möglicherweise einfacher zu verstehen, ob es im Code ausgedrückt wird.
data.apply(np.log)
Die Bewegungsrate (Anstiegsrate) ist ein numerischer Wert, der angibt, um wie viel sich der Wert gegenüber einem bestimmten Standardwert geändert hat.
pct_change () konvertiert den Wert des Datenrahmens in die Verschiebungsrate. Der zu beachtende Punkt ist, dass die erste Zahl keinen Präzedenzfall hat, daher ist die Bewegungsrate NaN. Die Bewegungsrate erschien auch beiläufig in Vorheriger Artikel.
data.T.pct_change().dropna(axis=0)
Wie ich gestern vorgestellt habe, können Sie eine Tabelle erstellen, indem Sie fehlende Werte löschen. Dies ist jedoch etwas verwirrend, da der erste Wert des Diagramms groß wird.
Es hängt nicht direkt mit der Verarbeitung des Datasets zusammen, aber es wäre praktisch, wenn die Ergebnisse der IPython-Versuche in eine Datei ausgegeben und gespeichert werden könnten. Wenn Sie die richtige Testversion erstellt haben, können Sie sie so wie sie ist als Skript verwenden. Sie kann wiederverwendet werden, z. B. indem Sie den Code aus dem Arbeitsverlauf extrahieren.
import readline
readline.write_history_file("history.py")
Dadurch wird der Verlauf des Codes, den Sie in IPython eingeben, als history.py gespeichert. Es ist sehr praktisch.
Auch dieses Mal haben wir verschiedene Prozesse zusammengefasst, die häufig bei der Verarbeitung von Datensätzen verwendet werden.
Recommended Posts