« Data mining avec Rattle » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 37 : Ligne 37 :
== Cluster analysis hiérarchique de documents textes ==
== Cluster analysis hiérarchique de documents textes ==


A priori c'est probablement mieux de faire tout dans R, car on a peu de contrôle sur les opérations.
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:
Etapes:


* Mettre des fichiers nettoyés dans un répertoire (voir [[Tutoriel tm text mining package]])
; (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"))
<source lang="matlab">
# 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))))
</source>


* Cliquer sur l'onglet Data
* Cliquer sur l'onglet Data

Version du 28 novembre 2014 à 18:54

Tutoriels R
◀▬
brouillon intermédiaire
2014/11/28
Voir aussi

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 !)
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)