KaggleModel Module

Transformation des données.

Ce script permet de lire les données des deux fichiers train.csv, test.csv et de les transformer en matrics de flottants.

Conversion

Les données lues depuis ces deux fichiers sont sous formes de numpy.array de strings. On doit les convertir en float pour apprendre.

Les deux difficultés sont pour le port d’embarcation et le genre. On convertit : ‘male’ et ‘female’ en nombre (1 ou 0).

Seulement, pour ces attributs, le problème sous-jacent est de la classification (un passager est un homme OU une femme), pas de régression (un passager n’est pas 71% une femme...).

Malgré ça, le fait qu’il y a de nombreux autres attributs fait qu’on pourra quand même passer nos données à notre algorithme de classification, sans que la présence de deux attributs “catégoricaux” et non numériques ne le perturbe.

Source:doc de scikit-learn

Complétion

Le problème principal est le manque de certaines données.

Par exemple, 20% des passengers n’ont pas d’âge dans l’ensemble d’apprentissage.

Et quelques passengers n’ont pas de “prix de tickets” dans l’ensemble de test.

On completera donc simplement par la valeur moyenne de cet attribut. Cette valeur est calculée dans le script Kaggle.

KaggleModel.header = ['pclass', 'name', 'sex', 'age', 'sibsp', 'parch', 'ticket', 'fare', 'cabin', 'embarked']

Skip the fist line as it is a header

KaggleModel.table_sex = {'male': 1, 'female': 0}

Table of translation: strings -> float, for the gender

KaggleModel.table_embarked = {'Q': 2, 'C': 0, 'S': 1}

Table of translation: strings -> float, for the port

KaggleModel.train_data = array([[ 0. , 3. , 1. , ..., 2. , 0.0915427 , 1. ], [ 1. , 2. , 1. , ..., 1. , 0.05074862, 1. ], [ 0. , 2. , 1. , ..., 0. , 0.0239592 , 1. ], ..., [ 1. , 1. , 0. , ..., 0. , 0.10149724, 1. ], [ 1. , 1. , 0. , ..., 1. , 0.10735285, 1. ], [ 0. , 3. , 0. , ..., 0. , 0.01533038, 1. ]])

Then convert from a list to an array of float numbers !

KaggleModel.test_data = array([[ 3. , 1. , 0.43125 , ..., 0. , 0.01528158, 2. ], [ 3. , 0. , 0.5875 , ..., 0. , 0.01366309, 1. ], [ 2. , 1. , 0.775 , ..., 0. , 0.01890874, 2. ], ..., [ 3. , 1. , 0.48125 , ..., 0. , 0.01415106, 1. ], [ 3. , 1. , 0.37123897, ..., 0. , 0.01571255, 1. ], [ 3. , 1. , 0.37123897, ..., 1. , 0.0436405 , 0. ]])

Then convert from a list to an array of float numbers !

Table des matières

Cette page en .txt et en .pdf

Sujet précédent

Kaggle Module

Sujet suivant

KaggleStats Module