A tutorial for cross-validation model with rattle

Transcription

A tutorial for cross-validation model with rattle
Université de Caen Basse-Normandie
1
2 novembre 2015
Département de Mathématiques et Mécanique
Validation croisée avec rattle
Sommaire
1.1
1.2
1.3
1.4
1.5
1.6
Objectifs . . . . . . . . . . . .
Description . . . . . . . . . .
Rattle . . . . . . . . . . . . .
Préparation des données . . .
Exploration . . . . . . . . . .
Modélisation . . . . . . . . .
1.6.1 Sélection de variables . .
1.6.2 Construction d’un modèle
1.7 Evaluation d’un modèle . . .
1.7.1 Matrice de confusion . . .
1.1
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
. .
. .
. .
. .
. . .
. . .
. .
. . .
1
1
2
2
2
2
2
2
3
3
Objectifs
Utilisez la bibliothèque ratlle de R [Williams(2011), R Core Team(2013)]
Références
[R Core Team(2013)] R Core Team. R: A Language and Environment for Statistical Computing.
R Foundation for Statistical Computing, Vienna, Austria, 2013.
URL
http://www.R-project.org/. 1.1
[Williams(2011)] Graham J. Williams. Data Mining with Rattle and R: The art of excavating data
for knowledge discovery. Use R ! Springer, 2011. 1.1
1.2
Description
Cette table concerne une étude sur une maladie du coeur. Plusieurs hôpitaux ont réalisé cette étude.
— Cleveland Clinic Foundation [R. et al.(1989)R., A., W., Pfisterer, M., S., K., S., and V]
— Hungarian Institute of Cardiology, Budapest
— V.A. Medical Center, Long Beach, CA
— University Hospital, Zurich, Switzerland
Elles ont été étudiées en 89 par le laboratoire Center for machine learning and intelligent systems
de l’université de californie Irvine. Un descriptif des bases de données peut être trouvée à
https://archive.ics.uci.edu/ml/datasets/Heart+Disease.
1
2
3
nom
age
sex
cp
type
quanti
quali
quali
4
trestbps
quanti
5
chol
quanti
6
fbs
quali
7
restecg
quali
8
9
thalach
exang
quanti
quali
10
oldpeak
quanti
11
slope
quali
12
ca
qualiordonne
13
thal
quali
label
modalités
chest pain type
resting blood pressure (in mm Hg
on admission to the hospital)
serum cholestoral in mg/dl
(fasting blood sugar > 120
mg/dl) (1 = true ; 0 = false)
resting electrocardiographic results
maximum heart rate achieved
exercise induced angina
ST depression induced by exercise relative to rest
the slope of the peak exercise ST
segment
number of major vessels (0-3) colored by flourosopy
thal: 3 = normal ; 6 = fixed defect ; 7 = reversable defect
http://www.math.unicaen.fr/~kauffman/cours
1
female ;male
asympt ;atyp angina ;non anginal ;typ angina
f ;t
left vent hyper ;normal ;st t wave abnormality
no ;yes
down ;flat ;up
0 ;1 ;2 ;3
fixed defect ;normal ;reversable defect
[email protected]
Université de Caen Basse-Normandie
14
Y
2 novembre 2015
Département de Mathématiques et Mécanique
normal ;malade
quali
Table 1: Catalogue des variables
Nous allons utiliser les données de l’hôpital de Cleveland. Elles sont disponibles au formats :
arff http://www.math.unicaen.fr/~kauffmann/data/heart-c.arff.
csv http://www.math.unicaen.fr/~kauffmann/data/heart-c.csv.
Elle comporte 303 lignes et 14 colonnes. Dans R on peut les lire avec les instructions suivantes :
DATA="http://www.math.unicaen.fr/~kauffman/data/"
X=foreign::read.arff(paste(DATA,"heart-c.arff",sep="")) # 303x14 cleveland
X=read.table(paste(DATA,"heart-c.csv",sep=""),sep=";",header=TRUE) # 303x14 cleveland
Références
[R. et al.(1989)R., A., W., Pfisterer, M., S., K., S., and V] Detrano R., Janosi A., Steinbrunn W., Pfisterer, Schmid J. M.,
Sandhu S., Guppy K., Lee S., and Froelicher V. International application of a new probability algorithm for the diagnosis
of coronary artery disease. American Journal of Cardiology, 64:304–310, 1989. 1.2
1.3
Rattle
L’interface graphique de rattle.
# testé avec la version 3.4.1
library(rattle)
rattle()
1.4
Préparation des données
1. Télécharger le fichier au format heart_for_rattle.csv, sélectionner la source des données depuis le menu Données
-> Nom du fichier au format csv, indiquer que le séparateur est la tabulation \t et faire Exécuter. Puis vérifier les
types des variables ainsi que leurs utilisations comme variables explicatives ou cible. Par défaut la variable cible est la
dernière colonne.
2. Le partitionnement est proposé par default, les proportions des bases apprentissage, validation test sont de 70/15/15.
3. On peut consulter ou modifier les données. L’option racine est la graine du générateur aléatoire.
1.5
Exploration
Depuis le menu Explorer
1. faire un résumé des variables, quelles sont les variables ayant au moins une valeur manquante.
2. Depuis le menu distribution réaliser des diagrammes de type boı̂tes à moustaches des variables quantitatives en fonction
de la variable cible.
3. Puis faire des diagrammes en bâtons des variables qualitatives en fonction de la variable cible.
4. Etudier les variables explicatives liées à la variable cible.
1.6
1.6.1
Modélisation
Sélection de variables
A l’aide des résultats obtenus sélectionner des variables liées à la variable cible.
1.6.2
Construction d’un modèle
Construire un modèle de type arbre de décision expliquant la variable cible.
http://www.math.unicaen.fr/~kauffman/cours
2
[email protected]
Université de Caen Basse-Normandie
1.7
1.7.1
2 novembre 2015
Département de Mathématiques et Mécanique
Evaluation d’un modèle
Matrice de confusion
Calculer la matrice de confusion et le taux d’erreur de classification pour les bases d’apprentissages, test et validation.
http://www.math.unicaen.fr/~kauffman/cours
3
[email protected]