Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Pentaho
  3. Analyse de données via Weka
Extrait - Pentaho Mise en place d'une solution Open Source de Business Intelligence
Extraits du livre
Pentaho Mise en place d'une solution Open Source de Business Intelligence Revenir à la page d'achat du livre

Analyse de données via Weka

Présentation générale de Weka

1. Fonctionnalités de Weka

Weka est un logiciel, pouvant être utilisé indépendamment de la suite Pentaho, qui est basé sur des algorithmes de Data Mining.

L’utilisateur a le choix entre de multiples méthodes statistiques applicables en particulier sur des données d’un Datawarehouse. Weka dispose aussi de son propre mécanisme de workflow pour séquencer des traitements sur les données comme on peut en trouver dans les ETL par exemple.

Weka est un outil Open Source que l’on doit à l’Université néo-zélandaise de Waikato. Ce logiciel est désormais intégré dans la suite Pentaho.

Weka est une application Java qui dans sa dernière version 3.6 peut être utilisée en environnement Windows mais aussi sous Mac OS X et sous Linux.

Le logiciel peut accéder à de nombreuses sources de données en format texte (ARFF, CSV...) ou à des bases de données SQL via une connexion JDBC.

L’un des objectifs majeurs des algorithmes de Data Mining (analyse de données) est de permettre des prédictions, des projections par rapport aux données passées et actuelles. Ces différents algorithmes sont regroupés en catégories : régression, classification, association et cluster. Tous tendent à vouloir prédire une situation future à partir d’un existant. Ces méthodes sont utiles dans tous les secteurs d’activité : économie, médecine, agronomie...

Les principaux points forts de Weka sont donc :

  • sa disponibilité sous la licence publique générale GNU,

  • sa portabilité liée au fait qu’il soit entièrement implémenté en Java et donc fonctionne sur quasiment toutes les plates-formes modernes (y compris Windows)...

Traitements Weka

Quelques traitements Weka sont commentés ci-après à titre d’exemples (arbre de décision et régression). Les algorithmes ne seront commentés que brièvement.

1. Arbre de décision

a. Approche statistique

L’arbre de décision est une méthode statistique faisant partie de la famille des algorithmes de classification supervisée. Cette méthode sert à prédire la valeur d’une variable en fonction d’autres variables. En matière de classification, il existe en réalité deux types de variables que l’on peut prendre en compte :

  • Variables nominales ou symboliques (sexe, type d’habitat...) sur lesquelles on applique des méthodes de classement (aussi appelées classification en anglais par abus de langage).

  • Variables numériques sur lesquelles on applique des méthodes de régression.

b. Les données à traiter

Le jeu de données weather.arff, que l’on trouve également dans le répertoire data de l’installation Weka, va servir de support.

Dans ce fichier on trouve des observations météorologiques (soleil, temps nuageux, pluie), des mesures de température et d’humidité, un indicateur booléen de vent ou pas et une variable à expliquer (play) qui précise si l’on pratique le sport ou pas en fonction des conditions climatiques.

@relation weather

@attribute outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}

@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no 

c. Accès aux données sous Weka

Avant d’envisager le moindre traitement statistique sur les données, il faut sous Weka les lire (en général depuis un fichier texte au format ARFF).

Le chargement des données s’effectue à partir de l’option Explorer depuis le menu général de Weka, puis par le bouton Open file de l’onglet Preprocess :

16EP05.png

Des informations générales...

Utilisation du workflow de Weka

Weka dispose d’un module particulièrement puissant de workflow pour séquencer des traitements statistiques. Ce dispositif est d’autant plus intéressant que :

  • le nombre de méthodes utilisables sous Weka est impressionnant et les traitements peuvent naturellement s’enchaîner (lecture des données, filtrage, traitements statistiques multiples...),

  • le paramétrage des modules statistiques est parfois complexe et les mémoriser dans un dispositif de type workflow est un plus.

La mise en place des étapes du workflow s’effectue un peu comme cela a été vu dans l’ETL Pentaho Data Integration.

Le module workflow est accessible au travers de l’application KnowledgeFlow disponible au menu général (Weka GUI Chooser).

Commençons par sélectionner l’outil Arff Loader dans la barre d’outils DataSources et cliquons sur le plan de travail pour positionner l’icône associée et terminons par un double clic sur cette icône pour ouvrir la fenêtre de choix du fichier ARFF à lire :

16EP16.png

Pour visualiser le contenu du fichier houses.arff sélectionné, il faut ensuite placer dans le workflow un traitement d’affichage. Sélectionnons l’outil Attribute Summarizer dans la palette Visualization pour cela. Une fois ceci réalisé, il reste à...

Connexion de Weka à des sources de données JDBC

1. Installation du pilote d’accès

Le jeu de données sur lequel doit opérer Weka est bien souvent fourni par une base de données, accessible via une connexion JDBC.

Dans la majorité des versions de Weka (Windows 32 bits/64 bits, Mac OS X, Linux...) il est indispensable pour se connecter à certaines sources de données (MySQL dans notre cas) d’installer le pilote concerné.

Pour MySQL, il faut copier dans le répertoire Weka (C:\Pentaho_CE\Weka-3.7.3 en ce qui nous concerne) le pilote MySQL mysql-connector-java-5.1.0-bin.jar (ou une version plus récente). Ce pilote est téléchargeable à l’adresse http://dev.mysql.com/downloads/connector/j/.

Dans le fichier de paramètres RunWeka.ini (évoqué dans la procédure d’installation), il faut définir le chemin d’accès au pilote MySQL.

On doit remplacer la séquence :

# The classpath placeholder. Add any environment variables or jars to it that
# you need for your Weka environment.
# Example with an environment variable (e.g., THIRD_PARTY_LIBS):
#   cp=%CLASSPATH%;%THIRD_PARTY_LIBS%
# Example with an extra jar (located at D:\libraries\libsvm.jar):
#   cp=%CLASSPATH%;D:\\\\libraries\\\\libsvm.jar
# Or in order to avoid quadrupled backslashes, you can also use slashes "/":
#   cp=%CLASSPATH%;D:/libraries/libsvm.jar
cp=%CLASSPATH% 

par :

# The classpath placeholder. Add any environment variables or jars to it that
# you need for your Weka environment.
# Example with an environment variable (e.g., THIRD_PARTY_LIBS):...