1Implementation of K-Means Clustering inCloud Computing EnvironmentRéalisé par :JANNADI WiemTURKI Imen2ing01
2Table des matières :1. Introduction :.......................................................................................
31.Introduction :Aujourd’hui le monde des affaires est rapide et dynamique dans la nature. Ceci impliquebeaucoup de donnée...
4Objectif :- Trouver des regroupements « naturels » (clusters) des exemples- Inventer un nouvel attribut C dont les valeur...
54. Cloud Computing :Cloud computing:« informatique en nuage »• une puissance de calcul,• un espace de stockage,• une infr...
6Saas (Software-as-a-service) permet dexternaliser dans des salles informatiques la coucheinfrastructure matérielle, les a...
75. Cloudster/K-means algorithm for cloudcomputing:Un cluster de serveurs, cest le fait de regrouper et relier physiquemen...
86. Mise en œuvre :6.1 –Algorithme : Choisir les points k qui représentent la position moyenne despartitions m1(1),…,mk(1...
9for(Iris d:lesDonnees){double dmin=1000;int indexmin=-1;for(int l=0;l<nbClust;l++){double dist=d.distance(centers[l]);if(...
10Les 3 centresCluster VercicolorCluster Setosa.
11public String connaissance(Iris d){double dmin=1000;int indexmin=-1;for(int l=0;l<nbClust;l++){double dist=d.distance(ce...
127. Conclusion/Perspectives : L’algorithme k-means est très populaire du fait qu’il est très facile à comprendre et àmet...
Prochain SlideShare
Chargement dans…5
×

Rapport kmeans

1 263 vues

Publié le

0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 263
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
65
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport kmeans

  1. 1. 1Implementation of K-Means Clustering inCloud Computing EnvironmentRéalisé par :JANNADI WiemTURKI Imen2ing01
  2. 2. 2Table des matières :1. Introduction :................................................................................................................................... 32. Le clustering :................................................................................................................................... 33. K_Means :........................................................................................................................................ 44. Cloud Computing :............................................................................................................................... 55. Cloudster/K-means algorithm for cloud computing: .......................................................................... 76. Mise en œuvre :................................................................................................................................... 86.1 –Algorithme :................................................................................................................................. 86.2 -Code java :.................................................................................................................................... 87. Conclusion/Perspectives : ................................................................................................................. 12
  3. 3. 31.Introduction :Aujourd’hui le monde des affaires est rapide et dynamique dans la nature. Ceci impliquebeaucoup 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 daffaires est de transformer ces données eninformations utiles appelle la connaissance.Données techniques dextraction 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 serveurvirtuel« 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. 4Objectif :- Trouver des regroupements « naturels » (clusters) des exemples- Inventer un nouvel attribut C dont les valeurs c1, c2, …, ck indiquent le cluster auquelappartient un exempleCritère• Maximiser la distance inter-cluster• Minimiser la distance intra-cluster3.K_Means :K means est un algorithme de clustering (classification de données) ... K est un paramètre quiest 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 centrequ’on choisis au départ aléatoirement , puis à chaque itération on calcule le barycentre despoints de chaque classe qui sera le nouveau centre de la classe et on ajuste la classe autour dece centre .Un point appartient à la classe dont le centre est plus proche.//Principe généralL’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 groupessaisi, 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 kcentres, la plus petite distance est retenue pour inclure cet individu dans le groupe ayant lecentre 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. 54. 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 linfrastructure => plus agiles dans système dinformation.• Rapidité d’accès à une infrastructure performante.• Paiement contrôlés grâce à une facturation à la carteInconvénients• les performances du Cloud Computing sont dépendantes dInternet et peuventconnaître une certaine latence due à la faiblesse du réseau,• les fournisseurs de plates-formes de Cloud Computing offrent peu de garantie enmatière de continuité de service (SLA - Service Level Agreement),• les données critiques de lentreprise sont hébergées à lextérieur du systèmedinformation.• Algorithme simple et efficace en temps et enmé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 descentres de classes.• En post-traitement d’un clustering hiérarchique.A utiliser
  6. 6. 6Saas (Software-as-a-service) permet dexternaliser dans des salles informatiques la coucheinfrastructure matérielle, les applications middleware et de développement (Paas) ainsi que lesapplications de lentreprise. Lentreprise consomme ces applications hébergées à la demande(comme par exemple Gmail, la messagerie de Google).Iaas (Infrastructure-as-a-service) permet dexternaliser la couche infrastructure matérielle(les serveurs, le réseau, le stockage) dans des salles informatiques distantes. Les entreprisesdémarrent des serveurs virtuels hébergés sur la plate-forme de Cloud Computing à chaque foisquun accroissement de calcul est nécessaire.Paas (Platform-as-a-service) permet dexternaliser la couche infrastructure matérielle (Iaas),mais aussi les bases de données, les environnements de développement et dexécutiondapplications et les couches dintégration de données. Lentreprise conserve uniquement sesapplications en interne. Elle utilise le Paas pour porter ses applications « dans les nuages » ouen développer dautres à partir des outils de développement (hébergés) fournis par la plate-forme de Cloud Computing.
  7. 7. 75. Cloudster/K-means algorithm for cloudcomputing:Un cluster de serveurs, cest le fait de regrouper et relier physiquement des serveurs pardes interfaces spécifique pour le transformer en un seul serveur plus puissant et scalaire.Un serveur Cloud, cest en fait un serveur issu de la division en plusieurs morceaux dunplus gros serveur. Ça permet davoir un serveur avec tous les droits (ou presque) à moindrecoût par rapport à un serveur dédié. Nous allons mettre en œuvre lalgorithme des K-Means enjava et lIDE Eclipse pour la conception et le développement de lapplication qui sera déployéesur la plateforme Google AppEngine.Google App Engine permet dexécuter vos applications Web sur linfrastructure Google.Faciles à développer et à gérer, les applications App Engine, grâce à leur caractère évolutif,sadaptent à vos besoins en termes de trafic et de stockage des données. App Engine vousdispense du recours à tout serveur : il vous suffit de transférer votre application et le tour estjoué ! Vos utilisateurs peuvent sen servir sans plus attendre.
  8. 8. 86. Mise en œuvre :6.1 –Algorithme : Choisir les points k qui représentent la position moyenne despartitions 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 clusterLa convergence est atteinte quand il ny a plus de changement.6.2 -Code java :public void run() {Random gene=new Random();readData();// Initialiser les centrescenters[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);// ItererSystem.out.println("avant for ");for(int i=0;i<150;i++){// Une liste dexemples par clusterlesClusters=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. 9for(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 lexemple au cluster du centre le plus prochelesClusters[indexmin].add(d);}// Calculer les nouveaux centresfor(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 oif(nb!=0)centers[j]=new Iris(pl/nb,pw/nb,sl/nb,sw/nb,null);else// Si le cluster est vide, choisir un nouveaucentrecenters[j]=newIris(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. 10Les 3 centresCluster VercicolorCluster Setosa.
  11. 11. 11public 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. 127. 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 dechaque document étant constant. Comparer les performances des autres algorithmes par rapport à k-means. Celasignifie quun point de données peut appartenir à un seul cluster et quune probabilitéunique est calculée pour lappartenance de chaque point de données à ce cluster.

×