Master IBM 2011-2012
TP 1: Apprentissage Supervisé

Familiarisation avec les algorithmes vus en cours

La regression

1) Pour revenir sur la regression. Essayer cette Applet. ou celle là. Et celle-ci sur la regression et Algo Genétique.
Pour revenir sur la regression logistique voir . Sous R. Essayer la commande

> x <- c(1,2,3,4,5,6) # Create ordered collection
> y <- x^2 # Square the elements of x
> plot(y~x) # Plot the curve
> summary(lm(y ~ x)) # Fit a linear regression model
> lm(formula = y ~ x)
> par(mfrow=c(2, 2)) # Request 2x2 plot layout
> abline(model$coefficients[1],model$coefficients[2])
> plot(lm(y ~ x)) # Diagnostic plot of regression model

explorer le modèle linéaire généralisé (glm)

2) Pour voir la corrélation de Pearson. Une autre appler pour la corrélation. Un rappel sur l'annova ? Les t-test .

3) Pour revenir sur la PCA ou ACP.

Les arbres de décision

4) Explorer ce site sur les arbres de décisions et les applets.

5) Coder la base de données vue en cours tennis et tester en R avec le package rpart

5) Avec la même applet :

Les classeurs numériques

6) Coder la base donnée en cours et tester l'applet suivante Applet Réseau de neurones

7) Essayer l'applet des SVM

8) Une autre applet de SVM

9) Un ensemble d'Applet d'algorithme d'apprentissage et un cours.

10) Une applet sur le boosting

TP N°1

Classification supervisée et données puces – familiarisation avec les concepts vus en cours

# Import du package rpart
library(rpart)
ées
all_data_train <- cbind(data1_train, class_train) names(all_data_train) <- c(names(data1_train), "class")
all_data_test <- cbind(data1_test, class_test) names(all_data_test) <- c(names(data1_test), "class")
all_data <- rbind(all_data_train, all_data_test)
ldata <-all_data[ 1:nrow(all_data_train),] tdata <-all_data[-(1:nrow(all_data_train)),]

# Apprentissage du classeur
res.arbre <- rpart(class~., data=ldata,method="class")

# Prédiction sur les données de test
pred.arbre <- predict(res.arbre,tdata)

# Transfo de pred.arbre en un vecteur de ´Aª et ´Bª
pred.arbre.bis <- vector(mode="character",length=nrow(pred.arbre))
for (i in 1:nrow(pred.arbre)) {
pred.arbre.bis[i] <- colnames(pred.arbre)[pred.arbre[i,]>0.5]
}
# Pourcentage d'erreur de classification sur le jeu de donnÈes test

error.arbre <- 100-(100*sum(class_test==pred.arbre.bis)/nrow(class_test))
paste("Erreur pour l'arbre de décision est :",error.arbre)

Exercices :

Visualiser data1_train et data1_test en colorant les points en fonction de la classe

 Créer un classifieur sur les données d’apprentissage avecarbres de décision

Créer un classifieur sur les données d’apprentissage avec les méthodes LDA, QDA, KNN, svm, et boosting.

·     Utiliser chaque classifieur pour prédire la classe des données d’apprentissage et des données de test

·     Calculer le taux erreur de chaque méthode. Représenter ces résultats par un histogramme.

Pour lda et qda, utilisez les fonctions lda() et qda() dans le package « MASS ».

Pour KNN vous utilisez la fonction knn() avec K=3 (package class).

Pour svm, utiliser la fonction svm() du package « e1071 ». Tester un noyau linéaire, un noyau polynomial et un noyau gaussien (utiliser les options par défaut). Pour chaque classifieur, donnez le nombre de vecteurs de support.

Pour les arbres de décision, utiliser le package rpart.

Pour le boosting, utilisez la fonction adaboost.M1 () du package « adaboost ». Donner le taux d’erreur en fonction du nombre d’itérations (du fait du caractère aléatoire du boosting, lancer les analyses plusieurs fois).

Familiarisation avec R

L'initiation à R: Quick Tutorial
Le texte du TP/TD d'initiation à R

Si vous avez le temps, utilisation de Clémentine

1) Le programme Clementine est installé sur votre machine

2) Visualiser les différents flux de démos dont le nom commence par "Drug"

3) Construisez un flux clementine pour comparer les apprentissages sur la base du tennis

4) Charger la base de donnée PIMA et tentez de prédire la classe diabetes.

Concernant sed un lien

Cours sur l'apprentissage inductif.