[PYTHON] Erstausrüstung von Kaggle ~ Eine Zelle, die häufig verwendete Codes zusammenfasst ~

Einführung

Bei der Arbeit an Kaggle [^ Kaggle], einer Wettbewerbsplattform für Data Science, wurde Python [^ Python] in der Ausführungsumgebung Notebook [^ Notebook](oder Jupyter Notebook [^ Jupyter Notebook] oder Google Colaboratory [^ Google Colaboratory]) geschrieben. ], Ich denke, es gibt einen "Code, der häufig verwendet wird". Um dies wiederzuverwenden, werde ich es in einer Zelle als Format einführen, das ohnehin einfach zu kopieren und einzufügen ist. Wir hoffen, dass wir durch die Wiederverwendung des Inhalts dieser Zelle die Effizienz der Datenanalyse in Kaggle verbessern können. (Dies ist "Kaggles Erstausrüstung"!)

Fazit

Was ist Kaggles Erstausrüstung?

Diese Zelle!

Erstausrüstung von Kaggle ~ Eine Zelle, die häufig verwendete Codes zusammenfasst ~.py


#Notizbuch anzeigen
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

#Eine bequeme Sache
import tqdm
import warnings
warnings.simplefilter('ignore')

#Datenmanipulation
import numpy as np
import pandas as pd
pd.set_option('display.max_columns', None)

#Datenvisualisierung
import pandas_profiling as pdp
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()

#Vorverarbeitung
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import OneHotEncoder

#Gegenüberstellung
from sklearn.model_selection import StratifiedKFold

#Definition der Konstante
SEED = 2019
N_FOLDS = 10

#Geben Sie eine Liste der als Eingabe angegebenen Dateinamen aus
import os
for dirname, _, filenames in os.walk('/kaggle/input'):
    for filename in filenames:
        print(os.path.join(dirname, filename))

Kommentar

Ich werde jeden Punkt über die obigen Zellen erklären.

Notizbuch anzeigen

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

Notebook gibt keine Diagramme aus, die Sie in der Mitte einer Zelle ausgeben möchten (z. B. Pandas DataFrame). Bei Verwendung von "InteractiveShell" [^ InteractiveShell] werden alle Diagramme, die Sie in der Mitte der Zelle ausgeben wollten, mit der obigen Beschreibung ausgegeben. Es muss jedoch im Voraus in einer Zelle ausgeführt werden, die sich von der Zelle unterscheidet, in der die Ausgabe versucht wird. Mit anderen Worten, wenn Sie diese Zelle ausführen, wird sie in anderen Zellen angewendet.

Eine bequeme Sache

import tqdm
import warnings
warnings.simplefilter('ignore')

Bei der Datenanalyse gibt es einige Prozesse, die viel Zeit erfordern. Mit tqdm [^ tqdm] können Sie den Fortschritt des Prozesses in der Fortschrittsanzeige überprüfen. Möglicherweise werden auch Warnungen angezeigt, die sich nicht auf die Ausführung auswirken. Um dies zu ignorieren, verwenden Sie das Modul warnings [^ warnings], das die Anzeige von Warnungen übernimmt. Zeigen Sie die Warnung nicht an, indem Sie "warnings.simplefilter (" ignore ")" schreiben.

Datenmanipulation

import numpy as np
import pandas as pd
pd.set_option('display.max_columns', None)

Dies ist der Code, der standardmäßig in Kaggles Notizbuch geschrieben ist. Wir werden zwei wesentliche Module für die Datenanalyse verwenden, "numpy" [^ numpy] für die numerische Berechnung und "pandas" [^ pandas] für den Umgang mit Matrizen. Darüber hinaus legt die Beschreibung set_option ('display.max_columns', None) alle Spalten fest, die jederzeit angezeigt werden sollen.

Datenvisualisierung

import pandas_profiling as pdp
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()

