Atualmente, estou usando o Scikit learn com o seguinte código:
clf = svm.SVC(C=1.0, tol=1e-10, cache_size=600, kernel='rbf', gamma=0.0,
class_weight='auto')
e ajuste e preveja para um conjunto de dados com 7 rótulos diferentes. Eu tenho uma saída estranha. Não importa qual técnica de validação cruzada eu use o rótulo previsto no conjunto de validação sempre será o rótulo 7.
Eu tento alguns outros parâmetros, incluindo o padrão completo ( svm.SVC()
), mas contanto que o método do kernel que eu use seja em rbf
vez de poly
ou linear
simplesmente não funcione, enquanto ele funciona realmente bem para poly
e linear
.
Além disso, eu já tentei prever dados de trem em vez de dados de validação e eles se encaixam perfeitamente.
Alguém vê esse tipo de problema antes e sabe o que está acontecendo aqui?
Eu nunca olho para a minha distribuição de classe em detalhes, mas sei que deve ser em torno de 30% deles são 7, 14% são 4.
Eu até tento uma implementação manual 1-versus-rest e ainda não é útil.