SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
1
Implementation of K-Means Clustering in
Cloud Computing Environment
Réalisé par :
JANNADI Wiem
TURKI Imen
2ing01
2
Table des matières :
1. Introduction :................................................................................................................................... 3
2. Le clustering :................................................................................................................................... 3
3. K_Means :........................................................................................................................................ 4
4. Cloud Computing :............................................................................................................................... 5
5. Cloudster/K-means algorithm for cloud computing: .......................................................................... 7
6. Mise en œuvre :................................................................................................................................... 8
6.1 –Algorithme :................................................................................................................................. 8
6.2 -Code java :.................................................................................................................................... 8
7. Conclusion/Perspectives : ................................................................................................................. 12
3
1.Introduction :
Aujourd’hui le monde des affaires est rapide et dynamique dans la nature. Ceci implique
beaucoup de données recueillies auprès de différentes sources.
Ces données sont stockées dans des entrepôts de données (Data Warehouses).
La plupart des tâches difficiles des gens d'affaires est de transformer ces données en
informations utiles appelle la connaissance.
Données techniques d'extraction sont utilisés pour réaliser cette tâche.
Ce qui fait de faire le regroupement des serveurs, en vue de créer un "super serveur
virtuel« qui ‘est le clustering.
2.Le clustering :
Clustering : Organiser un ensemble de formes en groupes contrastés.
En vue de : Comprimer et structurer les données pour permettre des prédictions.
4
Objectif :
- Trouver des regroupements « naturels » (clusters) des exemples
- Inventer un nouvel attribut C dont les valeurs c1, c2, …, ck indiquent le cluster auquel
appartient un exemple
Critère
• Maximiser la distance inter-cluster
• Minimiser la distance intra-cluster
3.K_Means :
K means est un algorithme de clustering (classification de données) ... K est un paramètre qui
est le nombre de classe à construire.
L’idée générale de l’algorithme est de créer k classe centrée autour de k points de centre
qu’on choisis au départ aléatoirement , puis à chaque itération on calcule le barycentre des
points de chaque classe qui sera le nouveau centre de la classe et on ajuste la classe autour de
ce centre .
Un point appartient à la classe dont le centre est plus proche.
//Principe général
L’algorithme consiste à grouper les points selon un critère bien déterminé.
L’entrée de l’algorithme est le nombre k de groupes (cluster). Une fois le nombre de groupes
saisi, l’algorithme choisit arbitrairement k points comme centres «initiaux » des k groupes.
L’étape suivante consiste à calculer la distance entre chaque individu (point) et les k
centres, la plus petite distance est retenue pour inclure cet individu dans le groupe ayant le
centre le plus proche.
Une fois tous les individus groupés, on aura k sous-nuages (cluster) disjoints du nuage total.
Pour chaque groupe, l’algorithme calcule le nouveau centre de gravité.
L’algorithme s’arrête lorsque les groupes construits deviennent stables.
5
4. Cloud Computing :
Cloud computing:« informatique en nuage »
• une puissance de calcul,
• un espace de stockage,
• une infrastructure de serveurs reliés par Internet.
Avantages
• la flexibilité de l'infrastructure => plus agiles dans système d'information.
• Rapidité d’accès à une infrastructure performante.
• Paiement contrôlés grâce à une facturation à la carte
Inconvénients
• les performances du Cloud Computing sont dépendantes d'Internet et peuvent
connaître une certaine latence due à la faiblesse du réseau,
• les fournisseurs de plates-formes de Cloud Computing offrent peu de garantie en
matière de continuité de service (SLA - Service Level Agreement),
• les données critiques de l'entreprise sont hébergées à l'extérieur du système
d'information.
• Algorithme simple et efficace en temps et en
mémoire
• Utilisable avec de grandes bases de données
(e.g. milliers d’objets).
Avantages
• Sensible au choix des moyennes initialesLimites
• Il existe des informations a priori sur le choix des
centres de classes.
• En post-traitement d’un clustering hiérarchique.
A utiliser
6
Saas (Software-as-a-service) permet d'externaliser dans des salles informatiques la couche
infrastructure matérielle, les applications middleware et de développement (Paas) ainsi que les
applications de l'entreprise. L'entreprise consomme ces applications hébergées à la demande
(comme par exemple Gmail, la messagerie de Google).
Iaas (Infrastructure-as-a-service) permet d'externaliser la couche infrastructure matérielle
(les serveurs, le réseau, le stockage) dans des salles informatiques distantes. Les entreprises
démarrent des serveurs virtuels hébergés sur la plate-forme de Cloud Computing à chaque fois
qu'un accroissement de calcul est nécessaire.
Paas (Platform-as-a-service) permet d'externaliser la couche infrastructure matérielle (Iaas),
mais aussi les bases de données, les environnements de développement et d'exécution
d'applications et les couches d'intégration de données. L'entreprise conserve uniquement ses
applications en interne. Elle utilise le Paas pour porter ses applications « dans les nuages » ou
en développer d'autres à partir des outils de développement (hébergés) fournis par la plate-
forme de Cloud Computing.
7
5. Cloudster/K-means algorithm for cloud
computing:
Un cluster de serveurs, c'est le fait de regrouper et relier physiquement des serveurs par
des interfaces spécifique pour le transformer en un seul serveur plus puissant et scalaire.
Un serveur Cloud, c'est en fait un serveur issu de la division en plusieurs morceaux d'un
plus gros serveur. Ça permet d'avoir un serveur avec tous les droits (ou presque) à moindre
coût par rapport à un serveur dédié. Nous allons mettre en œuvre l'algorithme des K-Means en
java et l'IDE Eclipse pour la conception et le développement de l'application qui sera déployée
sur la plateforme Google AppEngine.
Google App Engine permet d'exécuter vos applications Web sur l'infrastructure Google.
Faciles à développer et à gérer, les applications App Engine, grâce à leur caractère évolutif,
s'adaptent à vos besoins en termes de trafic et de stockage des données. App Engine vous
dispense du recours à tout serveur : il vous suffit de transférer votre application et le tour est
joué ! Vos utilisateurs peuvent s'en servir sans plus attendre.
8
6. Mise en œuvre :
6.1 –Algorithme :
 Choisir les points k qui représentent la position moyenne des
