[PYTHON] Tag 68 [Einführung in Kaggle] Random Forest war einfach.

Als ich das letzte Mal in einem zufälligen Wald voraussagte, dass nur das Geschlecht als Modell diente, starben alle Männer und alle Frauen überlebten, was ein großartiges Ergebnis war. Tag 67 [Einführung in Kaggle] Haben Sie versucht, Random Forest zu verwenden?

Wer ist Random Forest?

Ich habe verschiedene Experimente versucht.

Erstellung von Gender- und Klassenmodellen

Fügen Sie dem Modell "P-Klasse" nur für das Geschlecht hinzu, das Sie zuletzt erstellt haben.

21.py


(Ausgelassen)
#Erstellen Sie einen Datenrahmen
#Geschlecht, Klasse
train_df = train_df.loc[:,['PassengerId','Survived','Sex','Pclass']]
test_df = test_df.loc[:,['PassengerId','Sex','Pclass']]
(das gleiche wie oben)

Infolgedessen verringerte sich die öffentliche Punktzahl: 0,75598. [Wikipedia der Titanic \ (Passagierschiff )](https://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4%E3%82%BF%E3%83%8B%E3% Bei 83% 83% E3% 82% AF_ (% E5% AE% A2% E8% 88% B9) ist es seltsam, dass die Sterblichkeitsrate von Klasse zu Klasse stark variieren sollte.

Von den Überlebenden und Todesfällen starben die meisten Passagiere, die die Kabine der dritten Klasse benutzten. Die Kabine der dritten Klasse ist unten in vorne und hinten unterteilt. Wenn sie sinkt, gehen die Passagiere in der vorderen Kabine entweder gerade nach oben oder durchschneiden den Rumpf und bewegen sich rückwärts, um zu entkommen. Dann gab es zwei Wege, um geradeaus zu gehen. Es gibt jedoch eine Theorie, dass die Tür verschlossen war, weil die erstere eine erstklassige Kabine direkt darüber hatte, und die einzige Methode der letzteren war die Ursache für die Zunahme der Todesfälle.

(Memo) Wenn die Kabine der dritten Klasse in einen vorderen und einen hinteren Raum unterteilt werden kann, können wir anscheinend eine Vorhersage treffen.

Überprüfen Sie das Modell nur für die Klasse

22.py


(Weggelassen)
#Erstellen Sie einen Datenrahmen
#Klasse
train_df = train_df.loc[:,['PassengerId','Survived','Pclass']]
test_df = test_df.loc[:,['PassengerId','Pclass']]
(das gleiche wie oben)

Public Score:0.65550

Es ging weiter runter. Möglicherweise wird das Nur-Klassen-Modell wie das Nur-Geschlecht-Modell in Nullen oder 1 gruppiert. Ich werde es prüfen.

Trainingsdaten

23.py


print(train_df.groupby(['Pclass','Survived']).count())

                 PassengerId
Pclass Survived             
1      0                  80
       1                 136
2      0                  97
       1                  87
3      0                 372
       1                 119

Testdaten

24.py


##Voraussichtliche Ergebnisse zur Bestätigung(submission)Fügen Sie eine Klasse hinzu.
submission['Pclass'] = test_df['Pclass'] 
print(submission.groupby(['Pclass','Survived']).count())
                 PassengerId
Pclass Survived             
1      1                 107
2      0                  93
3      0                 218

In den Trainingsdaten gab es Nullen und Einsen in der Klasse Die Testdaten (Vorhersageergebnis) werden als 0 oder 1 zusammengefasst.

Zufällige Wälder scheinen Vorhersagen für diejenigen mit mehr Trainingsdaten zusammenzustellen.

Überprüfen Sie das Geschlecht und das Klassenmodell

Trainingsdaten

25.py


print(train_df.groupby(['Sex','Pclass','Survived']).count())
                    PassengerId
Sex Pclass Survived             
0   1      0                  77
           1                  45
    2      0                  91
           1                  17
    3      0                 300
           1                  47
1   1      0                   3
           1                  91
    2      0                   6
           1                  70
    3      0                  72
           1                  72

Testdaten

26.py


#Voraussichtliche Ergebnisse zur Bestätigung(submission)Fügen Sie Geschlecht und Klasse hinzu.
submission['Sex'] = test_df['Sex'] 
submission['Pclass'] = test_df['Pclass'] 
print(submission.groupby(['Sex','Pclass','Survived']).count())
                     PassengerId
Sex Pclass Survived             
0   1      0                  57
    2      0                  63
    3      0                 146
1   1      1                  50
    2      1                  30
    3      0                  72

Die Variation der Trainingsdaten ist in den Testdaten zusammengefasst. Zufälliger Wald scheint im größeren zusammengesetzt zu sein.

Recommended Posts

Tag 68 [Einführung in Kaggle] Random Forest war einfach.
Tag 67 [Einführung in Kaggle] Haben Sie versucht, Random Forest zu verwenden?
[Einführung in Python3, Tag 23] Kapitel 12 Werden Sie Paisonista (12.1 bis 12.6)
Tag 66 [Einführung in Kaggle] Die einfachste Titanic-Vorhersage
Einführung in das maschinelle Lernen mit Simple Perceptron
Ich kann nicht schlafen, bis ich einen Server erstellt habe !! (Einführung in den Python-Server an einem Tag)
Eine super Einführung in Linux
[Einführung in Python3 Tag 1] Programmierung und Python
[Einführung in Python3 Tag 13] Kapitel 7 Zeichenfolgen (7.1-7.1.1.1)
[Einführung in Python3 Tag 14] Kapitel 7 Zeichenfolgen (7.1.1.1 bis 7.1.1.4)
[Einführung in Python3 Tag 15] Kapitel 7 Zeichenfolgen (7.1.2-7.1.2.2)
Eine leichte Einführung in die Objekterkennung
[Einführung in Python3 Tag 21] Kapitel 10 System (10.1 bis 10.5)
Django TemplateDoesNotExist at / is out! (Einfach, aber süchtig nach einem halben Tag!)
Möchten Sie ein einfaches Klassifizierungsproblem lösen?
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.1-8.2.5)
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.3-8.3.6.1)
Python Bit Arithmetic Super Einführung
[Einführung in Python3 Tag 19] Kapitel 8 Datenziele (8.4-8.5)
Ein einfaches IDAPython-Skript zum Benennen einer Funktion
[Einführung in Python3 Tag 18] Kapitel 8 Datenziele (8.3.6.2 bis 8.3.6.3)
Einführung in discord.py (1. Tag) -Preparation for discord.py-
Eine Einführung in die Objektorientierung - Geben Sie einem Objekt ein Kind.
Kaggle: Einführung in das manuelle Feature Engineering Teil 1
Ein Anfänger des maschinellen Lernens versuchte an einem Tag, eine Sheltie-Urteils-KI zu erstellen