Benharratharijtp2 classification
-
Author
arij-benharrath -
Category
Data & Analytics
-
view
236 -
download
0
Embed Size (px)
Transcript of Benharratharijtp2 classification
-
Data Mining
[email protected] ESPRIT2013-2014
TP n2 : Mthodes de classification
Ben harrath arij 4infini
Note
Ce TP est rendre en fin de sance.
NB : Noublier pas de mentionner vos interprtations et constatations aprs chaque rsultat
Objectifs gnraux
Dans ce TP, nous allons appliquer les mthodes de
classification sur des chantillons de donnes.
Objectifs spcifiques
Importer les donnes
Raliser quelques statistiques descriptives sur les variables actives ;
Centrer et rduire les variables
Raliser la classification automatique via les K-Means sur les variables transformes, en fixant le nombre de classes
et via la classification ascendante hirarchique
Visualiser les donnes avec la nouvelle colonne reprsentant la classe dappartenance des individus
Illustrer les classes laide des variables actives, via des statistiques descriptives comparatives et des graphiques
judicieusement choisis
Croiser la partition obtenue avec une variable catgorielle illustrative
Segmentation et Classification dun ensemble
de vhicules On utilise le fichier cars_dataset.txt , un fichier texte avec sparateur tabulation. Il dcrit les caractristiques de 392 vhicules. Les variables actives qui participeront au calcul sont : la consommation (MPG, miles per galon, plus le
chiffre est lev, moins la voiture consomme) la taille du moteur (DISPLACEMENT) la puissance (HORSEPOWER) le poids (WEIGHT) lacclration (ACCELERATION, le temps mis
pour atteindre une certaine vitesse, plus le chiffre est faible plus la voiture est performante).
La variable illustrative origine des vhicules (ORIGIN : Japon, Europe, Etats Unis) servira renforcer linterprtation des groupes. Sources : http://eric.univ-lyon2.fr/~ricco/tanagra/fichiers/cars_dataset.zip http://lib.stat.cmu.edu/datasets/cars.desc
http://eric.univ-lyon2.fr/~ricco/tanagra/fichiers/cars_dataset.ziphttp://lib.stat.cmu.edu/datasets/cars.desc
-
Data Mining
[email protected] ESPRIT2013-2014
I. Classification avec R
A. K-Means (Mthodes des Centres Mobiles) 1. Importation des donnes et statistiques descriptives : (sans package additionnel spcifique)
Donner les statistiques descriptives :
2. Centrage et rduction :
Pour centrer et rduire les donnes, on doit commencer tout dabord par la construction dune fonction
centrage_reduction qui centre et rduit une colonne, quon applique lensemble desvariables actives
avec apply(..)
Pour ce faire, on propose dexcuter la fonction de standardisation de colonne suivante :
# Excuter la fonction de standardisation d'une colonne centrage_reduction
-
Data Mining
[email protected] ESPRIT2013-2014
3. Application de la mthode des Centres Mobiles (K-Means)
Maintenant, on lance lalgorithme K-Means sur les variables centres et rduites.
On propose de concevoir une partition de deux groupes (deux clusters), en se limitant 40 itrations.
i. Expliquer les paramtres basiques de la fonction R kmeans()
ii. En dduire le code suivant :
iii. Expliquer le rsultat obtenu : (K-means clustering, cluster means, clustering vector)
4. Interprtation des groupes dappartenance :
est une mthode de quantification vectorielle, originaire de traitement du signal, qui est populaire pour l'analyse de
cluster dans l'extraction de donnes. k-means vise diviser n observations en k grappes dans lequel chaque
observation appartient la grappe avec la moyenne la plus proche, servant de prototype de la grappe.
x : Matrice de donnes. Centers : Le nombre de clusters.
Iter.max : Le nombre maximum des itrations permises.
# K-means en deux groupes nb.classes
-
Data Mining
[email protected] ESPRIT2013-2014
Pour linterprtation des groupes, on calcule les moyennes conditionnelles des variables actives
originelles. On les collecte dans une seule matrice laide des commandes suivantes :
#rcupration des groupes d'appartenance groupe
-
Data Mining
[email protected] ESPRIT2013-2014
#graphique des variables 2 2 avec groupe d'appaternance >pairs(voitures[,1:5],pch=21,bg=c("red","blue")[groupe])
La projection de point, selon leur groupe dappartenance, dans les plans forms par les couples de
variable,
les variables sont pour la plupart fortement corrles, presque tous les couples de variables
permettent de distinguer les groupes
5. Combinaison ACP / K-Means :
Dans le but de trouver un outil permettant de bien situer les groupes, on propose de projeter les points
dans le premier plan factoriel de lAnalyse en Composantes Principales.
-
Data Mining
[email protected] ESPRIT2013-2014
Pour ce faire, appliquer les lignes de commandes suivantes :
#ACP sur les donnes centres rduites acp
-
Data Mining
[email protected] ESPRIT2013-2014
En dduire vos interprtations finales sous forme de
rapport final (la partie la plus importante dans tous les
TP Data Mining)
On constate avec la mthode kmeans que la classification de notre entrept de donne est divis en 2
groupes.
La mthode K-Means est une technique de classification automatique qui vise produire des
regroupements de manire ce que les individus du mme groupe soient semblables.
Le lancement de lalgorithme k-means sur les variables centres rduites nous a permet de concevoir la
Rpartition de deux groupes (deux clusters) donc diviser les donnes en cas groupes (classes) pour minimiser
les distances entre les points et les centres des classes.
-
Data Mining
[email protected] ESPRIT2013-2014
B. Classification Ascendante Hirarchique On dsire refaire la classification sur les modles de voitures avec la Classification Ascendante Hirarchique sur la On
a plusieurs choix pour loption : distance, selon la fonction dist().
Expliquer lutilit de cette fonction grce la commande ? dist()
Appliquer cette fonction sur lentrept des voitures donns
Ecrire la ligne de commande utilise :
Dcrire le principe dutilisation de la fonction hclust
En dduire le dendrogramme associ :
Cette fonction calcule et renvoie la matrice de distance calcule l'aide de la mesure de distance spcifie pour
calculer les distances entre les lignes d'une matrice de donnes.
> d
-
Data Mining
[email protected] ESPRIT2013-2014
On va utiliser la fonction cutree pour couper le dendrogramme afin davoir 2 classes.
> classe table(voitures$origin,classe)
-
Data Mining
[email protected] ESPRIT2013-2014
II. Classification avec SAS
A. K-Means (Mthodes des Centres Mobiles) 1. Importation des donnes
2. Normalisation des donnes (centrage et rduction)
3. Application de la mthode des K-moyennes
PROC FASTCLUS DATA= A OUT= BOUTSTAT= CMEAN=D MAXITER=CONVERGENCE= DELETE= CLUSTER= DRIFT
MAXC= /RADIUS=
VAR liste des variables quantitatives tudies ;
ID nom de la variable comportant le nom des individus ;
WEIGH Tvariable ;
RUN ;
N.B. soulign = facultatif
On doit spcifier soit loption MAXC= ou RADIUS= option ou les deux.
FASTCLUS signifie FAST CLUSTERING (= classification rapide) A = Nom donn la table SAS contenant les donnes
B = Nom de la table SAS, cre automatiquement par SAS contenant, entre autre, la variable CLUSTER(les
assignements de classes) et la variable DISTANCE (distance sparant lindividu du centre de la classe)
C =Nom de la table contenant un rsum de lanalyse (classes,...).
D= Nom de la table contenant les moyennes dans les classes et dautres statistiques pour chaque classe : FREQ_:
effectif de la classe ; _RMSSTD_ : inertie intra-classe ; _NEAR_ :no de la classe la + proche ; _GAP_ : distance entre
le centre et lautre centre le + proche ; _RADIUS_ : distance max entre 1 individu et son centre ; X, Y : coordonnes
du centre de la classe
DELETE=n supprime les centres avec n individus rattachs (pour viter davoir pour centre un outlier ) MAXC=n spcifie le nombre maximum de classes tolr, gal 100 par dfaut. MAXITER=n spcifie le nombre maximum ditrations tolr pour recalculer les centres.
converge=0.02 : les itrations sarrtent quand plus aucun centre ne se dplace dune distance > 0.02
Data cars;
infile'C:\SAS\cars_dataset.txt' 'expandtabs
firstobs=2; *La premire ligne contient les noms des variables*
input mpg displacement horsepower weight acceleration
origin$;
run;
Proc standard mean=0 std=1 data=cars out=cars_std;
Var mpg displacement horsepower weight acceleration; run;
-
Data Mining
[email protected] ESPRIT2013-2014
DRIFT : pour remplacer la mthode des centres mobiles par celle des k-means (convergence plus rapide)
RADIUS=d : spcifie la distance minimale entre 2 centres initiaux (= 0 par dfaut)
REPLACE=none : acclre la phase de slection des centres initiaux en empchant les substitutions des centres les
plus proches (choisir alors radius assez grand) mieux vaut laisser loption par dfaut replace=full
4. Table de contingence
5. Application dune analyse en composantes principales avec K-means
PROC FASTCLUS
DATA = cars
MAXCLUSTERS=2 OUT=Fastclus1;
VAR mpg displacement horsepower weight acceleration;
ID origin;
RUN;
Proc freq data=Fastclus1;
Tables origin * cluster;
run;
%macro acp(table,vars,ids);
Proc princomp data=&table out=acp vardef=wgt;
ods output Eigenvalues=eigenvalues Eigenvectors=eigenvectors;
var &vars;
run;
proc transpose data=eigenvalues out=teigenvalues(drop=_name_) prefix=lambda;
var eigenvalue;
run;
Proc sql;
select count(*) into :avars from eigenvalues;
quit;
data eigenvectors;
if _n_ = 1 then set teigenvalues;
set eigenvectors;
array c{*} prin1-prin%trim(&avars);
array l{*} lambda1-lambda%trim(&avars);
do i=1 to &avars;
c(i)=c(i)*sqrt(l(i));
end;
keep variable prin1-prin%trim(&avars);
run;
proc gplot data=eigenvalues;
symbol i=join v=dot pointlabel=none;
plot (eigenvalue difference)*Number / overlay legend;
plot2 (proportion cumulative)*Number / overlay legend;
run;
quit;
%mend;
%acp(carsFile,mpg displacement horsepower weight acceleration,ACP);
%macro acp_plot(axe1,axe2,id);
PROC GPLOT DATA=ACP;
PLOT prin&axe2*prin&axe1 = &id;
run;
%mend;
%acp_plot(1,2,cluster);
-
Data Mining
[email protected] ESPRIT2013-2014
B. Classification Ascendante Hirarchique PROC CLUSTER DATA=A METHOD=methodeutiliseOUTTREE=D SIMPLESTDRSQCCCPSEUDO;
VAR liste des variables quantitatives tudies ;
ID nomid;
WEIGHT variable ;
PROC TREE DATA= D NCL=nombre de classes voulues OUT=C(rename=(_NAME_=nomid) RUN;
nomid=nom de la variable comportant le nom des individus A= table de donnes D=table stockant les informations ncessaires pour raliser le dendrogramme C=table de stockage des numros de classes STD : Standardisation des variables SIMPLE : statistiques simples sur les donnes RSQ : dition du R-squared et semi-partial R-squared CCC : dition du CCC PSEUDO : dition du pseudo-F METHOD= mthode dagrgation utilise. Il y a 11 mthodes, dont : AVERAGE, average linkage CENTROID : mthode des centrodes COMPLETE : complete linkage SINGLE : single linkage WARD : mthode de ward
Appliquer la classification ascendante hirarchique pour avoir 2 classes
PROC CLUSTER
DATA=cars_std
METHOD=AVERAGE
OUTTREE=ProjClusterAverage;
VAR mpg displacement horsepower weight acceleration;
ID Numero;
RUN ;
PROC TREE
DATA=ProjClusterAverage
OUT=ProjTreeAverage
NCL=2;
ID numero;
RUN ;
proc sort data=ProjTreeAverage;
by numero;
run;
DATA MeansClusterAverage ;
merge cars ProjTreeAverage; ;
RUN;
Proc sort DATA=MeansClusterAverage ;
BY numero;
run ;
Proc freq data=MeansClusterAverage;
Tables cluster * origin;
run;