Page d'accueil

Espace Pro      
 Mon CV                      
  CV intéractif              
  CV Classique          
  CV imprimable        
  Téléchargement      
 Mes Projets              
  Statistiques              
  C.A.O.                        
  Programmation       
  Contact                     
Espace Perso  
 Liste DVD                  

7. Plusieurs K-Means

7.1. Seed avec la Méthode Average

Programme
Résultat
7.2. Seed avec la Méthode Complete

Programme
Résultat
7.3. Seed avec la Méthode Median

Programme
Résultat
7.4. Seed avec la Méthode Single

Programme
Résultat
7.5. Seed avec la Méthode Ward

Programme
Résultat
7.6. Conclusion

7. Plusieurs K-Means :

On reprend ici les différentes méthodes étudiées précédemment, mais on répète les procédures K-Means plusieurs fois de suite.

7.1. Seed avec la Méthode Average :

Programme :
Le programme SAS est le suivant : Proc Fasclus Average 5fois.sas

PROC CLUSTER
DATA=Proj
METHOD=AVERAGE
OUTTREE=ProjClusterAverage
NOSQUARE
NOPRINT ;
VAR v1-v7 ;
ID nom ;
RUN ;

PROC TREE
DATA=ProjClusterAverage
OUT=ProjTreeAverage
NCL=5 ;
ID nom ;
RUN ;

proc sort data=ProjTreeAverage;
by nom;
run;

DATA MeansClusterAverage ;
merge Proj ProjTreeAverage; ;
RUN;

Proc sort DATA=MeansClusterAverage ;
BY cluster ;
run ;

PROC PRINT
DATA=MeansClusterAverage;
RUN ;

PROC MEANS
DATA = MeansClusterAverage
NOPRINT ;
BY Cluster;
VAR v1-v7 ;
OUTPUT OUT=MeanSeedAverage ;
RUN;

PROC SORT DATA=MeanSeedAverage ;
BY _STAT_ ;
RUN;

DATA ttt ;
SET MeanSeedAverage (FIRSTOBS=6 KEEP=_STAT_ v1-v7) ;
RUN;
DATA SeedAverage ;
SET ttt (OBS=5) ;
RUN ;
PROC PRINT
DATA=SeedAverage ;
RUN ;

PROC FASTCLUS
DATA=Proj
MAXCLUSTERS=5 CLUSTER=clusAverage1 OUT=FastclusAverage1 SEED=SeedAverage OUTSEED=FastclusSeed1;
VAR v1-v7 ;
ID nom ;
RUN ;

proc print data=FastclusSeed1 ; RUN;

proc candisc data=FastclusAverage1 out=Can1 noprint ;
class clusAverage1 ;
var v1-v7 ;

legend1 frame cframe=ligr label=none cborder=black position=center value=(justify=center);
axis1 label=(angle=90 rotate=0) minor=none;
axis2 minor=none;

proc gplot data=Can1;
plot Can2*Can1=ClusAverage1 /frame cframe=ligr legend=legend1 vaxis=axis1 haxis=axis2;
run;

PROC FASTCLUS
DATA=Proj
MAXCLUSTERS=5 CLUSTER=clusAverage2 OUT=FastclusAverage2 SEED=FastclusSeed1 OUTSEED=FastclusSeed2;
VAR v1-v7 ;
ID nom ;
RUN ;

proc print data=FastclusSeed2 ; RUN;

proc candisc data=FastclusAverage2 out=Can2 noprint ;
class clusAverage2 ;
var v1-v7 ;

legend1 frame cframe=ligr label=none cborder=black position=center value=(justify=center);
axis1 label=(angle=90 rotate=0) minor=none;
axis2 minor=none;

proc gplot data=Can2;
plot Can2*Can1=ClusAverage2 /frame cframe=ligr legend=legend1 vaxis=axis1 haxis=axis2;
run;

PROC FASTCLUS
DATA=Proj
MAXCLUSTERS=5 CLUSTER=clusAverage3 OUT=FastclusAverage3 SEED=FastclusSeed2 OUTSEED=FastclusSeed3 ;
VAR v1-v7 ;
ID nom ;
RUN ;

