Applicazioni pratiche di machine learning/Identificazione dei social bot: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 101:
 
[[File:Boxplots di una variabile degli users di Twitter.png|frame|centro]]
 
 
== Parte 4: Modellizzazione e previsione ==
 
Divido il dataframe df, contenente sia utenti regolari che social bot, in un training set costituito dal 70% delle osservazioni casuali, ottenendo 2.701 utenti, ed in un testing set costituito dai rimanenti 1.156 utenti:
 
<syntaxhighlight lang="rsplus">
train <- createDataPartition(df$Tipo_di_utente ,p=0.7, list = FALSE)
training <- df[train,]
testing <- df[-train,]
 
</syntaxhighlight>
 
Utilizzando l'algoritmo di machine learning ''Random Forest'' ottendo un'Accuracy quasi del 100% sul training set e del 95,76% sul testing set, quindi un buon modello che consente di distinguere gli utenti regolari di Twitter dai social bot.
 
 
<syntaxhighlight lang="rsplus">
model <- train( Tipo_di_utente ~ .,data=training, method="rf", ntree=10 )
 
p1 <- predict(model,newdata = training)
print(confusionMatrix(p1,training$Tipo_di_utente))
 
p1 <- predict(model,newdata = testing)
print(confusionMatrix(p1,testing$Tipo_di_utente))
 
</syntaxhighlight>
 
 
Confusion Matrix and Statistics
Reference
Prediction bot human
bot 260 2
human 9 2430
Accuracy : 0.9959
95% CI : (0.9927, 0.998)
No Information Rate : 0.9004
P-Value [Acc > NIR] : < 2e-16
Kappa : 0.977
Mcnemar's Test P-Value : 0.07044
Sensitivity : 0.96654
Specificity : 0.99918
Pos Pred Value : 0.99237
Neg Pred Value : 0.99631
Prevalence : 0.09959
Detection Rate : 0.09626
Detection Prevalence : 0.09700
Balanced Accuracy : 0.98286
'Positive' Class : bot
 
Confusion Matrix and Statistics
Reference
Prediction bot human
bot 80 15
human 34 1027
Accuracy : 0.9576
95% CI : (0.9443, 0.9685)
No Information Rate : 0.9014
P-Value [Acc > NIR] : 7.282e-13
Kappa : 0.7425
Mcnemar's Test P-Value : 0.01013
Sensitivity : 0.70175
Specificity : 0.98560
Pos Pred Value : 0.84211
Neg Pred Value : 0.96795
Prevalence : 0.09862
Detection Rate : 0.06920
Detection Prevalence : 0.08218
Balanced Accuracy : 0.84368
'Positive' Class : bot