Titanic-Ml

Last updated: October 14th, 20192019-10-14Project preview

Titanic #2 - Construisons des modèles d'Intelligence Artificielle

1 - On ouvre nos données

In [1]:
import pandas as pa

On ouvre notre fichier CSV.

In [2]:
df = pa.read_csv("dataset.csv")

On mélange les lignes, pour être certains que l'ordre des individus par défaut dans le jeu de données ne soit pas un biais.

In [3]:
from sklearn.utils import shuffle
df = shuffle(df)

Affichons nos données. Ecrire ci-dessous le code pour afficher les 5 premières lignes. Qu'est-ce qui a changé dans les données par rapport à hier ?

In [ ]:
 

2 - On crée notre premier modèle

Etape 1 : Initialiser le modèle DecisionTreeClassifier avec sklearn. Cela nous permettra d’appeler le code du modèle qu’on va utiliser, à savoir l’abre de décision

In [5]:
from sklearn.tree import DecisionTreeClassifier
In [6]:
model = DecisionTreeClassifier()

Etape 2 : Préparer un jeu de données X et un jeu de données y. Le jeu de données X contient toutes les colonnes à l’exception de la données qu’on veut prédire, qui sera alors y. X contiendra alors plusieurs colonnes, et y une seule colonne.

In [10]:
y = df["Survived"]
y.head()
Out[10]:
187     1
168     0
911     0
399     1
1128    0
Name: Survived, dtype: int64
In [9]:
X = df.drop(["Survived"], axis=1)
X.head()
Out[9]:
PassengerId Age Class_1 Class_2 Class_3 Embarked_C Embarked_Q Embarked_S Fare Gender_female Gender_male Parch SibSp
187 188 45.0 1 0 0 0 0 1 26.550 0 1 0 0
168 169 28.0 1 0 0 0 0 1 25.925 0 1 0 0
911 912 55.0 1 0 0 1 0 0 59.400 0 1 0 1
399 400 28.0 0 1 0 0 0 1 12.650 1 0 0 0
1128 1129 20.0 0 0 1 1 0 0 7.225 0 1 0 0

Etape 3 : Entraîner le modèle en lui donnant en entrée X et y. L’étape la plus importante, c’est là que notre modèle va apprendre de nos données ! Bon, ici, ça ne prendra que quelques millisecondes.

In [11]:
model.fit(X, y)
Out[11]:
DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
                       max_features=None, max_leaf_nodes=None,
                       min_impurity_decrease=0.0, min_impurity_split=None,
                       min_samples_leaf=1, min_samples_split=2,
                       min_weight_fraction_leaf=0.0, presort=False,
                       random_state=None, splitter='best')

Etape 4 : Faire une prédiction à partir de nouvelles données. Ici, deux possibilités :

  • Soit on prend une ligne au hasard dans le jeu de données X, et on regarde ce que prédit le modèle
  • Soit on crée nous même une nouvelle ligne, avec des données choisies, et on regarde ce que prédit le modèle !
In [19]:
p = [[20000, 30, 1, 0, 0, 1, 0, 0, 50, 0, 1, 2, 0]]
In [20]:
model.predict(p)
Out[20]:
array([0])
In [ ]:
 
Notebooks AI
Notebooks AI Profile20060