2015-04-17 10 views
11

vedo che in scikit-learn posso costruire un classificatore SVM con kernel lineare in ultimi 3 modi diversi:In sklearn qual è la differenza tra un modello SVM con kernel lineare e un classificatore SGD con la perdita = cerniera

Ora, vedo che la scommessa differenza tuttavia i primi due classificatori sono che il primo è implementato in termini di liblinear e il secondo in termini di libsvm.

Come i primi due classificatori differiscono dal terzo?

risposta

11

I primi due utilizzano sempre i dati completi e risolvono un problema di ottimizzazione convesso rispetto a questi punti di dati.

Quest'ultimo può trattare i dati in lotti ed esegue una discesa gradiente mira a minimizzare previsto perdita rispetto alla distribuzione di esempio, supponendo che gli esempi sono campioni IID tale distribuzione.

Quest'ultimo viene in genere utilizzato quando il numero di campioni è molto grande o non finisce. Si noti che è possibile chiamare la funzione partial_fit e alimentarla in blocchi di dati.

Spero che questo aiuti?

Problemi correlati