Mise en œuvre sur machine : RNs, C4.5, SVM

publicité
Centrale Executive - Cours Data Mining
Mise en œuvre sur machine :
RNs, C4.5, SVM, boosting, and Co
1.
Mise en œuvre de Perceptrons Multi-Couches en utilisant le logiciel
Weka
Dans Weka, l’algorithme des Perceptrons Multi-Couches est implanté dans le module ‘MultiLayerPerceptron’
(dans le menu function du menu classifiers). Nous allons tester ces PMC sur la base de données ‘letterCG.arff’, puis sur la base spiral.arff.
1. Dans votre répertoire, chargez (load) la base de données letterCG.arff. Vous la trouverez à
l’url :
http://www.agroparistech.fr/ufr-info/membres/cornuejols/Teaching/Erasmus-IT4BI/
datasets/letterCG.arff.
2. En utilisant l’outil de visualisation‘Visualize’ de Weka, familiarisez-vous avec les données.
Combien y a-t-il de descripteurs ? Quel est la cible ?
3. Utilisez l’apprentissage par Perceptron Multi-Couches sur la base de données. Essayez
différentes valeurs pour
– Le nombre de neurones sur la couche cachée (l’option a correspond à nombre de neurones
= (nb neurones en entrée + nb de neurones en sortie) / 2. )
– Le pas d’apprentissage (learningRate)
– le moment (momentum)
– Le nombre d’époques d’apprentissage (trainingTime)
Qu’observez-vous ?
Refaites la même chose pour la base spiral.arff. Quels sont vos résultats ? Est-ce que les paramètres
optimaux sont les mêmes ?
2.
Mise en œuvre des SVM en utilisant le logiciel Weka
Dans Weka, l’algorithme des SVM est implanté dans le module ‘SMO’ (dans le menu function).
Nous allons tester SMO sur les base de données letterCG.arff et ‘spirale.arff’.
1. En utilisant l’outil de visualisation‘Visualize’ de Weka, familiarisez-vous avec les données.
Pour chaque base, combien y a-t-il de descripteurs ? Quel est la cible ?
2. Utilisez SMO sur les base de données. Essayez différentes valeurs pour la la constante C
(qui contrôle la tolérance aux erreurs de classification) ; le type de fonction noyau (avec
leurs propres paramètres) ; le Type de filtre (un paramètre important).
Qu’observez-vous ?
Est-ce que les paramètres optimaux sont les mêmes pour les deux bases ?
3.
Comparaison plusieurs techniques de classification supervisée
Nous allons comparer plusieurs algorithmes d’apprentissage supervisé sur les base de données
‘spirale.arff’ et heart_disease.arff.
1
1. Dans votre répertoire, chargez (load) la base de données heart_disease.arff. Vous la trouverez à l’url :
http://www.agroparistech.fr/ufr-info/membres/cornuejols/Teaching/Erasmus-IT4BI/
datasets/heart\_disease.arff.
2. En utilisant l’outil de visualisation‘Visualize’ de Weka, familiarisez-vous avec les données.
Combien y a-t-il de descripteurs ? Quel est la cible ?
3. Nous allons comparer sur ces bases de données :
– L’algorithme d’inférence d’arbres de décision à un nœud DecisionStump.
– J48 qui est l’implémentation Weka de l’algorithme C4.5, l’un des algorithmes d’apprentissage d’arbres de décision les plus utilisés. Vous essaierez plusieurs valeurs pour les
paramètres ‘ConfidenceFactor (qui contrôle le niveau d’élagage : l’élagage est plus
prononcé avec des petites valeurs de ce paramètre) ; ‘minNumObj ’ (le nombre minimum
d’exemples par feuille) ; ‘unpruned’ (fait de l’élagage si mis à false).
– SMO. Vous avez déjà normalement fait des essais avec cet algorithme. Utilisez SMO aussi
sur la base de données heart_disease.arff.
Vous pourrez aussi utiliser, si le temps le permet, l’un ou les deux algorithmes suivants :
– ‘AdaBoostM1’. Un meta-algorithme qui peut utiliser n’importe lequel des classifieurs précédents comme classifieur faible. Le paramètre de contrôle est le nombre d’itérations.
Faites le varier pour voir comment cela influe sur le taux d’erreur en test.
AdaBoostM1 (dans le menu meta) avec DecisionStump comme classifieurs faibles. Mettre
‘debug = True’ afin de voir les poids des classifieurs faibles.
– ‘randomForest’. L’algorithme de forêts aléatoires qui est une forme de boosting avec
arbres de décision.
4. Résumez les résultats obtenus dans un tableau. Utilisez la validation croisée à 5 ou 10 plis.
Observez le taux d’erreur. Et regardez aussi la matrice de confusion.
5. Quelles sont vos conclusions sur l’utilisation des différents systèmes de classification supervisé ?
3.1
La base de données ‘optdiggits_0_8_9’
Observez bien la nature des données.
1. Combien y a t-il de descripteurs ?
2. Que décrivent-ils ?
3. Quel est le nombre de classes ? À quoi correspondent-elles ?
4. Si vous dessinez une lettre sur une matrice 8 × 8, que devraient être selon vous les descripteurs les plus importants pour reconnaître des lettres ?
5. Est-ce que cela est confirmé quand vous utilisez l’outil de visualisation ‘Visualize’ pour
étudier la distribution et la corrélation des descripteurs ?
6. À l’aide d’expériences avec les classifieurs étudiés, quelles sont les calsses les plus faciles à
discriminer, quelles sont celles qui posent le plus de problème ?
2
Téléchargement