Supponiamo che sto lavorando su un problema di classificazione. (Il rilevamento delle frodi e lo spam nei commenti sono due problemi a cui sto lavorando in questo momento, ma sono curioso di qualsiasi compito di classificazione in generale.)
Come faccio a sapere quale classificatore dovrei usare?
- Albero decisionale
- SVM
- bayesiano
- Rete neurale
- K-vicini più vicini
- Q-learning
- Algoritmo genetico
- Processi decisionali di Markov
- Reti neurali convoluzionali
- Regressione lineare o regressione logistica
- Potenziare, insaccare, confondere
- Arrampicata casuale o ricottura simulata
- ...
In quali casi una di queste è la prima scelta "naturale", e quali sono i principi per sceglierla?
Esempi del tipo di risposte che sto cercando (dall'Introduzione al libro di reperimento delle informazioni di Manning et al. ):
un. Se i tuoi dati sono etichettati, ma hai solo un importo limitato, dovresti utilizzare un classificatore con distorsione elevata (ad esempio, Naive Bayes) .
Immagino che ciò sia dovuto al fatto che un classificatore con distorsione maggiore avrà una varianza inferiore, il che è positivo a causa della piccola quantità di dati.
b. Se hai un sacco di dati, il classificatore non ha molta importanza, quindi probabilmente dovresti semplicemente scegliere un classificatore con una buona scalabilità.
Quali sono le altre linee guida? Anche risposte come "se dovresti spiegare il tuo modello a un dirigente, allora forse dovresti usare un albero decisionale, poiché le regole decisionali sono abbastanza trasparenti" sono buone. Mi preoccupo meno dei problemi di implementazione / libreria, però.
Inoltre, per una domanda un po 'separata, oltre ai classificatori bayesiani standard, esistono metodi "standard all'avanguardia" per il rilevamento dello spam nei commenti (al contrario dello spam via e-mail)?