La dernière fois, quand j'ai prédit dans une forêt aléatoire en utilisant uniquement le sexe comme modèle, tous les hommes sont morts et toutes les femmes ont survécu, ce qui était un excellent résultat. Jour 67 [Introduction à Kaggle] Avez-vous essayé d'utiliser Random Forest?
J'ai essayé diverses expériences.
Ajoutez «classe P» au modèle uniquement pour le sexe que vous avez créé la dernière fois.
21.py
(Omis)
#Créer un Dataframe
#Sexe, grade
train_df = train_df.loc[:,['PassengerId','Survived','Sex','Pclass']]
test_df = test_df.loc[:,['PassengerId','Sex','Pclass']]
(comme ci-dessus)
En conséquence, le «Score public: 0,75598» ... a diminué. [Wikipédia du Titanic \ (navire à passagers )](https://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4%E3%82%BF%E3%83%8B%E3% En ce qui concerne 83% 83% E3% 82% AF_ (% E5% AE% A2% E8% 88% B9)), il est étrange que le taux de mortalité varie considérablement d'une classe à l'autre.
Parmi les survivants et les morts, la plupart des passagers ayant utilisé la cabine de troisième classe sont décédés. La cabine de troisième classe est divisée en avant et arrière en bas, et quand elle coule, les passagers de la cabine avant montent tout droit ou traversent la coque et reculent pour s'échapper. Ensuite, il y avait deux façons d'aller tout droit. Cependant, il existe une théorie selon laquelle le premier avait une cabine de première classe directement au-dessus, de sorte que la porte était verrouillée, et la dernière méthode était la seule raison de l'augmentation des décès.
(Mémo) Si la cabine de troisième classe peut être divisée en une pièce avant et une pièce arrière, il semble que l'on puisse faire une prédiction.
22.py
(Omis)
#Créer un Dataframe
#classe
train_df = train_df.loc[:,['PassengerId','Survived','Pclass']]
test_df = test_df.loc[:,['PassengerId','Pclass']]
(comme ci-dessus)
Public Score:0.65550
Il est allé plus loin. Peut-être, comme le modèle de genre uniquement, le modèle de classe uniquement est groupé en 0 ou 1. Je vais vérifier.
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
24.py
##Résultats prévus pour confirmation(submission)Ajoutez une classe à.
submission['Pclass'] = test_df['Pclass']
print(submission.groupby(['Pclass','Survived']).count())
PassengerId
Pclass Survived
1 1 107
2 0 93
3 0 218
Dans les données d'entraînement, il y avait des 0 et des 1 dans la classe Les données de test (résultat de la prédiction) sont résumées par 0 ou 1.
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
26.py
#Résultats prévus pour confirmation(submission)Ajoutez le sexe et la classe à.
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
La variation des données d'entraînement est résumée dans les données de test. La forêt aléatoire semble être réunie dans la plus grande.
Recommended Posts