# Applicazioni pratiche di machine learning/Diagnosi di malattie mentali

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

## Diagnosi tramite descrizione sintomatologia

Attraverso il modello di machine learning BERT che si trova qui : https://huggingface.co/edmundhui/mental_health_trainer è possibile descrivere in maniera discorsiva il proprio disagio psichico in inglese nell'apposita casella di testo, ottenendo una diagnosi psichiatrica con relativa accuracy.

## Diagnosi tramite risposta ad alcune domande

E' possibile ottenere sapere se si è affetti da un disturbo mentale oppure no, attraverso il modello di machine learning con algoritmo LinearDiscriminantAnalysis che si trova qui : https://huggingface.co/gianlab/model-mental-health-prediction, nel quale bisogna inserire dati tra cui il reddito, se si è disoccupati, l'età, sesso, stanchezza, difficoltà di concentrazione ecc. ottenendo una previsione con un'Accuracy del 83,58%

## Esempio di codice R per la diagnosi di malattie mentali
### Parte 1 : Dati

Il dataset scaricabile da qui : https://osmihelp.org/research è ricavato da un sondaggio del 2014, che misura le attitudini verso la salute mentale e la frequenza di disturbi mentali in ambienti di lavoro tecnologici. E' costituito da 1259 records contenenti ognuna 27 risposte, confluite nelle seguenti 27 variabili:
* Timestamp: Data della registrazione
* Age: Età del rispondente
* Gender: Sesso
* Country: Paese del rispondente
* state: Se vivi negli Stati Uniti, in quale stato o territorio risiedi?
* self_employed: Sei un lavoratore autonomo ?
* family_history: Hai una storia familiare di malattia mentale?
* treatment: Hai cercato un trattamento farmacologico o psicoterapeutico per problemi di salute mentale?
* work_interfere: Se hai un problema di salute mentale, questo interferisce con il tuo lavoro?
* no_employees: Quanti impiegati ha la tua azienda o organizzazione?
* remote_work: Lavori in remoto al di fuori dell'ufficio per almeno il 50% del tempo?
* tech_company: Il tuo datore di lavoro è principalmente un'azienda oppure un' organizzazione tecnologica?
* benefits: Il tuo datore di lavoro offre benefits per la salute mentale?
* care_options: Conosci le possibilità di assistenza per la salute mentale offerte dal tuo datore di lavoro??
* wellness_program: Il tuo datore di lavoro ha mai discusso di salute mentale nell'ambito di un programma di benessere per i dipendenti?
* seek_help: il tuo datore di lavoro fornisce risorse per saperne di più sui problemi di salute mentale e su come chiedere aiuto?
* anonymity: il tuo anonimato è protetto se scegli di utilizzare le risorse per la salute mentale o contro l'abuso di sostanze?
* leave: quanto è facile per te prendere un congedo medico per un problema di salute mentale??
* mentalhealthconsequence: Pensi che discutere di un problema di salute mentale con il tuo datore di lavoro avrebbe conseguenze negative?
* physhealthconsequence: Pensi che discutere di un problema di salute fisica con il tuo datore di lavoro avrebbe conseguenze negative?
* coworkers: Saresti disposto a discutere di un problema di salute mentale con i tuoi colleghi?
* supervisor: Saresti disposto a discutere un problema di salute mentale con i tuoi diretti supervisori?
* mentalhealthinterview: Faresti emergere un problema di salute mentale con un potenziale datore di lavoro in un'intervista?
* physhealthinterview: faresti emergere un problema di salute fisica con un potenziale datore di lavoro in un'intervista?
* mentalvsphysical: ritieni che il tuo datore di lavoro prenda in considerazione la salute mentale tanto seriamente quanto la salute fisica?
* obs_consequence: hai sentito parlare o hai osservato conseguenze negative per i colleghi con problemi di salute mentale sul posto di lavoro?
* comments: eventuali note o commenti aggiuntivi
Si crea una nuova variabile sex, a partire dalla variabile gender, che può assumere soltanto 3 valori : Maschio, Femmina e Trans .
Gestione dei valori mancanti:

### Parte 2 : Domanda di ricerca

Predicendo la variabile treatment a partire dalle variabili family_history, work_interfere e sex si vuole effettuare una diagnosi del disturbo mentale utilizzando come predictors il sesso, se si ha una storia familiare di malattia mentale e se il disagio mentale interferisce con il lavoro, utilizzando l'algoritmo di machine learning Random Forest.

### Parte 3 : Esplorazione dei dati

Come si vede dal seguente grafico nel campione il numero di persone in trattamento farmacologico o psicoterapico che hanno una storia familiare di malattia mentale è maggiore di chi è sano mentalmente:
Come si vede dal seguente grafico nel campione chi ha un problema di salute mentale ha maggiori problemi in ambito lavorativo:

### Parte 4 : Modellizzazione e diagnosi

Si divide il dataset in un training set con 879 osservazioni ed un testing set con 375 osservazioni . Sul training set si costruisce un modello previsionale per diagnosticare un disturbo mentale a partire dalle variabili sex, work_interfere e family_history, utilizzando l'algoritmo Random Forest e lo si prova sul testing set, ottenendo un'Accuracy nella diagnosi dell'82,67%

### Esempio di diagnosi

Si prenda ad esempio un uomo con una storia familiare di disagio psichico che interferisce spesso con la vita lavorativa, allora per il modello c'è un problema mentale :