[PYTHON] Le jour 68 [Introduction à Kaggle] Random Forest était simple.

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?

Qui est Random Forest?

J'ai essayé diverses expériences.

Création de modèles de genre et de classe

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.

Vérifiez le modèle uniquement pour la classe

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.

Données d'entraînement

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

données de test

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.

Random forest semble rassembler des prédictions pour ceux qui ont plus de données d'entraînement.

Vérifier le modèle de genre et de classe

Données d'entraînement

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

données de test

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

Le jour 68 [Introduction à Kaggle] Random Forest était simple.
Jour 67 [Introduction à Kaggle] Avez-vous essayé d'utiliser Random Forest?
[Introduction à Python3, Jour 23] Chapitre 12 Devenir un Paisonista (12.1 à 12.6)
Jour 66 [Introduction à Kaggle] Les prévisions Titanic les plus faciles
Introduction à l'apprentissage automatique à partir de Simple Perceptron
Je ne peux pas dormir tant que je n'ai pas construit un serveur !! (Introduction au serveur Python faite en un jour)
Une super introduction à Linux
[Introduction à Python3 Jour 1] Programmation et Python
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python3 Jour 14] Chapitre 7 Chaînes de caractères (7.1.1.1 à 7.1.1.4)
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
Une introduction légère à la détection d'objets
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)
Django TemplateDoesNotExist at / est sorti! (Simple mais accro à une demi-journée!)
Vous voulez résoudre un problème de classification simple?
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
Super Introduction Arithmétique Bit Python
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
Un simple script IDAPython pour nommer une fonction
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
Introduction à discord.py (1er jour) -Préparation pour discord.py-
Une introduction à l'orientation des objets - Donnez à un objet un enfant.
Kaggle: Introduction à l'ingénierie manuelle des fonctionnalités, partie 1
Un débutant en apprentissage automatique a tenté de créer une IA de jugement Sheltie en un jour