Outils pour utilisateurs

Outils du site


cours:plim:alglib:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
cours:plim:alglib:start [2016/10/14 06:26] – [Préambule] tiglicours:plim:alglib:start [2016/10/19 14:00] (Version actuelle) – [Exemple de mise en oeuvre] dartigues
Ligne 27: Ligne 27:
  
 ==== AlgLib et Analyse de Données ==== ==== AlgLib et Analyse de Données ====
 +
  
 Comme indiqué ci-dessus, AlgLib fournit des librairies pour l'analyse de données. La liste et le manuel se trouvent sur ce [[http://www.alglib.net/translator/man/manual.csharp.html#pck_DataAnalysis|site]].  Comme indiqué ci-dessus, AlgLib fournit des librairies pour l'analyse de données. La liste et le manuel se trouvent sur ce [[http://www.alglib.net/translator/man/manual.csharp.html#pck_DataAnalysis|site]]. 
Ligne 49: Ligne 50:
 ==== Exemple de mise en oeuvre ==== ==== Exemple de mise en oeuvre ====
  
-Sans anticiper sur votre choix, nous allons présenter ici quelques exemples de mise en oeuvre d'AlgLib pour l'analyse de données. +Sans anticiper sur votre choix, nous allons présenter ici un exemple de mise en oeuvre d'AlgLib pour l'analyse de données. 
  
 === Mise en oeuvre de l'Algorithme du K-means === === Mise en oeuvre de l'Algorithme du K-means ===
Ligne 55: Ligne 56:
 L'algorithme du K-means ou K-Moyennes en français est particulièrement simple et pourtant assez performant pour certains problème de classification de données (ou clustering en anglais). L'algorithme du K-means ou K-Moyennes en français est particulièrement simple et pourtant assez performant pour certains problème de classification de données (ou clustering en anglais).
  
 +Cet algorithme tient sur peu de lignes, vous pouvez donc trouver des sources intégrales qui l'implémente comme sur [[http://www.codeproject.com/Articles/985824/Implementing-The-K-Means-Clustering-Algorithm-in-C|K Means Clustering Algorithm en C]]. Dans ce cas, le code est donc embarquable sur votre SmartPhone .... pour les inconditionnels du "tout local"
 +
 +L'algorithme du K-means peut se résumer ainsi en 4 étapes : 
 +
 +  - Choisir k objets formant ainsi k clusters
 +  - Ré)affecter chaque objet O au cluster Ci  de centre Mi tel que dist(O,Mi) est minimal
 +  - Recalculer Mi de chaque cluster (le barycentre)
 +  - Aller à l’étape 2 si on vient de faire une affectation
 +
 +
 +Voici une vidéo illustrative de l'évolution des clusters au fur et à mesure des itérations de l'algorithme ([[https://youtu.be/BVFG7fd1H30|video]]). Plusieurs exécutions sont présentées avec des collections de données variables et des K (nombre de clusters souhaité) différents. Vous pouvez constater l'influence du choix des points de départ affectés aléatoirement aux clusters initiaux.
 +
 +=== Implémentation du K-means en C# avec AlgLib ===
 +
 +Un exemple d'utilisation d'AlgLib pour la mise en oeuvre de K-means en C# se trouve sur cette [[http://www.alglib.net/translator/man/manual.csharp.html#example_clst_kmeans|page]].
 +
 +Cet exemple largement perfectible a été modifié pour ce tutorial. Il est commenté en français et intégré dans un projet Visual Studio C# se trouve dans le  {{:cours:plim:alglib:exemple_alglib_kmeans_c_.zip|fichier}} contenant déjà la librairie AlgLib dans une dll.
 +
 +Bien sûr il vous faudra utilise un Visual Studio déjà installé sur votre machine pour le Tutorial.
 +Nous vous rappelons que Visual Studio 2015 Community est gratuit pour les étudiants. Vous pourrez le télécharger  [[https://www.visualstudio.com/downloads/|ici]].
 +Pour les détenteurs de Mac, il faudra se rabattre sur Visual Studio Code sur la même page.
 +
 +
 +=== Travail proposé sur ce tutorial ===
 +
 +Améliorez le en  :
 +  * rajoutant le chargement du DataSet depuis un fichier (excel, csv ...le format est laissé à votre choix). Ceci vous permettra quelque soit l'algorithme de votre projet de visualiser les données bruts issues de votre SmartPhone.
 +  * rajoutant la sauvegarde des k clusters (k défini interactivement) dans un fichier (excel, csv ...le format est laissé à votre choix). Ceci vous permettra quelque soit l'algorithme de votre projet de visualiser les clusters issus de l'analyse.
 +  * rajoutant différents méthodes d'affichage des données et des clusters :
 +    * textuelles (System.Console.Write)
 +    * graphiques (avec les Winforms par exemple) 
 +
 +Les plus avancé pourront ainsi produire un simulateur, en affichant le résultats à chaque appel de l'algorithme avec des collections de données et un nombre de clusters différents.
 +
 +=== Transparents Cours Intro Data Mining ===
 +
 +
 +{{:cours:plim:alglib:intro_data_mining.pptx|}}
cours/plim/alglib/start.1476426391.txt.gz · Dernière modification : 2016/10/14 06:26 de tigli