From fc6e8ce9c903fd8c3d7bcdc1a2b844678acf2ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Sun, 18 Oct 2015 15:54:55 -0400 Subject: [PATCH] ajout analyse projets --- Analyse.Rmd | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/Analyse.Rmd b/Analyse.Rmd index a392d86..d5b88f6 100644 --- a/Analyse.Rmd +++ b/Analyse.Rmd @@ -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)) ``` -