Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Table des matières
KNN et Titanic
Base de données utilisée
Une base de données nous fournit toutes les informations connues concernant les passagers à bord du Titanic, lors de son naufrage en avril 1912.
Voici un aperçu du fichier titanic.train.csv, seulement les 10 première lignes.
Le séparateur utilisé dans le fichier csv est ,.
| PassengerId | Survived | Pclass | Name | Sex | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 3 | Braund, Mr. Owen Harris | male | 22 | 1 | 0 | A/5 21171 | 7.25 | S | |
| 2 | 1 | 1 | Cumings, Mrs. John Bradley (Florence Briggs Thayer) | female | 38 | 1 | 0 | PC 17599 | 71.2833 | C85 | C |
| 3 | 1 | 3 | Heikkinen, Miss. Laina | female | 26 | 0 | 0 | STON/O2. 3101282 | 7.925 | S | |
| 4 | 1 | 1 | Futrelle, Mrs. Jacques Heath (Lily May Peel) | female | 35 | 1 | 0 | 113803 | 53.1 | C123 | S |
| 5 | 0 | 3 | Allen, Mr. William Henry | male | 35 | 0 | 0 | 373450 | 8.05 | S | |
| 6 | 0 | 3 | Moran, Mr. James | male | 0 | 0 | 330877 | 8.4583 | Q | ||
| 7 | 0 | 1 | McCarthy, Mr. Timothy J | male | 54 | 0 | 0 | 17463 | 51.8625 | E46 | S |
| 8 | 0 | 3 | Palsson, Master. Gosta Leonard | male | 2 | 3 | 1 | 349909 | 21.075 | S | |
| 9 | 1 | 3 | Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) | female | 27 | 0 | 2 | 347742 | 11.1333 | S | |
| 10 | 1 | 2 | Nasser, Mrs. Nicholas (Adele Achem) | female | 14 | 1 | 0 | 237736 | 30.0708 | C |
L'information qui nous intéressera particulièrement est Survived qui vaut 1 quand l'individu a survécu et 0 sinon.
SibSp = Sibling - Spouse et Parch = Parent - Children, ensemble ces deux colonnes désignent le nombre de membres de la famille également passagers
Embarked désigne le port d'embarquement parmi Southampton, Cherbourg, Queenstown
Pclass désigne la classe, 1ere, 2e ou 3e
Pour vous faire une idée, aspect du fichier titanic.train.csv (quelques lignes)
PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked 1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S 2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C 3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S 4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S 5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S 6,0,3,"Moran, Mr. James",male,0,0,0,330877,8.4583,,Q 7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S 8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S 9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S
Objectif
Soit un individu non présent dans le fichier précédent, pour lequel on a toutes les informations sauf celle concernant sa survie. On souhaite, sur la base des informations contenues dans titanic.train.csv, deviner si cet individu a survécu ou non.
Il faut répéter cette manœuvre sur les individus de titanic.test.csv qui est un fichier semblable au précédent mais sans la colonne Survived.
Pour vous faire une idée, aspect du fichier titanic.test.csv (quelques lignes)
PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked 892,3,"Kelly, Mr. James",male,34.5,0,0,330911,7.8292,,Q 893,3,"Wilkes, Mrs. James (Ellen Needs)",female,47.0,1,0,363272,7.0,,S 894,2,"Myles, Mr. Thomas Francis",male,62.0,0,0,240276,9.6875,,Q 895,3,"Wirz, Mr. Albert",male,27.0,0,0,315154,8.6625,,S 896,3,"Hirvonen, Mrs. Alexander (Helga E Lindqvist)",female,22.0,1,1,3101298,12.2875,,S 897,3,"Svensson, Mr. Johan Cervin",male,14.0,0,0,7538,9.225,,S 898,3,"Connolly, Miss. Kate",female,30.0,0,0,330972,7.6292,,Q 899,2,"Caldwell, Mr. Albert Francis",male,26.0,1,1,248738,29.0,,S 900,3,"Abrahim, Mrs. Joseph (Sophie Halaut Easu)",female,18.0,0,0,2657,7.2292,,C
Méthode
Je vous propose d'utiliser un algorithme KNN qui sélectionnera les données qui vous semblent pertinentes dans titanic.train.csv, les ajuste éventuellement et qui permettra de déterminer pour un individu inconnu dont on ne sait pas la valeur de l'attribut Survived à quelle classe il appartient.
Par classe, comprenez survivant (Survived = 1) ou non survivant (Survived = 0)
Vérification
Je vous fournit le fichier test avec sa colonne Survived ce qui vous permettra de voir à quel point votre algorithme a deviné juste.
On peut aussi se contenter du fichier ne contant que la colonne Survived pour les mêmes individus :
