[PYTHON] Analyse des données Titanic 1

Aidemy 2020/10/30

introduction

Bonjour, c'est Yope! Je suis une école littéraire croustillante, mais j'étais intéressé par les possibilités de l'IA, alors je suis allé à l'école spécialisée en IA "Aidemy" pour étudier. Je voudrais partager les connaissances acquises ici avec vous, et je les ai résumées dans Qiita. Je suis très heureux que de nombreuses personnes aient lu l'article de synthèse précédent. Merci! Ceci est le premier article de "Data Analysis Titanic". Ravi de vous rencontrer.

Quoi apprendre cette fois ・ Confirmation du flux du modèle de prédiction des survivants du Titanic ・ ② Acquisition de données d'entraînement / données de test ・ ③ Mise en forme, création, nettoyage des données ・ ④ Analyse de modèle, analyse de données (certaines seront faites la prochaine fois)

Prédiction du survivant du Titanic

Flux de prévision

① Question que vous souhaitez clarifier, __Définition du problème __ ② __ Acquisition de données d'entraînement / données de test __ ③ __ Mise en forme, création, nettoyage des données __ ④ __ Analyse de modèles __, spécifique et exploratoire __ analyse des données __ ⑤ Problème modélisation, prédiction, solution ⑥ Rapportez les étapes de résolution des problèmes et la solution finale visualisation

① Questions à clarifier, définition des problèmes

・ Cette fois, nous allons construire un modèle de prédiction pour __ "Titanic Survivor Prediction" __. Un site appelé "Kaggle" organise quelque chose comme __ "concours" __ "vente aux enchères de modèles" __, qui est l'un des défis. -Dans Kaggle, __ les données d'entraînement aux tâches sont transmises __. Je vais aussi l'utiliser cette fois.

・ À propos de la définition du problème -Les données d'entraînement reçoivent cette fois les __ étiquettes «données passagers» __ et __ «survie / décès» __, et les données d'essai ne sont pas étiquetées. ・ En appliquant le modèle construit à ces données de test, la condition des passagers peut être prédite.

② Acquisition des données d'entraînement / données de test

-L'acquisition des données est effectuée avec __ "pd.read_csv ()" __. -Aussi, afin de décider quel montant de fonctionnalité (variable) utiliser comme ensemble de données, vérifiez __data feature amount (variable) avec Pandas __. Pour ce faire, regardez simplement le nom __column de train_df, donc sortez avec __ "train_df.columns.values" __. -Aussi, afin de vérifier quel type de données est inclus, __ affiche les premières et dernières lignes des données __. Cela peut être confirmé avec __ "head () / tail ()" __.

·code スクリーンショット 2020-10-21 16.45.43.png

・ Résultat de sortie (partie seulement) スクリーンショット 2020-10-21 16.48.21.png

・ À propos de chaque montant de fonction ・ Survived: Avez-vous survécu? "0" est Oui / "1" est Non ・ Pclass: Grade de siège "1"> "2"> "3" ・ Sex: Genre ・ Age: Âge -__ Sibsp__: Nombre de frères / conjoints à bord ・ Pars: Nombre de parents / enfants / petits-enfants à bord ・ Ticket: numéro d'embarquement ・ Fare: Frais d'embarquement ・ Cabin: numéro de chambre ・ Embarked: Nom du port de départ

③ Mise en forme, création, nettoyage des données

Types de fonctionnalités

-Il y a __ "valeur de catégorie" __ et __ "valeur numérique" __ dans la quantité de caractéristiques.

Valeur de la catégorie

-__ La valeur de la catégorie __ est une quantité de caractéristiques qui ne prend que __ 'chaîne de caractères' __ ou __ 'valeur numérique fixe' __. Ils sont appelés respectivement __ "données nominales" __ et __ "données de commande" __. -Sur les quantités de caractéristiques confirmées dans la section précédente, les données nominales seront __ "Survived", "Sex" et "Embarked" __. (Survived indique "Oui / Non") -Les données de commande seront __ "classe P" __ indiquant l'ordre des valeurs numériques fixes "1,2,3".

Valeur numérique

-Les données numériques sont divisées en __ "données discrètes" __ et __ "données continues" __. -Dans ces données, les données discrètes sont __ "Sibsp" "Parch" __, et les données continues sont __ "Age" "Fare" __.

Nombre de valeurs manquantes