Durch die Behandlung von "pandas_profiling" [^ pandas_profiling] können der Datentyp und die Verteilung der einzelnen Features, fehlenden Werte, Korrelationskoeffizienten usw. zusammen ausgegeben werden. Nützlich für die explorative Datenanalyse (EDA). matplotlib [^ matplotlib] ist eine Bibliothek zum Zeichnen von Diagrammen. Sie können schöne Diagramme zeichnen, indem Sie sie in Kombination mit seaborn [^ seaborn] verwenden, das als Wrapper fungiert. Die obige Visualisierung von Daten ist wichtig, um das Gesamtbild der Daten zu verstehen.

Vorverarbeitung

from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import OneHotEncoder

Selbst in der Vorverarbeitung kann mit "SimpleImputer" [^ SimpleImputer] der fehlende Wert mit einem der Durchschnittswerte (Mittelwert), dem Medianwert (Median) und dem häufigsten Wert (Modus) gefüllt werden.

Außerdem gibt es sklearn.preprocessing [^ sklearn.preprocessing] als ein Modul, das für die Vorverarbeitung implementiert ist. Die dazugehörigen Methoden können die Merkmalsskala standardisieren, indem sie "StandardScaler" [^ StandardScaler] als Vorverarbeitung für numerische Werte verwenden. Normalisieren Sie die Feature-Skala mit MinMaxScaler [^ MinMaxScaler]. Indem Sie LabelEncoder [^ LabelEncoder] als Vorverarbeitung für kategoriale Variablen verwenden, können Sie eine Zeichenfolge in eine numerisch ausgedrückte ID konvertieren. Sie können es mit OneHotEncoder [^ OneHotEncoder] in einen Vektor konvertieren.

Gegenüberstellung

from sklearn.model_selection import StratifiedKFold 

Eine Kreuzvalidierung wird durchgeführt, um ein Übertraining des Modells zu verhindern (Verbesserung der Generalisierungsleistung). Mit Stratified KFold [^ Stratified KFold], das die Überprüfung von geschichteten K-Split-Kreuzungen implementiert, können Sie die Daten für Training und Test aufteilen und die Genauigkeit des Modells überprüfen, während das Verteilungsverhältnis beibehalten wird. ..

Definition der Konstante

SEED = 2019
N_FOLDS = 10

Legen Sie im Voraus den Startwert der Pseudozufallszahl ("SEED") fest und legen Sie die Anzahl der Unterteilungen für die Schnittpunktüberprüfung ("N_FOLDS") fest. Durch Zuweisen dieser zu "StratifiedKFold", einer Funktion, die eine Kreuzvalidierung implementiert, bleibt die Reproduzierbarkeit der Validierung erhalten. Ein Beispiel ist unten gezeigt.

skf = StratifiedKFold(n_splits=N_FOLDS, random_state=SEED)

Geben Sie eine Liste der als Eingabe angegebenen Dateinamen aus

import os
for dirname, _, filenames in os.walk('/kaggle/input'):
    for filename in filenames:
        print(os.path.join(dirname, filename))

Dies ist der Code, der standardmäßig in Kaggles Notizbuch geschrieben ist. Dadurch wird zuerst der angegebene Dateiname überprüft.

abschließend

In diesem Artikel wird als "Erstausrüstung von Kaggle" "häufig verwendeter Code" in Notebook zusammengefasst und als eine Zelle eingeführt. Und ich erklärte die Punkte. Wenn Sie Anregungen oder Ratschläge haben, zögern Sie bitte nicht, uns zu kontaktieren.

(Hinzugefügt am 03. Dezember 2019) Es wurde im folgenden Artikel veröffentlicht! Vielen Dank!

Recommended Posts

Erstausrüstung von Kaggle ~ Eine Zelle, die häufig verwendete Codes zusammenfasst ~
Eine Klasse, die häufig verwendete Methoden in Twitter API (Python) zusammenfasst.