Obecnie używam Scikit Learn z następującym kodem:
clf = svm.SVC(C=1.0, tol=1e-10, cache_size=600, kernel='rbf', gamma=0.0,
class_weight='auto')
a następnie dopasuj i przewiduj zestaw danych z 7 różnymi etykietami. Mam dziwny wynik. Bez względu na to, jaką technikę walidacji krzyżowej używam przewidywanej etykiety w zestawie walidacyjnym, zawsze będzie to etykieta 7.
Próbuję kilku innych parametrów, w tym pełnego domyślnego ( svm.SVC()), ale tak długo, jak metoda jądra, której używam, jest rbfzamiast polylub linearpo prostu nie działa, podczas gdy działa naprawdę dobrze dla polyi linear.
Poza tym próbowałem już przewidywać dane pociągu zamiast danych sprawdzania poprawności i idealnie pasują.
Czy ktoś już widzi tego rodzaju problem i wie, co się tutaj dzieje?
Nigdy nie patrzę szczegółowo na rozkład zajęć, ale wiem, że powinno to być około 30% z nich to 7, 14% to 4.
Próbuję nawet manualnej implementacji 1-vs-rest i nadal nie jest to pomocne.