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]