Kaggle est le plus grand site de compétition de machine learning au monde. Titanic est une tâche semblable à un didacticiel.
Cette compétition prédit la vie et la mort des passagers du Titanic. https://www.kaggle.com/c/titanic/overview
Pour le moment, j'ai essayé et fait des erreurs jusqu'à ce que je franchisse la barrière des 80%. Je vais la présenter brièvement cette fois. Il y a un code à la fin (github)
Prédisez ce survécu. Les données du train sont de 892 pièces. Le nombre de données d'essai (données à soumettre) est de 417.
J'ai regardé d'autres noyaux et articles et essayé diverses choses.
** Sexe **, ** Embarqué **: Ce sont simplement des variables fictives. e.x.) Male -> 0, Female -> 1
** Classe P **: à utiliser comme 1, 2 et 3.
** FamilySize **: Calculez le nombre de membres de la famille avec SibSp + Parch. En utilisant FamilySize, nous avons créé des variables fictives sous la forme de familles simples (IsAlone), petites, moyennes et grandes.
** Titre ** (titre): extraire des informations telles que M., Mlle, Mme, etc. du nom. Je pensais que non seulement l'âge mais aussi le mariage pouvaient être extraits avec précision. Ce titre a été ajouté à la quantité d'entités en tant que variable factice.
** Ticket_ini **: extrait l'acronyme du ticket. Une variable factice a été créée en utilisant cet acronyme.
** n_same_ticket **: Combien de personnes ont le même numéro de billet? Les personnes ayant le même numéro de billet peuvent acheter des billets au même moment en famille ou entre amis. Par conséquent, il s'attendait à ce que les numéros de billets soient les mêmes. Réflexions personnelles) Avec SibSp et Parch, je ne peux obtenir que des informations sur la famille qui m'accompagnait, mais j'ai pensé que ce serait un avantage car je pourrais aussi obtenir des informations sur les amis qui étaient accompagnés. Référence) https://yolo-kiyoshi.com/2018/12/16/post-951/
** Cabin_ini **: extrait l'acronyme de Cabin. Convertissez ces informations d'acronyme en une variable factice.
Utilisez les 31 variables ci-dessus. 1 Pclass 2 Sex 3 Fare 4 n_same_ticket 5 Embarked_C 6 Embarked_Q 7 Embarked_S 8 Ticket_ini_1 9 Ticket_ini_2 10 Ticket_ini_3 11 Ticket_ini_A 12 Ticket_ini_C 13 Ticket_ini_Others 14 Ticket_ini_P 15 Ticket_ini_S 16 Ticket_ini_W 17 Title_Master. 18 Title_Miss. 19 Title_Mr. 20 Title_Mrs. 21 Title_Others 22 Cabin_Initial_B 23 Cabin_Initial_C 24 Cabin_Initial_D 25 Cabin_Initial_E 26 Cabin_Initial_N 27 Cabin_Initial_Others 28 IsAlone 29 Family_size_small 30 Family_size_mid 31 Family_size_big
Utilisez Random Forest. Les hyper paramètres ont été ajustés de manière appropriée et les valeurs prédites ont été moyennées par 10 formules de 10 fois. La division a utilisé la division k stratifiée.
J'ai également essayé d'utiliser LightGBM, XGBoost et Catboost. Cependant, le score public était meilleur pour la forêt aléatoire. (Est-ce un surapprentissage?) J'ai fait quelques modèles et essayé d'obtenir un ensemble, mais à la fin, Random forest seul était le MEILLEUR, donc Je suis allé avec ça.
À propos, les variables importantes de la forêt aléatoire étaient comme ça.
Github Je l'ai posté. Si vous voulez voir les détails, veuillez vérifier ici. Déplacez-le simplement et il devrait être précis à ** 80,861% **. https://github.com/taruto1215/Kaggle_Titanic
En fait, je participe à un cours de science des données au laboratoire Matsuo de l'Université de Tokyo appelé GCI2020summer. A cette époque, j'ai décidé de participer à la compétition Titanic. Je pense que ce sera environ 80% dans environ 2 jours, et je pense que ce sera terminé avec une précision de 78-9% d'ici la date limite. .. ..
J'étais déçu, alors j'ai continué à me remettre en question et j'ai atteint 80%. Je suis encore un débutant, donc si vous avez des conseils, n'hésitez pas à me contacter.
Recommended Posts