Benharratharijtp2 classification

of 12 /12
Data Mining [email protected] ESPRIT©2013-2014 TP n°2 : Méthodes de classification Ben harrath arij 4infini Note Ce TP est à rendre en fin de séance. NB : N’oublier pas de mentionner vos interprétations et constatations après chaque résultat Objectifs généraux Dans ce TP, nous allons appliquer les méthodes de classification sur des échantillons de données. Objectifs spécifiques Importer les données Réaliser quelques statistiques descriptives sur les variables actives ; Centrer et réduire les variables Réaliser la classification automatique via les K-Means sur les variables transformées, en fixant le nombre de classes et via la classification ascendante hiérarchique Visualiser les données avec la nouvelle colonne représentant la classe d’appartenance des individus Illustrer les classes à l’aide des variables actives, via des statistiques descriptives comparatives et des graphiques judicieusement choisis Croiser la partition obtenue avec une variable catégorielle illustrative Segmentation et Classification d’un ensemble de véhicules On utilise le fichier « cars_dataset.txt », un fichier texte avec séparateur tabulation. Il décrit les caractéristiques de 392 véhicules. 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) l’accélération (ACCELERATION, le temps mis pour atteindre une certaine vitesse, plus le chiffre est faible plus la voiture est performante). La variable illustrative « origine des véhicules » (ORIGIN : Japon, Europe, Etats Unis) servira à renforcer l’interprétation des groupes. Sources : http://eric.univ-lyon2.fr/~ricco/tanagra/fichiers/cars_dataset.zip http://lib.stat.cmu.edu/datasets/cars.desc

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;