Data mining avec Rattle

De EduTech Wiki
Aller à : navigation, rechercher
Analytique et exploration de données‎‎
Module: Tutoriels R
◀▬
brouillon intermédiaire
2014/12/16
Voir aussi

1 Introduction

Rattle est un GUI graphique de data mining pour R, lancé depuis une console R

2 Introduction

Rattle est surtout un paquet pour le data mining numérique. Toutefois on peut (en principe) faire des analyses multi-variées assez intéressantes.

Ceci dit, notre version plante assez souvent avec des messages pas très explicites comme:

Error in .External.graphics(C_layout, num.rows, num.cols, mat, as.integer(num.figures),  : 
 invalid graphics state

En outre, certaines opérations sont très lentes et on ne sait pas pourquoi ...

3 Installation

Rattle est un paquet R et s'installe (en principe) facilement. Pour chaque opération, Rattle risque de demander l'installation d'autres paquets. La plupart s'installent facilement

Note importante pour Windows: Faire tourner R ou R-Studio sous administrateur. Dans le gestionnaire de fichiers s, clic droit sur l'icône et choisir "Run as administrator" (cherchez l'équivalent en français)

> install.packages("rattle", lib="/usr/local/lib/R/site-library")
> library (rattle)
Rattle: A free graphical interface for data mining with R.
Version 3.3.0 Copyright (c) 2006-2014 Togaware Pty Ltd.
Type 'rattle()' to shake, rattle, and roll your data.
> rattle ()

4 Cluster analysis hiérarchique de documents textes

A priori c'est probablement mieux de faire tout dans R, car dans Rattle on a peu de contrôle sur les opérations.

Etapes:

(1) Préparer des fichiers
Mettre des fichiers ascii dans un répertoire (voir Tutoriel tm text mining package)

Attention, Rattle fait automatiquement les opérations suivantes, y compris des transformations par défaut. Je ne sais pas comment les changer:

y.corpus <- Corpus(DirSource("/home/schneide/schneide/methodo/R/wiki_txt_clean"))
# The 'SnowballC' package provides the 'stemDocument' function.
require(SnowballC, quietly=TRUE)
# Transform the documents.
my.corpus <- tm_map(my.corpus, stripWhitespace)
my.corpus <- tm_map(my.corpus, tolower)
my.corpus <- tm_map(my.corpus, removeWords, stopwords("english"))
my.corpus <- tm_map(my.corpus, stemDocument)
my.corpus <- tm_map(my.corpus, removePunctuation)
my.corpus <- tm_map(my.corpus, removeNumbers)
# Convert into a dataset.
crs$dataset <- as.data.frame(t(as.matrix(TermDocumentMatrix(my.corpus))))
  • Cliquer sur l'onglet Data
    • Cocher "Corpus"
    • Décocher toutes les options car (a) sinon cela se plante et (b) vous avez déjà des fichiers "sacs de mots" bien nettoyés !
    • Cliquer sur Execute (en haut à gauche)
    • Cocher Target data type = Categoric (pas comme dans le dessin ci-dessous !)
Rattle-read-corpus.png
  • Cliquer sur l'onglet "Cluster"
    • Cliquer sur Hierarchical
    • Ensuite explorer le résultat, par exemple cliquer sur "Dendogram"

Exemple:

Dengramme d'une analyse typologique basée sur la fréquence des mots (avec Rattle)

On ne peut pas vraiment l'interpréter, car (a) il a racinisé Anglais des racines françaises et (b) se plante trop souvent avec des messages d'erreurs inutiles

Conclusion: Prodécure pas vraiment recommandée pour le text mining ... il reste à voir si cet outil marche mieux avec des matrices importées que l'on importera avec un fichier RData