[PYTHON] Versuchen Sie es mit Kaggle leicht maschinell

Dieser Artikel ist der Artikel zum 23. Tag von PONOS Adventskalender 2019. Kaggle_logo.png

Einführung

Dieser Artikel soll Ihnen einen schnellen Test des maschinellen Lernens ohne den Aufwand von Vorbereitungsarbeiten geben. Ich werde nicht auf detaillierte Methodenerklärungen oder Problemlösungsmethoden eingehen.

Registrieren Sie sich bei Kaggle

Registrieren wir uns zunächst unter Kaggle (Kaggle). Kaggle ist eine Plattform, auf der sich Datenwissenschaftler und Ingenieure für maschinelles Lernen auf der ganzen Welt Tag und Nacht rasieren. Die Ausführungsumgebung von Python wird im Web vorbereitet, und alle erforderlichen Bibliotheken und Lerndaten sind verfügbar, sodass Sie sie sofort ausprobieren können, ohne die Umgebung lokal zu erstellen.

Versuch mit Daten aus dem Untergang der Titanic

Bei Kaggle finden täglich Wettbewerbe statt, bei denen Sie verschiedene Daten berühren können. Dieses Mal verwenden wir Titanic: Maschinelles Lernen aus Katastrophen, das immer als Tutorial geöffnet ist und nicht als Wettbewerb. Mit diesem Wettbewerb soll anhand der Passagierliste der Titanic (Name, Alter, Geschlecht, Kabinenklasse usw.) festgestellt werden, ob ein Passagier ohne Überlebensinformationen überlebt hat und ob er als Trainingsdaten überlebt hat oder nicht.

Nimm am Wettbewerb teil

Sie können teilnehmen, indem Sie auf Wettbewerb anmelden klicken.

Machen Sie ein Notizbuch

Sie können es erstellen, indem Sie auf der Registerkarte Notizbücher auf Neues Notizbuch klicken. Gehen Sie zum Einstellungsbildschirm. Sie können die Standardeinstellung beibehalten. Drücken Sie einfach auf Erstellen.

Daten anzeigen

Schauen wir uns zunächst die zu lernenden Daten an. Löschen Sie den von Anfang an geschriebenen Code und schreiben Sie den folgenden Code.

cell1


import pandas as pd

Sie können den Inhalt dieser Zelle ausführen, indem Sie Strg + Eingabetaste drücken oder die Wiedergabetaste links drücken. Hier ändert sich nichts, da wir nur die Bibliothek laden. Drücken Sie den Code b oder + am unteren Rand der Zelle, um eine neue Zelle hinzuzufügen und den folgenden Code zu schreiben.

cell2


train = pd.read_csv('../input/titanic/train.csv')
test = pd.read_csv('../input/titanic/test.csv')
passenger_id = test.PassengerId #Zur Einreichung speichern
train.head(3)

Wenn Sie es ausführen und die Tabelle angezeigt wird, ist es erfolgreich. Dieses Mal werden wir Survived, Pclass, Sex, Age, SibSp, Parch, Fare, Embarked verwenden.

cell2


train = train.iloc[:, [1, 2, 4, 5, 6, 7, 9, 11]]
test = test.iloc[:, [1, 3, 4, 5, 6, 8, 10]]

Formatieren Sie die Daten

Zum Lernen werden numerische Daten benötigt, daher werden wir die Daten formatieren. Reparieren Sie zunächst den Datenverlust. Da train.Age, train.Embarked, test.Age und test.Fare fehlende Daten haben, füllen Sie diese mit guten Shioume-Nummern. Dieses Mal ist Embarked mit S gefüllt, und die anderen sind mit dem Medianwert gefüllt.

cell2


train.Age = train.Age.fillna(train.Age.median())
train.Embarked = train.Embarked.fillna('S')
test.Age = test.Age.fillna(test.Age.median())
test.Fare = test.Fare.fillna(test.Fare.median())

Als nächstes konvertieren Sie Sex und Embarked in Zahlen mit einer Hot-Codierung.

cell2


train = pd.get_dummies(train)
test = pd.get_dummies(test)

Konvertieren Sie schließlich Alter und Tarif in diskrete Werte. Da es numpy verwendet, wird die Bibliothek geladen.

cell1


import numpy as np

cell2


train.Age = np.digitize(train.Age, bins=[10, 20, 30, 40, 50])
train.Fare = np.digitize(test.Fare, bins=[10, 20, 30])
test.Age = np.digitize(train.Age, bins=[10, 20, 30, 40, 50])
test.Fare = np.digitize(test.Fare, bins=[10, 20, 30])

lernen

Dieses Mal werden wir einen zufälligen Wald verwenden. Es ist eine Methode, um leicht unterschiedliche Entscheidungsbäume zu lernen und diese zu mitteln. Laden Sie zuerst die Bibliothek (scikit-learn).

cell1


from sklearn.ensemble import RandomForestClassifier 

