I primi cinque classificatori da provare per primi


25

Oltre a evidenti caratteristiche classificatore come

  • costo computazionale,
  • tipi di dati previsti di caratteristiche / etichette e
  • idoneità per determinate dimensioni e dimensioni dei set di dati,

quali sono i primi cinque (o 10, 20?) classificatori da provare prima su un nuovo set di dati di cui non si conosce ancora molto (ad esempio semantica e correlazione delle singole caratteristiche)? Di solito provo Naive Bayes, il vicino più vicino, l'albero decisionale e SVM - anche se non ho buone ragioni per questa selezione se non per conoscerli e soprattutto capire come funzionano.

Immagino che uno dovrebbe scegliere classificatori che coprono i più importanti approcci di classificazione generale . Quale selezione consiglieresti, secondo quel criterio o per qualsiasi altro motivo?


AGGIORNAMENTO: Una formulazione alternativa per questa domanda potrebbe essere: "Quali approcci generali alla classificazione esistono e quali metodi specifici coprono quelli più importanti / popolari / promettenti?"


Penso che questo sia un duplicato di ( stats.stackexchange.com/questions/3458/… ). L'unico valore aggiuntivo della domanda qui potrebbe essere "criteri per la selezione dei classificatori" (che renderebbe la domanda molto generica). Se è un duplicato, vota per chiudere, altrimenti vota per cw;)
steffen,

@steffen: la tua domanda di riferimento è utile, tuttavia, penso che non sia un duplicato. In effetti la mia domanda è piuttosto generica. Non sto cercando una soluzione a un problema particolare, ma per motivi generali per cui utilizzare quali studenti: aggiornerò la mia domanda di conseguenza.
Oben Sonne,

Risposte:


21

Foresta casuale

Veloce, robusto, buona precisione, nella maggior parte dei casi nulla da sintonizzare, non richiede alcuna normalizzazione, immune alla collinearità, genera un'approssimazione dell'errore abbastanza buona e una classificazione di importanza utile come effetto collaterale dell'allenamento, banalmente parallelo, predice in un batter d'occhio.

Svantaggi: più lenti di metodi banali come kNN o NB, funziona meglio con classi uguali, peggiore accuratezza rispetto a SVM per problemi che richiedono disperatamente il trucco del kernel, è una scatola nera dura, non produce caffè.


1
@mbq (+1) A proposito dello squilibrio di classe, possiamo ancora fare affidamento sul campionamento stratificato durante l'insacco.
chl

3
@mbq, non fai il caffè? Questo è un rompicapo proprio lì.
cardinale il

Grazie per il suggerimento per le foreste casuali . Ma vorresti provare solo loro? Che cosa succede se non sei soddisfatto dei risultati? Quale classificatore vorresti provare altro? Oppure, cosa risponderesti se qualcuno chiedesse: "Perché non hai provato altri metodi?"
Oben Sonne,

@Oben Bene, ho capito che stai creando una specie di pool a classificazione unica per risposta.

@mbq: Non proprio, ma risulta essere un tale pool. Probabilmente non mi sono chiarito abbastanza nella domanda. In realtà volevo sapere quale serie di classificatori si dovrebbe provare prima, per coprire diversi metodi di classificazione generale (con diversi punti di forza e di debolezza). Mi chiedo sempre se non dovrei provare più classificatori. Sapere che quelli che ho provato rappresentano già gli approcci più tipici / promettenti sarebbe di aiuto qui. Ma per questo ho bisogno di sapere per quale serie di classificatori questo è vero. (Sono ben lungi dall'essere un esperto di statistiche, quindi fammi sapere se la mia mente è un po 'distorta qui)
Oben Sonne

7

Classificatore di processo gaussiano (non usando l'approssimazione di Laplace), preferibilmente con emarginazione piuttosto che ottimizzazione degli iperparametri. Perché?

  1. perché danno una classificazione probabilistica
  2. è possibile utilizzare una funzione del kernel che consente di operare direttamente su dati non vettoriali e / o incorporare conoscenze di esperti
  3. affrontano l'incertezza nell'adattare correttamente il modello e puoi propagare tale incertezza al processo decisionale
  4. prestazioni predittive generalmente molto buone.

Svantaggi

  1. lento
  2. richiede molta memoria
  3. poco pratico per problemi su larga scala.

La prima scelta sarebbe la regressione logistica regolarizzata o la regressione della cresta [senza selezione delle caratteristiche] - per la maggior parte dei problemi, algoritmi molto semplici funzionano piuttosto bene e sono più difficili da sbagliare (in pratica le differenze nelle prestazioni tra gli algoritmi sono minori delle differenze nelle prestazioni tra l'operatore che li guida).


1

Da solo quando ti avvicini a un nuovo set di dati, dovresti iniziare a controllare l'intero problema. Prima di tutto ottenere una distribuzione per caratteristiche categoriche e deviazioni medie e standard per ogni caratteristica continua. Poi:

  • Elimina funzionalità con oltre il X% di valori mancanti;
  • Elimina le caratteristiche categoriche quando un determinato valore ottiene più del 90-95% della frequenza relativa;
  • Elimina le caratteristiche continue con CV = std / mean <0.1;
  • Ottieni una classifica dei parametri, ad esempio ANOVA per continuo e Chi-quadrato per categoriale;
  • Ottieni un sottoinsieme significativo di funzionalità;

Quindi di solito divido le tecniche di classificazione in 2 set: scatola bianca e tecnica scatola nera. Se hai bisogno di sapere "come funziona il classificatore", dovresti scegliere nel primo set, ad esempio Classificatori basati su alberi di decisione o basati su regole.

Se hai bisogno di classificare nuovi record senza costruire un modello, dovresti dare un'occhiata allo studente desideroso, ad esempio KNN.

Dopodiché penso sia meglio avere una soglia tra precisione e velocità: le reti neurali sono un po 'più lente di SVM.

Questa è la mia principale tecnica di classificazione cinque:

  1. Albero decisionale;
  2. Classificatori basati su regole;
  3. SMO (SVM);
  4. Naive Bayes;
  5. Reti neurali.

4
-1 Flusso di lavoro assolutamente errato per grandi dimensioni, è garantito un overfitting FS.

1
kNN non è uno studente pigro piuttosto che uno desideroso (poiché in realtà non fai nulla fino a quando non devi davvero farlo quando arriva uno schema per classificare)? Qualsiasi pre-elaborazione eseguita prima dell'applicazione del classificatore avrà probabilmente un effetto maggiore sulle prestazioni rispetto alla differenza tra i classificatori; la selezione delle funzioni è particolarmente difficile (porta facilmente a un eccesso di adattamento) e metodi come la SVM con regolarizzazione di solito funzionano meglio senza la selezione delle caratteristiche. Non consiglierei sicuramente le reti neurali, troppe potenziali insidie.
Dikran Marsupial,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.