ajout analyse projets

This commit is contained in:
François Pelletier 2015-10-18 15:54:55 -04:00
parent da58ef73c5
commit fc6e8ce9c9

View file

@ -13,20 +13,21 @@ load(file = "donnees_clean.RData")
## Aperçu quantitatif des données
```{r}
library(plyr)
library(psych)
attach(rawdata2)
library(tm)
library(RTextTools)
library(topicmodels)
```
## Nom de l'organisme
On remarque, en calculant la fréquence des noms des organismes, que certains d'entre eux présentent des variations dans leur nom. Nous allons corriger ceci en utilisant un algorithme de similarité de la famille Latent Dirichlet Allocation.
```{r}
(freq_nom_organisme <- as.data.frame(table(nom_organisme)))
library(tm)
library(RTextTools)
library(topicmodels)
(freq_nom_organisme <- as.data.frame(table(rawdata2$nom_organisme)))
unique_nom_organisme <- unique(nom_organisme)
unique_nom_organisme <- unique(rawdata2$nom_organisme)
organisme_matrix <- create_matrix(as.vector(unique_nom_organisme),
language = "french",
@ -35,12 +36,29 @@ organisme_matrix <- create_matrix(as.vector(unique_nom_organisme),
weighting = weightTf)
lda <- LDA(organisme_matrix, 154 , method = "VEM", control = list(alpha = 0.75))
nom_topic <- data.frame(nom_organisme = unique_nom_organisme,TOPIC = as.integer(topics(lda)))
lda_organisme <- LDA(organisme_matrix, 154 , method = "VEM", control = list(alpha = 0.75))
nom_topic <- data.frame(nom_organisme = unique_nom_organisme,organisme = as.integer(topics(lda_topic)))
nom_topic_merged <- merge(nom_topic,freq_nom_organisme,by = "nom_organisme")
nom_topic_sorted <- nom_topic_merged[order(nom_topic_merged$TOPIC,-nom_topic_merged$Freq),]
nom_topic_sorted <- nom_topic_merged[order(nom_topic_merged$organisme,-nom_topic_merged$Freq),]
nom_topic_sorted$organisme[nom_topic_sorted$nom_organisme=="Sécurité publique"] <- 53
nom_topic_unique <- ddply(nom_topic_sorted, .(organisme), summarize, nom_organisme=nom_organisme[which.max(Freq)])
correspondance_nom_organisme <- merge(nom_topic_sorted,nom_topic_unique,by="organisme")
rawdata3 <- subset(merge(rawdata2,subset(correspondance_nom_organisme, select = -c(Freq,organisme)),by.x = "nom_organisme", by.y = "nom_organisme.x"),select=-c(nom_organisme))
colnames(rawdata3)[which(names(rawdata3) == "nom_organisme.y")] <- "nom_organisme"
```
## Description du projet
```{r}
unique_description <- unique(rawdata2$description_du_projet)
description_matrix <- create_matrix(as.vector(unique_description),
language = "french",
removeNumbers = TRUE,
stemWords = TRUE,
weighting = weightTf)
lda <- LDA(description_matrix, 30 , method = "VEM", control = list(alpha = 0.1))
```