Trennen Sie die Überlebenden von den Trainingsdaten. Fügen Sie eine neue Zelle hinzu und schreiben Sie den folgenden Code.

cell3


X = train.iloc[:, 1:]
y = train.iloc[:, 1]

Nachdem die Trainingsdaten fertig sind, trainieren wir.

cell3


forest = RandomForestClassifier(n_estimators=5, random_state=0)
forest.fit(X, y)

Nachdem wir gelernt haben, werden wir anhand von Testdaten Vorhersagen treffen.

cell3


predictions = forest.predict(test)

Speichern Sie abschließend das Vorhersageergebnis in einer Datei.

cell3


submission = pd.DataFrame({ 'PassengerId': passenger_id, 'Survived': predictions })
submission.to_csv('submission.csv', index=False)

Bei Kaggle einreichen

Drücken Sie die Commit-Taste, um ein Popup-Fenster anzuzeigen. Klicken Sie auf die Schaltfläche Version öffnen, wenn Sie fertig sind. In der Spalte Ausgabe des neu geöffneten Bildschirms befinden sich die zuvor gespeicherte Datei submit.csv und die Schaltfläche An Wettbewerb senden. Drücken Sie sie also. Die Punktzahl wird angezeigt, wenn die Einreichung abgeschlossen ist. Ich denke, es wird ungefähr 0,76 sein (je näher es an 1 liegt, desto besser ist die Punktzahl).

Und zum eigentlichen Wettbewerb ...

Da ich diesmal versucht habe, wird der Lernteil hauptsächlich von der Bibliothek erledigt. Die eigentliche Schwierigkeit war überwiegend der Datenformteil (schwieriger, wenn Sie die Genauigkeit verbessern wollten). Diejenigen, die in dieser Art von Arbeit gut sind, möchten vielleicht den Weg des maschinellen Lernens beschreiten.

Recommended Posts

Versuchen Sie es mit Kaggle leicht maschinell
SVM versucht maschinelles Lernen mit Scikit-Learn
Maschinelles Lernen mit Pokemon gelernt
Versuchen Sie es mit TensorFlow
Maschinelles Lernen mit Python! Vorbereitung
Beginnend mit maschinellem Python-Lernen
Versuchen Sie, den Wechselkurs (FX) mit nicht tiefem maschinellem Lernen vorherzusagen
Maschinelles Lernen
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Lernen stärken 13 Probieren Sie Mountain_car mit ChainerRL aus.
[Maschinelles Lernen] Lassen Sie uns den Entscheidungsbaum studieren
Ich habe maschinelles Lernen mit liblinear versucht
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
Anfänger des maschinellen Lernens versuchen eine lineare Regression
Versuchen Sie Common Representation Learning mit Chainer
Quanteninspiriertes maschinelles Lernen mit Tensornetzwerken
Beginnen Sie mit dem maschinellen Lernen mit SageMaker
"Scraping & maschinelles Lernen mit Python" Lernnotiz
[Maschinelles Lernen] Starten Sie Spark mit iPython Notebook und probieren Sie MLlib aus
Empfehlung von Manga durch maschinelles Lernen Teil 1 Lassen Sie uns zunächst teilen, ohne über irgendetwas nachzudenken
Vorhersage des Strombedarfs durch maschinelles Lernen Teil 2
Verstärken Sie Bilder für maschinelles Lernen mit Python
[Maschinelles Lernen] Versuchen Sie, Spark MLlib mit Python auszuführen, und geben Sie Empfehlungen ab
Unausgeglichenes Datenlernen mit maschinellem Lernen k-NN
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
Ich habe versucht, mit Kaggles Titanic (kaggle②) zu lernen.
Eine Geschichte über maschinelles Lernen mit Kyasuket
Probieren Sie die Bitcoin-Preisprognose mit Deep Learning aus
Versuchen Sie es mit Chainer Deep Q Learning - Launch
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
[Shakyo] Begegnung mit Python zum maschinellen Lernen
[Python] Erste Datenanalyse / maschinelles Lernen (Kaggle)
Maschinelles Lernen mit Pytorch in Google Colab
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Aufbau einer KI / maschinellen Lernumgebung mit Python
Beispiel für maschinelles Lernen
Stärkung des Lernens 11 Probieren Sie OpenAI Acrobot mit ChainerRL aus.
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
Maschinelles Lernen beginnend mit Python Personal Memorandum Part2
Versuchen Sie, den Strombedarf durch maschinelles Lernen vorherzusagen
Maschinelles Lernen beginnend mit Python Personal Memorandum Part1
[Python] Datenanalyse, maschinelles Lernen (Kaggle) -Datenvorverarbeitung-
Ich habe mit der maschinellen Vorverarbeitung von Python Data begonnen
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Zusammenfassung des Lernprogramms für maschinelles Lernen
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Maschinelles Lernen Über Overlearning
Python lernen mit ChemTHEATER 05-1
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
Maschinelles Lernen unterstützt Vektormaschine
Python lernen mit ChemTHEATER 02
Lineare Regression des maschinellen Lernens