-Ensuite, afin de traiter la valeur manquante, il est confirmé s'il y a une valeur manquante dans les données __ et le montant de la fonctionnalité dans __. -Vérifiez avec __ "info ()" __ pour voir s'il y a des valeurs manquantes dans les données. -En regardant le code de sortie, __ et "RangeIndex" __ sont 891, donc vous pouvez voir qu'il y a 891 données au total. Ici, lorsque l'on regarde chaque quantité de caractéristiques, si le nombre est inférieur à 891, cela signifie que la valeur manquante est incluse par ce montant __. (Par exemple, puisqu'il n'y a que 714 âges, 177 sont des valeurs manquantes) -Puisque train_df et test_df contiennent des valeurs manquantes dans __ "Age", "Fare" et "Cabin" __, ③ complètera ces valeurs manquantes.

・ Résultat (seulement une partie)![Screenshot 2020-10-22 12.03.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/6cbc8d9a -4d5c-9690-66d5-dc011ea9c77b.png)

Vérifier les données en double

-__ Si les données sont dupliquées, elles doivent être supprimées __. Vérifiez s'il y a des doublons avec __ "describe ()" __. -En spécifiant __ "include = ['O']" __ dans l'argument, des informations sur les données d'objet peuvent être affichées. Plus précisément, __ "count (nombre de données)" "unique (nombre de données après déduplication)" "top (la plupart des données)" "freq (nombre de tops)" __ s'affiche. -Ici, nous voulons connaître le nombre de données en double, donc nous pouvons regarder le nombre de __ "unique" __.