proc print data=FastclusSeed3 ; RUN;

proc candisc data=FastclusAverage3 out=Can3 noprint ;
class clusAverage3 ;
var v1-v7 ;

legend1 frame cframe=ligr label=none cborder=black position=center value=(justify=center);
axis1 label=(angle=90 rotate=0) minor=none;
axis2 minor=none;

proc gplot data=Can3;
plot Can2*Can1=ClusAverage3 /frame cframe=ligr legend=legend1 vaxis=axis1 haxis=axis2;
run;

PROC FASTCLUS
DATA=Proj
MAXCLUSTERS=5 CLUSTER=clusAverage4 OUT=FastclusAverage4 SEED=FastclusSeed3 OUTSEED=FastclusSeed4;
VAR v1-v7 ;
ID nom ;
RUN ;

proc print data=FastclusSeed4 ; RUN;

proc candisc data=FastclusAverage4 out=Can4 noprint ;
class clusAverage4 ;
var v1-v7 ;

legend1 frame cframe=ligr label=none cborder=black position=center value=(justify=center);
axis1 label=(angle=90 rotate=0) minor=none;
axis2 minor=none;

proc gplot data=Can4;
plot Can2*Can1=ClusAverage4 /frame cframe=ligr legend=legend1 vaxis=axis1 haxis=axis2;
run;

PROC FASTCLUS
DATA=Proj
MAXCLUSTERS=5 CLUSTER=clusAverage5 OUT=FastclusAverage5 SEED=FastclusSeed4 OUTSEED=FastclusSeed5;
VAR v1-v7 ;
ID nom ;
RUN ;

proc candisc data=FastclusAverage5 out=Can5 noprint ;
class clusAverage5 ;
var v1-v7 ;

legend1 frame cframe=ligr label=none cborder=black position=center value=(justify=center);
axis1 label=(angle=90 rotate=0) minor=none;
axis2 minor=none;

proc gplot data=Can5;
plot Can2*Can1=ClusAverage5 /frame cframe=ligr legend=legend1 vaxis=axis1 haxis=axis2;
run;

proc print data=FastclusSeed5 ; RUN;

Résultat :
Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph.

Les résultats ne changent sur les graphiques que lorsque l’on passe de l’étape 1 à l’étape 2, après rien ne change.

Entre les étapes 1 et les étapes 5 les variables Total STD et Within STD varient très peu.
7.2. Seed avec la méthode Complete :

Programme :
Le programme SAS est le suivant : Proc Fasclus Complete 5fois.sas

Dans la suite de la page, pour consulter les programmes SAS, il suffit d’aller sur les liens.

Résultat :
Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph.

Ici, de l’étape 1 à l’étape 5, absolument rien ne change.

7.3. Seed avec la méthode Median :

Programme :
Le programme SAS est le suivant : Proc Fasclus Median 5fois.sas

Résultat :
Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph.

Ici, sur les graphiques, pour les 5 étapes, les graph. évent. De même que pour les variances intra et les variances extra qui s’améliorent un peu.

7.4. Seed avec la méthode Single :

Programme :
Le programme SAS est le suivant : Proc Fasclus Single 5fois.sas

Résultat :
Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph.

D’après les graphiques, cette méthode se stabilise ici au bout de trois étapes.

On remarque la même chose quand on étudie les résultats, on remarque aussi que les variances intra et les variances extra s’améliorent par rapport aux méthodes précédentes.

C'est encore une fois cette méthode qui propose les meilleures variances intra et les meilleures variances extra.

7.5. Seed avec la méthode Ward :

Programme :
Le programme SAS est le suivant : Proc Fasclus Ward 5fois.sas

Résultat :
Lorsque l'on exécute le programme, on obtient : Résultat

On obtient aussi des graphiques : Graph.

Identique que pour la méthode Complete.

7.6. conclusion :

A part pour la méthode Single, répéter l’algorithme K-Means ne fait pas évoluer les résultats lorsque que l’on choisit les centres initiaux grâce à des méthodes de classification hiérarchique.