Data mining avec Rattle
Analytique et exploration de données | |
---|---|
Module: Tutoriels R | |
◀▬ | |
⚐ brouillon | ☸ intermédiaire |
⚒ 2020/03/22 | |
Voir aussi | |
Catégorie: R |
Introduction
Rattle est un GUI graphique de data mining pour R, lancé depuis une console R
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 ...
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 ()
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 !)
- Cliquer sur l'onglet "Cluster"
- Cliquer sur Hierarchical
- Ensuite explorer le résultat, par exemple cliquer sur "Dendogram"
Exemple:
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