Utilizza diversi classificatori Naive Bayes per scegliere come target dati diversi

Aug 19 2020

Mi sto esercitando a usare il classificatore Naive Bayes per prevedere se le persone hanno un ictus o meno, ma sono confuso con due classificatori. Uno è categorico Naive Bayes, un altro è Gaussian Naive Bayes.

Ad esempio, nel set di dati sono presenti diversi attributi di testo come gender, ever_married e ever_smoked. Alcune delle colonne sono dati numerici. Per la standardizzazione, utilizzo manichini come sex = pd.get_dummies(df['gender'],drop_first=True)trasformare il testo in binario, quindi standardizzare il set di dati e utilizzare il classificatore Gaussian Naive Bayes per addestrare i dati. È questo il modo corretto per farlo?

O dovrei usare direttamente il Categorical Naive Bayes per addestrare i dati? Tuttavia, alcune colonne sono numeriche, quindi non è ragionevole utilizzare questo classificatore?

Qualsiasi aiuto è molto apprezzato.

Risposte

2 MatchMakerEE Aug 19 2020 at 18:14

In primo luogo, il termine "Naive Bayes" si riferisce all'assunzione fatta di indipendenza condizionale tra le variabili caratteristiche, dato il risultato della classe (cioè, "ictus" o "no-stroke"). Prendendo le variabili gender e ever_smoked, l'indipendenza condizionale si scrive come$Gender \; INDEP \; EverSmoked \; \mid \; Stroke$. L'indipendenza condizionale può valere anche per variabili numeriche.

Le tue due variabili Gender e EverSmoked sono categoriche, quindi un classificatore discreto è appropriato per il tuo scopo (puoi provare il servizio web standard Insight Classifiers , che gestisce anche variabili numeriche , tutto in una volta).

In generale, le reti neurali (profonde), le macchine vettoriali di supporto e gli alberi decisionali (C4.5) combinano facilmente variabili di caratteristiche discrete e continue.