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 rbf
zamiast poly
lub linear
po prostu nie działa, podczas gdy działa naprawdę dobrze dla poly
i 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.