# Applicazioni pratiche di machine learning/Identificazione dei social bot

Applicazioni pratiche di machine learning
Copertina Tutti i moduli · Sviluppo
* Applicazioni pratiche di machine learningApplicazioni pratiche di machine learning
** Previsioni su scommesse sportiveApplicazioni pratiche di machine learning/Previsioni su scommesse sportive
** Previsioni su azioni, criptovalute, derivatiApplicazioni pratiche di machine learning/Previsioni su azioni, criptovalute, derivati
** Trovare lavoroApplicazioni pratiche di machine learning/Trovare lavoro
** Previsioni sul cambiamento climaticoApplicazioni pratiche di machine learning/Previsioni sul cambiamento climatico
** Previsioni sul livello del mareApplicazioni pratiche di machine learning/Previsioni sul livello del mare
** Previsioni sulle produzioni agricoleApplicazioni pratiche di machine learning/Previsioni sulle produzioni agricole
** Riconoscimento della scrittura a manoApplicazioni pratiche di machine learning/Riconoscimento della scrittura a mano
** Previsioni sugli incendiApplicazioni pratiche di machine learning/Previsioni sugli incendi
** Diagnosi di malattieApplicazioni pratiche di machine learning/Diagnosi di malattie
** Diagnosi di malattie mentaliApplicazioni pratiche di machine learning/Diagnosi di malattie mentali
** Identificazione delle pulsarApplicazioni pratiche di machine learning/Identificazione delle pulsar
** Identificazione dei social botApplicazioni pratiche di machine learning/Identificazione dei social bot
** Approvazione carte di creditoApplicazioni pratiche di machine learning/Approvazione carte di credito
** Previsione di reatiApplicazioni pratiche di machine learning/Previsione di reati
** Concessione sussidiApplicazioni pratiche di machine learning/Concessione sussidi
** Previsione di vendite futureApplicazioni pratiche di machine learning/Previsione di vendite future
** Segmentazione dei clientiApplicazioni pratiche di machine learning/Segmentazione dei clienti
** Previsioni su direct mailApplicazioni pratiche di machine learning/Previsioni su direct mail
* Appendice
** Installazione di RApplicazioni pratiche di machine learning/Installazione di R
** Creare reports in RStudioApplicazioni pratiche di machine learning/Creare reports in RStudio
** Creare reports in JupyterApplicazioni pratiche di machine learning/Creare reports in Jupyter
** ChatGpt come data analyst o data scientistApplicazioni pratiche di machine learning/ChatGpt come data analyst o data scientist
Modifica il sommario

## Parte 1: Dati

I social bot sono programmi che distribuiscono messaggi di propaganda politica attraverso i social media e hanno il compito di influenzare le discussioni e/o le opinioni dei loro lettori .
Il dataset users.csv scaricabile da qui : https://www.nbcnews.com/tech/social-media/now-available-more-200-000-deleted-russian-troll-tweets-n844731 contiene social bot russi di Twitter che sono stati utilizzati per influenzare le elezioni presidenziali degli Stati Uniti nel 2016. In particolare per screditare i democratici ci sono per esempio tweets, che danno fake news sulla stregoneria praticata da alcuni democratici, oppure li dipingono come attivisti dell'organizzazione Black Lives Matter, impegnata nella lotta contro il razzismo nei confronti dei neri . Il dataset users_regular.csv contiene invece dati relativi a utenti regolari di Twitter.
Le variabili dei datasets che si utilizzano per identificare i social bot, rispetto agli utenti normali sono :
* followers_count: Numero di account Twitter che seguono questo account
* following_count: Numero di account Twitter seguiti da questo account
* friends_count: Numeri di amici di questo account
* statuses_count: Numero di post pubblici creati da questo account
* listed_count: Numero di liste in cui appare questo account
Caricamento dei dati:
Inserisco nei datasets la variabile da predire Tipo_di_utente che può assumere i valori human o bot
Alcuni dati statistici come min, max, media, mediana, 1° quartile, 3° quartile si ottengono con la funzione summary
Elimino le righe del dataset contententi valori mancanti NA:

## Parte 2: Domanda di ricerca

Si vuole costruire un modello previsionale di machine learning che consenta di distinguere gli utenti regolari di Twitter dai social bot.

## Parte 3: Esplorazione dei dati

Le variabili che si utilizzano come predictors nell'analisi sono tutte fortemente distorte a destra, nel senso che la maggiorparte degli utenti di Twitter hanno pochi followers, pochi amici ecc. e ci sono invece pochi utenti che ne hanno tantissimi al punto da potersi considerare outliers o valori anomali

## 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:
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.

## Identificazione di un utente di Twitter

Un utente di Twitter con i seguenti dati per il modello è umano, non è un social bot: