Projets informatiques MIMSE M2

◄ Retour au projet

Fonction prediction

prediction = function(user){
  # On récupère 200 tweets pour être sûr d'en avoir au moins 100 qui ne sont pas des RT
  tweets = userTimeline(user,n=200)
  # On récupère le texte des tweets
  some_txt = sapply(tweets,function(x) x$getText())
  # On nettoie les tweets
  some_txt = nettoyage(some_txt)
  # On garde les 100 premiers
  some_txt = some_txt[1:100]
  # On les colle ensemble pour n'avoir qu'un groupe
  some_txt = paste(some_txt,collapse=" ")
  
  # On supprime les stop words et on génère la table des fréquences
  some_txt = removeWords(some_txt,stopwords("french"))
  corpus = Corpus(VectorSource(some_txt))
  tdm = TermDocumentMatrix(corpus)
  tdm = as.matrix(tdm)
  noms = row.names(tdm)
  tdm = t(tdm)
  tdm = tdm/apply(tdm,1,'sum')
  
  # On crée la matrice ne contenant que les mots utilisés dans la classification
  tmp = c()
  for (i in noms_classif){
    ind = which(noms==i)
    if (length(ind)==0){
      tmp = cbind(tmp,rep(0,length(tdm[,1])))
    }
    else
      tmp = cbind(tmp,tdm[,ind])
  }
  tdm = tmp
  
  # On fait la prédiction du parti
  pred = predict(object=svm.gaus,newdata=tdm)
  parti = c("FN","LR","PG","PS")
  return(parti[pred])
}
◄ Retour au projet