Attualmente sto usando Scikit Learn con il seguente codice:
clf = svm.SVC(C=1.0, tol=1e-10, cache_size=600, kernel='rbf', gamma=0.0,
class_weight='auto')
e quindi adattarsi e prevedere un set di dati con 7 etichette diverse. Ho ottenuto un risultato strano. Indipendentemente dalla tecnica di convalida incrociata che utilizzo l'etichetta prevista sul set di convalida sarà sempre l'etichetta 7.
Provo alcuni altri parametri, incluso quello di default completo ( svm.SVC()
) ma fintanto che il metodo del kernel che uso è rbf
invece di poly
o linear
semplicemente non funzionerebbe, mentre funziona davvero bene per poly
e linear
.
Inoltre ho già provato la previsione sui dati del treno anziché sui dati di convalida e si adatta perfettamente.
Qualcuno ha visto questo tipo di problema prima e sa cosa sta succedendo qui?
Non guardo mai in dettaglio la mia distribuzione di classe ma so che dovrebbe essere circa il 30% di loro sono 7, il 14% sono 4.
Provo anche un'implementazione manuale 1-vs-rest e non è ancora utile.