partitions m1
(1)
,…,mk
(1)
initiales (au hasard par exemple)
 Répéter jusqu'à convergence:
- assigner chaque observation à la partition la plus proche.
- mettre à jour la moyenne de chaque cluster
La convergence est atteinte quand il n'y a plus de changement.
6.2 -Code java :
public void run() {
Random gene=new Random();
readData();
// Initialiser les centres
centers[0]=new Iris(0.8514,0.5867,-1.0364,-1.0132,ic.setosa);
centers[1]=new Iris(0.725,-0.3293,0.8331,0.8386,ic.virginica);
centers[2]=new Iris(0.5654,-0.1556,-0.4775,-
0.52,ic.versicolor);
// Iterer
System.out.println("avant for ");
for(int i=0;i<150;i++){
// Une liste d'exemples par cluster
lesClusters=new ArrayList[nbClust];
for(int j=0;j<nbClust;j++)
lesClusters[j]=new ArrayList<Iris>();
// Pour chaque exemple, rechercher le centre le plus proche
9
for(Iris d:lesDonnees){
double dmin=1000;
int indexmin=-1;
for(int l=0;l<nbClust;l++){
double dist=d.distance(centers[l]);
if(dist<dmin){
dmin=dist;
indexmin=l;
}
}
// Ajouter l'exemple au cluster du centre le plus proche
lesClusters[indexmin].add(d);
}
// Calculer les nouveaux centres
for(int j=0;j<nbClust;j++){
double nb=lesClusters[j].size();
double sw=0;
double sl=0;
double pl=0;
double pw=0;
for(Object o:lesClusters[j]){
Iris d=(Iris)o;
sw+=d.getSepalWidth();
sl+=d.getSepalLength();
pw+=d.getPetalWidth();
pl+=d.getPetalLength();
}// object o
if(nb!=0)
centers[j]=new Iris(pl/nb,pw/nb,sl/nb,sw/nb,null);
else
// Si le cluster est vide, choisir un nouveau
centre
centers[j]=new
Iris(gene.nextDouble(),gene.nextDouble(),gene.nextDouble(),gene.nextDouble(),null)
;
}}
1-
2-
Cette fonction nous permet de calculer la distance entre les nœuds et les points.
10
Les 3 centres
Cluster Vercicolor
Cluster Setosa.
11
public String connaissance(Iris d){
double dmin=1000;
int indexmin=-1;
for(int l=0;l<nbClust;l++){
double dist=d.distance(centers[l]);
if(dist<dmin){
dmin=dist;
indexmin=l;
}}
lesClusters[indexmin].add(d);
return "le point i "+d+" appartient au cluster"+indexmin;
}
Exemple :
12
7. Conclusion/Perspectives :
 L’algorithme k-means est très populaire du fait qu’il est très facile à comprendre et à
mettre en œuvre.
 Le degré d’appartenance d’un document à une classe étant binaire et la pondération de
chaque document étant constant.
 Comparer les performances des autres algorithmes par rapport à k-means. Cela
signifie qu'un point de données peut appartenir à un seul cluster et qu'une probabilité
unique est calculée pour l'appartenance de chaque point de données à ce cluster.

Más contenido relacionado

La actualidad más candente

Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-miningSawsen Larbi
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Mohamed Heny SELMI
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisinsBoris Guarisma
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoiresBoris Guarisma
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008Abdelouahed Abdou
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdfOuailChoukhairi
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 

La actualidad más candente (20)

5.5 Clustering
5.5 Clustering5.5 Clustering
5.5 Clustering
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-mining
 
Algorithme knn
Algorithme knnAlgorithme knn
Algorithme knn
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdf
 
Data Mining
Data MiningData Mining
Data Mining
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 

Destacado

Chapitre 3 clustering
Chapitre 3 clusteringChapitre 3 clustering
Chapitre 3 clusteringAnis Masmoudi
 
K means Clustering
K means ClusteringK means Clustering
K means ClusteringEdureka!
 
K mean-clustering algorithm
K mean-clustering algorithmK mean-clustering algorithm
K mean-clustering algorithmparry prabhu
 
Clustering, k means algorithm
Clustering, k means algorithmClustering, k means algorithm
Clustering, k means algorithmJunyoung Park
 
K-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnK-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnSarah Guido
 
Machine Learning & SEO - SEO Camp'Us Paris 2016
Machine Learning & SEO - SEO Camp'Us Paris 2016Machine Learning & SEO - SEO Camp'Us Paris 2016
Machine Learning & SEO - SEO Camp'Us Paris 2016Julien Deneuville
 
Rapport de stage fatma karem
Rapport de stage fatma karemRapport de stage fatma karem
Rapport de stage fatma karemfatmakarem
 
Anecdotes janvier2012 low
Anecdotes janvier2012 lowAnecdotes janvier2012 low
Anecdotes janvier2012 lowChristian_Barre
 
Sistema de evaluacion 04 decálogo
Sistema de evaluacion 04  decálogoSistema de evaluacion 04  decálogo
Sistema de evaluacion 04 decálogoAdalberto
 
5 tendances du Marketing Client
5 tendances du Marketing Client5 tendances du Marketing Client
5 tendances du Marketing ClientETO
 
El tema de investigacion poderoso
El tema de investigacion poderosoEl tema de investigacion poderoso
El tema de investigacion poderosoAdalberto
 

Destacado (20)

K means Clustering Algorithm
K means Clustering AlgorithmK means Clustering Algorithm
K means Clustering Algorithm
 
Chapitre 3 clustering
Chapitre 3 clusteringChapitre 3 clustering
Chapitre 3 clustering
 
Clustering
ClusteringClustering
Clustering
 
K means Clustering
K means ClusteringK means Clustering
K means Clustering
 
K mean-clustering algorithm
K mean-clustering algorithmK mean-clustering algorithm
K mean-clustering algorithm
 
K-Means manual work
K-Means manual workK-Means manual work
K-Means manual work
 
K-Means Algorithm
K-Means AlgorithmK-Means Algorithm
K-Means Algorithm
 
Clustering, k means algorithm
Clustering, k means algorithmClustering, k means algorithm
Clustering, k means algorithm
 
K-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnK-means Clustering with Scikit-Learn
K-means Clustering with Scikit-Learn
 
Machine Learning & SEO - SEO Camp'Us Paris 2016
Machine Learning & SEO - SEO Camp'Us Paris 2016Machine Learning & SEO - SEO Camp'Us Paris 2016
Machine Learning & SEO - SEO Camp'Us Paris 2016
 
Rapport de stage fatma karem
Rapport de stage fatma karemRapport de stage fatma karem
Rapport de stage fatma karem
 
XebiConFr15 - Les algorithmes du machine learning
XebiConFr15 - Les algorithmes du machine learningXebiConFr15 - Les algorithmes du machine learning
XebiConFr15 - Les algorithmes du machine learning
 
Cours cluster si2e
Cours cluster si2eCours cluster si2e
Cours cluster si2e
 
Anecdotes janvier2012 low
Anecdotes janvier2012 lowAnecdotes janvier2012 low
Anecdotes janvier2012 low
 
Sistema de evaluacion 04 decálogo
Sistema de evaluacion 04  decálogoSistema de evaluacion 04  decálogo
Sistema de evaluacion 04 decálogo
 
Corporación 2.0
Corporación 2.0Corporación 2.0
Corporación 2.0
 
5 tendances du Marketing Client
5 tendances du Marketing Client5 tendances du Marketing Client
5 tendances du Marketing Client
 
El tema de investigacion poderoso
El tema de investigacion poderosoEl tema de investigacion poderoso
El tema de investigacion poderoso
 
Philosophie
PhilosophiePhilosophie
Philosophie
 
Haiti - Un an après le tremblement de terre
Haiti - Un an après le tremblement de terreHaiti - Un an après le tremblement de terre
Haiti - Un an après le tremblement de terre
 

Similar a Rapport kmeans

Cloud computing : Cloud sim
Cloud computing : Cloud sim Cloud computing : Cloud sim
Cloud computing : Cloud sim Khalid EDAIG
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de donnéesAdam CH
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiKhalid EDAIG
 
LE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SILE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SIPROJECT SI
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
Cloud-Azure.pdf
Cloud-Azure.pdfCloud-Azure.pdf
Cloud-Azure.pdfAnisSalhi3
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Hadjer BENHADJ DJILALI
 
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...Frédéric FAURE
 
Ysance conference - cloud computing - aws - 3 mai 2010
Ysance   conference - cloud computing - aws - 3 mai 2010Ysance   conference - cloud computing - aws - 3 mai 2010
Ysance conference - cloud computing - aws - 3 mai 2010Ysance
 
exposer cloud sur le cloud computing et azure
exposer cloud sur le cloud computing et azureexposer cloud sur le cloud computing et azure
exposer cloud sur le cloud computing et azuregaetan FOKOM
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZGauthier Hubert
 
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...Laurence Loth
 

Similar a Rapport kmeans (20)

Configuration Nimbus
Configuration NimbusConfiguration Nimbus
Configuration Nimbus
 
Cloud computing : Cloud sim
Cloud computing : Cloud sim Cloud computing : Cloud sim
Cloud computing : Cloud sim
 
Deploy automatic in the cloud
Deploy automatic in the cloudDeploy automatic in the cloud
Deploy automatic in the cloud
 
White paper azure
White paper azureWhite paper azure
White paper azure
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de données
 
Le cloud Compting
Le cloud ComptingLe cloud Compting
Le cloud Compting
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
 
LE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SILE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SI
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
Cloud-Azure.pdf
Cloud-Azure.pdfCloud-Azure.pdf
Cloud-Azure.pdf
 
Eucalyptus
EucalyptusEucalyptus
Eucalyptus
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
 
Grid computing
Grid computingGrid computing
Grid computing
 
Openstack proposition
Openstack propositionOpenstack proposition
Openstack proposition
 
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
 
Ysance conference - cloud computing - aws - 3 mai 2010
Ysance   conference - cloud computing - aws - 3 mai 2010Ysance   conference - cloud computing - aws - 3 mai 2010
Ysance conference - cloud computing - aws - 3 mai 2010
 
exposer cloud sur le cloud computing et azure
exposer cloud sur le cloud computing et azureexposer cloud sur le cloud computing et azure
exposer cloud sur le cloud computing et azure
 
Cloud computing
Cloud  computingCloud  computing
Cloud computing
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à Z
 
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
 

Rapport kmeans

  • 1. 1 Implementation of K-Means Clustering in Cloud Computing Environment Réalisé par : JANNADI Wiem TURKI Imen 2ing01
  • 2. 2 Table des matières : 1. Introduction :................................................................................................................................... 3 2. Le clustering :................................................................................................................................... 3 3. K_Means :........................................................................................................................................ 4 4. Cloud Computing :............................................................................................................................... 5 5. Cloudster/K-means algorithm for cloud computing: .......................................................................... 7 6. Mise en œuvre :................................................................................................................................... 8 6.1 –Algorithme :................................................................................................................................. 8 6.2 -Code java :.................................................................................................................................... 8 7. Conclusion/Perspectives : ................................................................................................................. 12
  • 3. 3 1.Introduction : Aujourd’hui le monde des affaires est rapide et dynamique dans la nature. Ceci implique beaucoup de données recueillies auprès de différentes sources. Ces données sont stockées dans des entrepôts de données (Data Warehouses). La plupart des tâches difficiles des gens d'affaires est de transformer ces données en informations utiles appelle la connaissance. Données techniques d'extraction sont utilisés pour réaliser cette tâche. Ce qui fait de faire le regroupement des serveurs, en vue de créer un "super serveur virtuel« qui ‘est le clustering. 2.Le clustering : Clustering : Organiser un ensemble de formes en groupes contrastés. En vue de : Comprimer et structurer les données pour permettre des prédictions.
  • 4. 4 Objectif : - Trouver des regroupements « naturels » (clusters) des exemples - Inventer un nouvel attribut C dont les valeurs c1, c2, …, ck indiquent le cluster auquel appartient un exemple Critère • Maximiser la distance inter-cluster • Minimiser la distance intra-cluster 3.K_Means : K means est un algorithme de clustering (classification de données) ... K est un paramètre qui est le nombre de classe à construire. L’idée générale de l’algorithme est de créer k classe centrée autour de k points de centre qu’on choisis au départ aléatoirement , puis à chaque itération on calcule le barycentre des points de chaque classe qui sera le nouveau centre de la classe et on ajuste la classe autour de ce centre . Un point appartient à la classe dont le centre est plus proche. //Principe général L’algorithme consiste à grouper les points selon un critère bien déterminé. L’entrée de l’algorithme est le nombre k de groupes (cluster). Une fois le nombre de groupes saisi, l’algorithme choisit arbitrairement k points comme centres «initiaux » des k groupes. L’étape suivante consiste à calculer la distance entre chaque individu (point) et les k centres, la plus petite distance est retenue pour inclure cet individu dans le groupe ayant le centre le plus proche. Une fois tous les individus groupés, on aura k sous-nuages (cluster) disjoints du nuage total. Pour chaque groupe, l’algorithme calcule le nouveau centre de gravité. L’algorithme s’arrête lorsque les groupes construits deviennent stables.
  • 5. 5 4. Cloud Computing : Cloud computing:« informatique en nuage » • une puissance de calcul, • un espace de stockage, • une infrastructure de serveurs reliés par Internet. Avantages • la flexibilité de l'infrastructure => plus agiles dans système d'information. • Rapidité d’accès à une infrastructure performante. • Paiement contrôlés grâce à une facturation à la carte Inconvénients • les performances du Cloud Computing sont dépendantes d'Internet et peuvent connaître une certaine latence due à la faiblesse du réseau, • les fournisseurs de plates-formes de Cloud Computing offrent peu de garantie en matière de continuité de service (SLA - Service Level Agreement), • les données critiques de l'entreprise sont hébergées à l'extérieur du système d'information. • Algorithme simple et efficace en temps et en mémoire • Utilisable avec de grandes bases de données (e.g. milliers d’objets). Avantages • Sensible au choix des moyennes initialesLimites • Il existe des informations a priori sur le choix des centres de classes. • En post-traitement d’un clustering hiérarchique. A utiliser
  • 6. 6 Saas (Software-as-a-service) permet d'externaliser dans des salles informatiques la couche infrastructure matérielle, les applications middleware et de développement (Paas) ainsi que les applications de l'entreprise. L'entreprise consomme ces applications hébergées à la demande (comme par exemple Gmail, la messagerie de Google). Iaas (Infrastructure-as-a-service) permet d'externaliser la couche infrastructure matérielle (les serveurs, le réseau, le stockage) dans des salles informatiques distantes. Les entreprises démarrent des serveurs virtuels hébergés sur la plate-forme de Cloud Computing à chaque fois qu'un accroissement de calcul est nécessaire. Paas (Platform-as-a-service) permet d'externaliser la couche infrastructure matérielle (Iaas), mais aussi les bases de données, les environnements de développement et d'exécution d'applications et les couches d'intégration de données. L'entreprise conserve uniquement ses applications en interne. Elle utilise le Paas pour porter ses applications « dans les nuages » ou en développer d'autres à partir des outils de développement (hébergés) fournis par la plate- forme de Cloud Computing.
  • 7. 7 5. Cloudster/K-means algorithm for cloud computing: Un cluster de serveurs, c'est le fait de regrouper et relier physiquement des serveurs par des interfaces spécifique pour le transformer en un seul serveur plus puissant et scalaire. Un serveur Cloud, c'est en fait un serveur issu de la division en plusieurs morceaux d'un plus gros serveur. Ça permet d'avoir un serveur avec tous les droits (ou presque) à moindre coût par rapport à un serveur dédié. Nous allons mettre en œuvre l'algorithme des K-Means en java et l'IDE Eclipse pour la conception et le développement de l'application qui sera déployée sur la plateforme Google AppEngine. Google App Engine permet d'exécuter vos applications Web sur l'infrastructure Google. Faciles à développer et à gérer, les applications App Engine, grâce à leur caractère évolutif, s'adaptent à vos besoins en termes de trafic et de stockage des données. App Engine vous dispense du recours à tout serveur : il vous suffit de transférer votre application et le tour est joué ! Vos utilisateurs peuvent s'en servir sans plus attendre.
  • 8. 8 6. Mise en œuvre : 6.1 –Algorithme :  Choisir les points k qui représentent la position moyenne des partitions m1 (1) ,…,mk (1) initiales (au hasard par exemple)  Répéter jusqu'à convergence: - assigner chaque observation à la partition la plus proche. - mettre à jour la moyenne de chaque cluster La convergence est atteinte quand il n'y a plus de changement. 6.2 -Code java : public void run() { Random gene=new Random(); readData(); // Initialiser les centres centers[0]=new Iris(0.8514,0.5867,-1.0364,-1.0132,ic.setosa); centers[1]=new Iris(0.725,-0.3293,0.8331,0.8386,ic.virginica); centers[2]=new Iris(0.5654,-0.1556,-0.4775,- 0.52,ic.versicolor); // Iterer System.out.println("avant for "); for(int i=0;i<150;i++){ // Une liste d'exemples par cluster lesClusters=new ArrayList[nbClust]; for(int j=0;j<nbClust;j++) lesClusters[j]=new ArrayList<Iris>(); // Pour chaque exemple, rechercher le centre le plus proche
  • 9. 9 for(Iris d:lesDonnees){ double dmin=1000; int indexmin=-1; for(int l=0;l<nbClust;l++){ double dist=d.distance(centers[l]); if(dist<dmin){ dmin=dist; indexmin=l; } } // Ajouter l'exemple au cluster du centre le plus proche lesClusters[indexmin].add(d); } // Calculer les nouveaux centres for(int j=0;j<nbClust;j++){ double nb=lesClusters[j].size(); double sw=0; double sl=0; double pl=0; double pw=0; for(Object o:lesClusters[j]){ Iris d=(Iris)o; sw+=d.getSepalWidth(); sl+=d.getSepalLength(); pw+=d.getPetalWidth(); pl+=d.getPetalLength(); }// object o if(nb!=0) centers[j]=new Iris(pl/nb,pw/nb,sl/nb,sw/nb,null); else // Si le cluster est vide, choisir un nouveau centre centers[j]=new Iris(gene.nextDouble(),gene.nextDouble(),gene.nextDouble(),gene.nextDouble(),null) ; }} 1- 2- Cette fonction nous permet de calculer la distance entre les nœuds et les points.
  • 10. 10 Les 3 centres Cluster Vercicolor Cluster Setosa.
  • 11. 11 public String connaissance(Iris d){ double dmin=1000; int indexmin=-1; for(int l=0;l<nbClust;l++){ double dist=d.distance(centers[l]); if(dist<dmin){ dmin=dist; indexmin=l; }} lesClusters[indexmin].add(d); return "le point i "+d+" appartient au cluster"+indexmin; } Exemple :
  • 12. 12 7. Conclusion/Perspectives :  L’algorithme k-means est très populaire du fait qu’il est très facile à comprendre et à mettre en œuvre.  Le degré d’appartenance d’un document à une classe étant binaire et la pondération de chaque document étant constant.  Comparer les performances des autres algorithmes par rapport à k-means. Cela signifie qu'un point de données peut appartenir à un seul cluster et qu'une probabilité unique est calculée pour l'appartenance de chaque point de données à ce cluster.