・ Résultat![Capture d'écran 2020-10-22 12.00.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/f76f4fba-d6ae-5533- 74a9-f7d167454090.png)

③ Politique ultérieure

・ À partir de là, nous allons construire un modèle en utilisant ces données, mais nous considérerons la politique à ce moment-là à partir des données que nous avons vues jusqu'à présent __. ・ Il y a __7 __ choses qui constitueront la politique (cible) en ce moment. __ "Catégorie" "Corrélation" "Conversion" "Complément" "Modifier" "Créer" "Graphique" __. À ce propos, nous examinerons "comment faire pour quel montant de fonctionnalité".

-__ Corrélation __: Le modèle prédit si le passager a survécu ou non, c'est-à-dire __ «a survécu» __. _ Examinez la corrélation __ pour analyser comment d'autres fonctionnalités affectent Survived.

-__ Achèvement __: L'achèvement des données est priorisé par rapport à celui avec la corrélation la plus forte __ (pour celui avec l'interphase la plus faible, il est préférable d'effectuer la correction suivante). Cette fois, il est complété par __ "Âge" et "Embarqué" __.

· __Modifier __: survécu et __ exclure ceux qui sont manifestement peu susceptibles de corréler __. __ «Passenerld» et «Name» __ sont des données permettant d'identifier les passagers, il est donc indifférent qu'ils aient survécu ou non, ils sont donc exclus. De plus, __ "Ticket" __ peut être exclu car il a un taux de duplication __ élevé et peut ne pas être en corrélation avec Survived. __ "Cabin" __ a un grand nombre de valeurs manquantes __, il peut donc être supprimé.

-__ Créer __: Créez un nouveau montant de fonction en __ divisant ou en extrayant le montant de fonction. Cette fois, nous allons créer un nouveau montant de caractéristiques appelé __ "Taille de la famille" __ pour les montants de caractéristiques "Parch" et "Sibsp" du même système. De plus, étant donné que les données continues «Âge» et «Tarif» sont plus faciles à prédire si elles sont converties en données __discrètes, créez une nouvelle quantité d'entités __ divisée en spécifiant la plage __.

-__ Classification __: La __vibility du Titanic est considérée comme élevée pour les «enfants», «femmes» et «étages supérieurs (classe supérieure)». En regardant les données basées sur cette hypothèse, __ "Sex = Female" "Age <?" "P class = 1" __ est susceptible d'être __ "Survived = 1" __.

④ Analyse de modèles, analyse de données

Agrégation des quantités de caractéristiques (corrélation)

-Utiliser __ "tableau croisé dynamique" __ lors de l'agrégation et de l'analyse d'une grande quantité de données comme cette fois. -Le tableau croisé dynamique ne peut être fait qu'avec des données qui ne contiennent pas __valeurs manquantes __Autres, __ "Valeur de catégorie, données de commande, données discrètes" __ Il est souhaitable de le faire. -En tant qu'analyse, __corrélation entre les quantités de caractéristiques est analysée __.

Pclass (données de commande) et création de tableau croisé dynamique Survived

・ Tout d'abord, la description du code スクリーンショット 2020-10-22 13.18.20.png

-Dans la partie de "__train_df [[" Pclass "," Survived "]] __", l'élément __ de la table à créer cette fois est spécifié à partir de la colonne train_df __.

-Résultat de sortie![Capture d'écran 2020-10-22 13.34.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/acedde96-9196-039e -a1a4-7787402d5c26.png)

・ Faites de même pour __ "Sex", "Parch" et "SibSp" __.

Sommaire

-La première chose à faire lors de la création d'un modèle pour prédire le taux de survie du Titanic est d'acquérir des données. -Une fois les données acquises, vérifiez s'il y a des valeurs manquantes ou des doublons pour n la prochaine fois que les données sont formatées. ・ À partir des données jusqu'à présent, considérez la politique à partir de la prochaine fois. Commencez par la partie "corrélation". Pour la corrélation, considérons la corrélation avec «Survived», qui est l'étiquette d'enseignant du modèle.

Cette fois, c'est fini. Merci d'avoir lu jusqu'à la fin.

Recommended Posts

Analyse des données Titanic 2
Analyse des données Titanic 1
Analyse des données Titanic 3
Analyse de données python
J'ai essayé l'analyse factorielle avec des données Titanic!
Analyse des données avant la génération de fonctionnalités titanesques de Kaggle
Analyse de données avec python 2
Analyse des données à l'aide de xarray
Présentation de l'analyse de données python
Modèle d'analyse de données Python
Analyse de données avec Python
J'ai essayé d'analyser les principaux composants avec les données du Titanic!
Mon conteneur d'analyse de données python
Xarray de bibliothèque d'analyse de données multidimensionnelle
Python pour l'analyse des données Chapitre 4
[Python] Notes sur l'analyse des données
Notes d'apprentissage sur l'analyse des données Python
Python pour l'analyse des données Chapitre 2
Wrap Analysis part1 (préparation des données)
Analyse de données à l'aide de pandas python
Conseils et précautions lors de l'analyse des données
Python pour l'analyse des données Chapitre 3
Analyse des données Twitter | Analyse des tendances
Faisons l'analyse des données de naufrage du Titanic comme ça
Première analyse de données satellitaires par Tellus
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
Concours de prédiction de données en 3 étapes (titanesque)
Modèle de prétraitement pour l'analyse des données (Python)
Expérience de réussite du test d'analyse des données de la version de novembre 2020
Analyse de données pour améliorer POG 3 ~ Analyse de régression ~
Recommandation d'analyse des données à l'aide de MessagePack
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
Analyse de données à partir de python (visualisation de données 1)
Analyse de données à partir de python (visualisation de données 2)
Traitement des données 2 Analyse de divers formats de données
Bibliothèque d'analyse de données multidimensionnelle xarray Partie 2
Visualisation et analyse des informations de localisation des données Twitter Stava
Outil de visualisation Python pour le travail d'analyse de données
Vérifiez les données brutes avec Kaggle's Titanic (Kaggle ⑥)
Analyse des données, que faites-vous après tout?
Le traitement des données
[Python] Première analyse de données / apprentissage automatique (Kaggle)
Création d'une application d'analyse de données à l'aide de Streamlit
Analyse parabolique
Analyse de données à partir de python (pré-traitement des données-apprentissage automatique)
[Analyse des données] Analysons les actions automobiles américaines
J'ai suivi une formation à l'analyse de données Python à distance
Environnement d'analyse de données centré sur Datalab (+ GCP)
Préparation à l'examen d'analyse de données certifié Python 3 Engineer
Prétraitement dans l'apprentissage automatique 1 Processus d'analyse des données
JupyterLab Basic Setting 2 pour l'analyse des données (pip)
Configuration de base de JupyterLab pour l'analyse des données (pip)
Analyse des données pour améliorer POG 2 ~ Analyse avec le notebook jupyter ~
Préparer un environnement de langage de programmation pour l'analyse des données
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: chargement des données
Test d'analyse des données de certification d'ingénieur Python3
Formation préalable à l'examen d'analyse des données de certification d'ingénieur Python 3