[PYTHON] Intelligentes Schreiben beim Hinzufügen von Statistiken zum maschinellen Lernen als Funktionen

Auf diese Weise wird Code geschrieben, der eine Statistik in Zeilenrichtung numerischer Daten als Merkmalsgröße generiert.

Generierung gemeinsamer Funktionsmengen

Zuallererst, wie man gut schreibt

#Wie man eins nach dem anderen hinzufügt
df["sum"] = df.sum(axis=1)
df["max"] = df.max(axis=1)
df["min"] = df.min(axis=1)
df["mean"] = df.mean(axis=1)
df["median"] = df.median(axis=1)
df["mad"] = df.mad(axis=1)
df["var"] = df.var(axis=1)
df["std"] = df.std(axis=1)
df["skew"] = df.skew(axis=1)
df["kurt"] = df.kurt(axis=1)

df.head()

Dies ist in Ordnung, fühlt sich jedoch angesichts der Erweiterbarkeit und Wartung etwas unangenehm an.

Intelligente Feature-Generierung

func_list =["sum", "max", "min", "mean", "median", "mad",
            "var", "std", "skew", "kurt"]

for func in func_list:
    df[func] = df.apply(func, axis=1)
    

Die Lambda-Funktion kann ebenfalls verwendet werden

f_diff = lambda x: df["xxx"]-df["yyy"]

func_list =["sum", "max", "min", "mean", "median", "mad",
            "var", "std", "skew", "kurt", f_diff]

for func in func_list:
    df[func] = df.apply(func, axis=1)
    

Beim maschinellen Lernen gibt es viele Ad-hoc-Experimente, so dass "Verwerfen" -Code in der Regel in Massenproduktion hergestellt wird.

Das Schreiben von Code, der so sauber wie möglich ist, erleichtert die Wiederverwendung und ist erweiterbarer.

Recommended Posts

Intelligentes Schreiben beim Hinzufügen von Statistiken zum maschinellen Lernen als Funktionen
Beim Hinzufügen von sehr unabhängigen Funktionen
Einführung in das maschinelle Lernen Schreiben von Notizen
[Python] Wenn ein Amateur mit dem maschinellen Lernen beginnt
Maschinelles Lernen
Maschinelles Lernen des Sports - Analyse der J-League als Beispiel - ②
[Hinweis] Python beim Starten von maschinellem Lernen / Deep Learning [Links]