Cours 2 - Florian Boudin

publicité
Machine Learning avec Weka
Module X8II090 - Cours 2
Florian Boudin
Département informatique, Université de Nantes
Révision 1 du 4 janvier 2012
Plan
Préambule
Clustering
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 2 sur 47
Quiz sur les notions vues précédemment
1. Qu’est ce que Weka ?
2. Quel est l’évaluation la plus fiable ? l’algo le plus performant ?
I
I
I
Algo1, 81.3% d’instances correctement classées en découpage 23 / 13
Algo2, 78.4% de précision en validation croisée 10 strates
Algo3, 72.1% de f-mesure en validation croisée 10 strates
3. A quoi sert une matrice de coût ?
04 jan 2012 / Rév. 1 - page 3 sur 47
Quiz sur les notions vues précédemment
1. Qu’est ce que Weka ?
I
Suite de logiciels d’apprentissage automatique et d’exploration de
données écrite en Java
2. Quel est l’évaluation la plus fiable ? l’algo le plus performant ?
I
I
I
Algo1, 81.3% d’instances correctement classées en découpage 23 / 13
Algo2, 78.4% de précision en validation croisée 10 strates
Algo3, 72.1% de f-mesure en validation croisée 10 strates
3. A quoi sert une matrice de coût ?
I
Les erreurs des classifieurs sont inévitables puisqu’aucun modèle n’est
parfait ! Les matrices de coût permettent d’intégrer le fait que
certaines erreurs sont pires que d’autres
04 jan 2012 / Rév. 1 - page 3 sur 47
Le problème des probabilités nulles
Taille
Style
Utilité
Mignon
petit
petit
grand
grand
coloré
pas coloré
coloré
pas coloré
utile
inutile
inutile
utile
oui
oui
non
non
petit
coloré
inutile
???
I
Calculer P(oui|E) et P(non|E)
I
Rappel : P(H|E) =
P(E|H)×P(H)
P(E)
04 jan 2012 / Rév. 1 - page 4 sur 47
Le problème des probabilités nulles
Taille
Style
Utilité
Mignon
petit
petit
grand
grand
coloré
pas coloré
coloré
pas coloré
utile
inutile
inutile
utile
oui
oui
non
non
petit
coloré
inutile
???
P(oui|E)
=
P(oui|E)
=
P(non|E)
=
P(non|E)
=
I
Calculer P(oui|E) et P(non|E)
I
Rappel : P(H|E) =
P(E|H)×P(H)
P(E)
P(petit|oui) · P(coloré|oui) · P(inutile|oui) · P(oui) /P(E)
2/2 · 1/2 · 1/2 · 1/2 = 0.125
P(petit|non) · P(coloré|non) · P(inutile|non) · P(non) /P(E)
0/2 · 1/2 · 1/2 · 1/2 = 0 → Lissage
04 jan 2012 / Rév. 1 - page 4 sur 47
Détails de la sortie par défaut (1)
I
Classifieur J48, découpage 66-33, données Titanic
Time taken to build model: 0 seconds
=== Evaluation on test split ===
Correctly Classified Instances
578 77.2727 %
Incorrectly Classified Instances 170 22.7273 %
Kappa statistic
0.3803
-> mesure le taux de correlation
Mean absolute error
0.3259
Root mean squared error
0.4079
Relative absolute error
74.3732 %
Root relative squared error
86.9037 %
-> utilise pour la prediction numerique
-> mesure l'amplitude des erreurs
Total Number of Instances
748
04 jan 2012 / Rév. 1 - page 5 sur 47
Détails de la sortie par défaut (2)
=== Detailed Accuracy By Class ===
TP Rate FP Rate Prec. Recall F-Meas. ROC Area Class
0.327
0.01
0.941 0.327 0.485
0.703
yes
0.99
0.673
0.751 0.99
0.854
0.703
no
0.773
0.456
0.813 0.773 0.733
0.703
-> details des mesures pour chaque classe
-> ROC area = aire sous la courbe ROC
-> (true positive rate vs false positive rate)
=== Confusion Matrix ===
a
b
<-- classified as
80 165 |
a = yes
5 498 |
b = no
-> Matrice de confusion (voir cours 1)
04 jan 2012 / Rév. 1 - page 6 sur 47
Détails de la sortie par défaut (3)
J48 pruned tree
-----------------sex = male
|
class = 1st
|
|
age = adult: no (175.0/57.0)
|
|
age = child: yes (5.0)
|
class = 2nd
|
|
age = adult: no (168.0/14.0)
|
|
age = child: yes (11.0)
|
class = 3rd: no (510.0/88.0)
|
class = crew: no (862.0/192.0)
sex = female
|
class = 1st: yes (145.0/4.0)
|
class = 2nd: yes (106.0/13.0)
|
class = 3rd: no (196.0/90.0)
|
class = crew: yes (23.0/3.0)
04 jan 2012 / Rév. 1 - page 7 sur 47
Plan
Préambule
Clustering
Introduction
Présentation de KMeans
Clustering hierarchique
Clustering avec Weka
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 8 sur 47
Apprentissage supervisé vs non-supervisé
Apprentissage supervisé
Apprentissage non supervisé
x2
x1
Ensemble d’entrainement :
{(x(1) , y(1) ), (x(2) , y(2) ), · · · (x(m) , y(m) )}
Ensemble d’entrainement :
{x(1) , x(2) , · · · x(m) }
04 jan 2012 / Rév. 1 - page 9 sur 47
Apprentissage supervisé vs non-supervisé
Apprentissage supervisé
Apprentissage non supervisé
x2
x1
Ensemble d’entrainement :
{(x(1) , y(1) ), (x(2) , y(2) ), · · · (x(m) , y(m) )}
Ensemble d’entrainement :
{x(1) , x(2) , · · · x(m) }
04 jan 2012 / Rév. 1 - page 9 sur 47
Apprentissage supervisé vs non-supervisé
Apprentissage supervisé
x2
Apprentissage non supervisé
x2
x1
Ensemble d’entrainement :
{(x(1) , y(1) ), (x(2) , y(2) ), · · · (x(m) , y(m) )}
x1
Ensemble d’entrainement :
{x(1) , x(2) , · · · x(m) }
04 jan 2012 / Rév. 1 - page 9 sur 47
Apprentissage supervisé vs non-supervisé
Apprentissage supervisé
x2
Apprentissage non supervisé
x2
x1
Ensemble d’entrainement :
{(x(1) , y(1) ), (x(2) , y(2) ), · · · (x(m) , y(m) )}
x1
Ensemble d’entrainement :
{x(1) , x(2) , · · · x(m) }
04 jan 2012 / Rév. 1 - page 9 sur 47
Les algorithmes de clustering
I
Algorithme de clustering
I
I
I
I
Applications
I
I
I
Méthode pour grouper les données en sous-ensembles cohérents ou
clusters
Entrée : un ensemble de données non étiquetées
Sortie : plusieurs sous-ensembles de données cohérents
Segmentation de marché
Analyse de réseaux sociaux, etc.
Algorithme de classification dans Weka
I
I
I
I
HierarchicalClusterer
SimpleKMeans
Cobweb
EM (Expectation-Maximisation), etc.
04 jan 2012 / Rév. 1 - page 10 sur 47
L’onglet Cluster dans l’Explorer
04 jan 2012 / Rév. 1 - page 11 sur 47
Plan
Préambule
Clustering
Introduction
Présentation de KMeans
Clustering hierarchique
Clustering avec Weka
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 12 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Présentation de KMeans
x2
x1
04 jan 2012 / Rév. 1 - page 13 sur 47
Algorithme KMeans (1)
I
Entrée :
I
I
Ensemble de données {x(1) , x(2) , · · · x(m) }, x(i) ∈ Rn
K (nombre de clusters)
I
Initialiser aléatoirement K centroïdes µ1 , µ2 , · · · µK ∈ Rn
I
Répéter :
I
Étape 1 : assignation des clusters
Pour i = 1 jusqu’à m
c(i) = index (1 à K) du centroïde le plus proche de x(i)
trouver mink ||x(i) − µk ||2
I
Étape 2 : Déplacement des centroïdes
Pour k = 1 jusqu’à K
µk = moyenne des points assignés au cluster k
04 jan 2012 / Rév. 1 - page 14 sur 47
Algorithme KMeans (2)
I
La performance de KMeans dépend de beaucoup de paramètres
I
I
Utiliser Kmeans sans connaitre le nombre de clusters
I
I
Nombre de clusters, initialisation des centroïdes, etc.
Comment choisir le nombre de clusters ?
Il existe différentes stratégies
1. Essayer différentes possibilités et voir quelle est la meilleure
2. Réaliser un premier clustering (e.g. k = 2) et considérer un découpage
plus fin des clusters
04 jan 2012 / Rév. 1 - page 15 sur 47
Algorithme KMeans (3)
I
Une méthode simple et intuitive : la elbow method
I
Cost Function
I
Tracer la courbe entre le nombre de clusters (en abscisses) et la
fonction de coût (en ordonnées)
Pour KMeans, la fonction de coût est la sum of squared errors
Coude
1
2
3
4
5
6
7
8
Number of clusters
I
Attention la elbow method n’est pas toujours concluante
04 jan 2012 / Rév. 1 - page 16 sur 47
Algorithme KMeans (4)
Evaluation extrinsèque du nombre de clusters
poids
I
KMeans produit des clusters qui seront utilisés en entrée d’une autre
application
Taille de T-shirts
taille
poids
I
Taille de T-shirts
taille
04 jan 2012 / Rév. 1 - page 17 sur 47
Algorithme KMeans (4)
Evaluation extrinsèque du nombre de clusters
I
KMeans produit des clusters qui seront utilisés en entrée d’une autre
application
poids
Taille de T-shirts
L
poids
I
Taille de T-shirts
M
S
taille
taille
04 jan 2012 / Rév. 1 - page 17 sur 47
Algorithme KMeans (4)
Evaluation extrinsèque du nombre de clusters
I
KMeans produit des clusters qui seront utilisés en entrée d’une autre
application
poids
Taille de T-shirts
L
Taille de T-shirts
XL
poids
I
L
M
M
S
S
XS
taille
taille
04 jan 2012 / Rév. 1 - page 17 sur 47
Plan
Préambule
Clustering
Introduction
Présentation de KMeans
Clustering hierarchique
Clustering avec Weka
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 18 sur 47
Clustering hierarchique (1)
I
Clustering hiérarchique
I
I
I
Ascendant / agglomératif
Descendant / divisif
Clustering hierarchique → dendrogramme
04 jan 2012 / Rév. 1 - page 19 sur 47
Clustering hierarchique (2)
I
Agglomerative Hierarchical Clustering (HAC)
I
Supposons une mesure de similarité entre deux instances
1. Initialiser les instances dans des clusters séparés
2. Regrouper les deux clusters les plus similaires jusqu’à ce qu’il n’y
ai plus qu’un seul cluster
I
L’historique des regroupements forme un arbre binaire
I
Comment mesurer la distance entre deux clusters ?
I
I
I
I
Single-link : distance entre les instances les plus proches
Complete-link : distance entre les instances les plus éloignées
Average-link : distance moyenne entre les instances
Adjcomplete-link, Ward-link, etc.
04 jan 2012 / Rév. 1 - page 20 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Clustering hierarchique (3)
I
Agglomerative Hierarchical Clustering (HAC)
Average-link : distance moyenne entre les instances
I
Dendrogramme
x2
C
B
A
H
D
E
G
F
x1
ABCDEHFG
04 jan 2012 / Rév. 1 - page 21 sur 47
Plan
Préambule
Clustering
Introduction
Présentation de KMeans
Clustering hierarchique
Clustering avec Weka
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 22 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (1)
04 jan 2012 / Rév. 1 - page 23 sur 47
Clustering avec Weka (2)
04 jan 2012 / Rév. 1 - page 24 sur 47
Clustering avec Weka (3)
I
En ligne de commande, les algorithmes de clustering s’utilisent
d’une manière similaire aux classifieurs :
-t
-T
-p
-c
-x
-d
I
<file> spécifie l’ensemble d’entraînement
<file> spécifie l’ensemble de test
<attribute range> affichage des prédictions
<index> attribut utilisé pour l’évaluation
<folds> validation croisée (density-based clusterers)
<file> et -l <file> sauvegarder et charger un modèle
Lancer Kmeans sur l’ensemble de données data.arff en utilisant le
dernier attribut comme classe pour l’évaluation
java weka.clusterers.SimpleKMeans
-t data.arff -c last
04 jan 2012 / Rév. 1 - page 25 sur 47
Clustering avec Weka (4)
I
Évaluation difficile
I
I
Plusieurs clustering possibles
Comparaison avec les classes des données étiquetées
Démonstration 1
I
I
I
I
I
Application de KMeans avec plusieurs mesures de distance
Application de HierarchicalClusterer avec linkTypes
Ensemble de données weather.arff
Ensemble de points dans un plan cartésien à deux dimensions
Explication du jitter dans l’onglet visualize
I
Ajout de bruit aléatoire aux coordonnées des points tracés afin de
répartir les données (de sorte de pouvoir voir les points qui auraient pu
être masquées par d’autres)
04 jan 2012 / Rév. 1 - page 26 sur 47
Plan
Préambule
Clustering
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 27 sur 47
Interface Knowledge Flow (1)
I
Interface visuelle orientée utilisateur
I
I
Knowledge Flow = Flux de connaissances
Processus d’analyse des données
I
I
I
Composants Weka sélectionnés dans une barre d’outils
Composants (icones) placés sur un canevas
Composants connectés et représentés par un graphe dirigé
04 jan 2012 / Rév. 1 - page 28 sur 47
Interface Knowledge Flow (2)
04 jan 2012 / Rév. 1 - page 29 sur 47
Data Sources/Sinks
I
Utilisé pour indiquer la source des données
I
Nombreux formats supportés (ARFF, CSV, bases de données, ...)
I
Utilisé pour indiquer l’endroit où les données seront écrites
I
Nombreux formats supportés
04 jan 2012 / Rév. 1 - page 30 sur 47
Filters/Classifiers
I
Utilisé pour appliquer un pré-traitement au données
I
Nombreux filtres supervisés/non supervisés
I
Utilisé pour indiquer l’algorithme de classification à utiliser
I
Nombreux paramètres réglables
04 jan 2012 / Rév. 1 - page 31 sur 47
Clusterers/Associations
I
Utilisé pour indiquer l’algorithme de clustering à utiliser
I
Utilisé pour la génération de règles d’association
04 jan 2012 / Rév. 1 - page 32 sur 47
Evaluation/Visualization
I
Utilisé pour configurer les paramètres de l’évaluation
I
Paramètres pour le découpage des données, mesures, ...
I
Utilisé pour visualiser les sorties des classifieurs
I
Comparable à l’interface Explorer
04 jan 2012 / Rév. 1 - page 33 sur 47
Un exemple de Knowledge Flow (1)
I
Classification avec le Knowledge Flow
I
I
I
I
I
I
ArffLoader : lit une source au format ARFF
ClassAssigner : désigne la colonne considérée comme classe
TrainTestSplitMaker : découpe des données en entraînement/test
NaiveBayes : algorithme de classification
ClassifierPerformanceEvaluator : évaluation du classifieur
TextViewer : affichage au format texte
04 jan 2012 / Rév. 1 - page 34 sur 47
Un exemple de Knowledge Flow (2)
I
Clustering avec le Knowledge Flow
I
I
I
I
I
I
I
ArffLoader : lit une source au format ARFF
ClassAssigner : désigne la colonne considérée comme classe
TrainTestSplitMaker : découpe des données en entraînement/test
SimpleKMeans : algorithme de clustering
TextViewer : affichage au format texte
PredictionAppender : ajoute la prédiction du clusterer aux données
DataVisualizer : trace un graphique 2D des données
04 jan 2012 / Rév. 1 - page 35 sur 47
Un exemple de Knowledge Flow (3)
I
Interface accessible aux néophytes
I
Possibilité d’enregistrer les flux en binaire/xml
Démonstration 2
I
I
Classification J48 avec le Knowledge Flow
Clustering hierarchique avec le Knowledge Flow
04 jan 2012 / Rév. 1 - page 36 sur 47
Plan
Préambule
Clustering
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 37 sur 47
Utiliser Weka dans votre code (1)
I
Il est possible d’utiliser weka dans son propre code Java
I
Une API riche, de nombreux exemples
import weka.clusterers.SimpleKMeans;
import weka.clusterers.ClusterEvaluation;
public class ClusteringDemo {
public static void main(String[] args) {
String[] options;
options = new String[2];
options[0] = "-t";
options[1] = "fichier.arff";
System.out.println(
ClusterEvaluation.evaluateClusterer(
new SimpleKMeans(), options ));
}
}
04 jan 2012 / Rév. 1 - page 38 sur 47
Utiliser Weka dans votre code (2)
I
Python
I
I
I
I
Perl, C++, etc.
I
I
pyweka : un wrapper de weka pour Python
JPype : accéder aux librairies Java avec Python
Jython : Python pour la plateforme Java
Peu d’initiatives
Logiciels utilisant Weka
I
I
Très nombreux prototypes de recherche
Pentaho Business Intelligence (BI)
04 jan 2012 / Rév. 1 - page 39 sur 47
Utiliser Weka dans votre code (3)
I
Récupérer les prédictions pour chaque instance d’un classifieur
I
I
I
-c last la classe correspond au dernier attribut
-p 0 Affiche les prédictions avec les attributs <range>
-distribution affiche la distribution de probabilités
java weka.classifiers.bayes.NaiveBayes
-t train.arff -T test.arff
-p 0 -distribution > output.txt
I
Contenu du fichier output.txt
inst#
actual
1
2:no
1
2:no
2
1:yes
[...]
predicted error distribution
1:yes
+
*1,0
1:yes
+
*0.622,0.378
1:yes
*0.776,0.224
04 jan 2012 / Rév. 1 - page 40 sur 47
Utiliser Weka dans votre code (4)
I
Récupérer les numéros des clusters assignés par un Clusterer
I
Le filtre AddCluster ajoute le cluster comme attribut nominal
java weka.filters.unsupervised.attribute.AddCluster
-W "weka.clusterers.SimpleKMeans -N 3"
-I last -i iris.arff -o out.arff
I
Contenu du fichier out.arff
@attribute sepallength numeric
[...]
@attribute cluster {cluster1,cluster2,cluster3}
@data
5.1,3.5,1.4,0.2,Iris-setosa,cluster2
4.9,3,1.4,0.2,Iris-setosa,cluster2
[...]
04 jan 2012 / Rév. 1 - page 41 sur 47
Utiliser Weka dans votre code (5)
I
Probabilité qu’une instance soit assignée à un cluster
java weka.filters.unsupervised.attribute.ClusterMembership
-W weka.clusterers.EM -I last -i iris.arff -o out.arff
-- -N 3 (options supplementaires pour EM)
I
Contenu du fichier out.arff
@attribute pCluster_0_0 numeric
@attribute pCluster_0_1 numeric
@attribute pCluster_0_2 numeric
@data
0.999944,0,0.000056
0.098355,0,0.901645
0,1,0
[...]
04 jan 2012 / Rév. 1 - page 42 sur 47
Plan
Préambule
Clustering
Interface Knowledge Flow
Utiliser Weka dans votre code
Conclusion
04 jan 2012 / Rév. 1 - page 43 sur 47
Résumé du cours
I
Aperçu de Weka et de ses nombreuses interfaces
I
I
I
I
Explorer/Experimenter pour visualiser, premiers tests
Simple CLI pour lancer des tâches lourdes
KnowledgeFlow pour visualiser la chaîne de traitement
Notions d’algorithmes de classification / clustering
I
Il n’y a pas de “meilleur" algorithme
I
Connaissances minimales pour entraîner, évaluer et comparer des
méthodes d’apprentissage automatique
I
De nombreuses fonctionnalités supplémentaires : méthodes de
régression, règles d’associations, sélection d’attributs, etc.
04 jan 2012 / Rév. 1 - page 44 sur 47
Pentaho
I
Leader des applications BI Open source
I
Modèle par souscription d’abonnement
I
I
Gratuité de la version Community edition
Composants de la suite Pentaho
I
I
I
I
I
Analysis : traitement analytique en ligne (OLAP)
Reporting : création de rapports
Data Mining : technologie de Data Mining Weka...
Data Integration : extraction, transformation, chargement des infos
DashBoard : tableaux de bord pour les renseignements immédiats
04 jan 2012 / Rév. 1 - page 45 sur 47
Autres outils de Machine Learning
I
Shogun toolbox
I
I
Orange
I
I
Apache, Java, calcul distribué sur la plateforme Hadoop
Bibliothèques spécialisés
I
I
OpenSource, Python, sponsorisé par l’INRIA/Google
Apache Mahout
I
I
GNU GPL, C++/Python, interface graphique évoluée
scikit-learn
I
I
OpenSource, C++, bio-informatique (grande quantité de données)
LibSVM, SVMlight, CRF++, etc.
Matlab/R/Octave et les suites bureautiques (Office, Ooo)
04 jan 2012 / Rév. 1 - page 46 sur 47
Coursera
I
Coursera est un portail web qui permet l’accès gratuit à certain
cours d’Université prestigieuses
I
I
I
I
Stanford University (ML, NLP, Cripto, etc.)
University of California, Berkeley (Computer vision, etc.)
University of Michigan (Model Thinking)
Le cours de Machine Learning est donné par Andrew Ng
I
I
I
Lectures découpées en vidéos de 8-12 minutes
Vidéos sous-titrées
Quiz, devoirs, etc.
I
https://www.coursera.org
I
http://www.ml-class.org
04 jan 2012 / Rév. 1 - page 47 sur 47
Téléchargement