Я пытаюсь выполнить некоторую задачу классификации с помощью Python и SVM.
Из собранных данных я извлек векторы функций для каждого класса и создал учебный набор. Векторы объектов имеют n-размеры (39 и более). Итак, скажем, для 2 классов у меня есть набор из 39 векторов объектов и один массив меток классов, соответствующих каждой записи в векторе объектов. В настоящее время я использую mlpy и делаю что-то вроде этого:
import numpy as np
import mlpy
svm=mlpy.Svm('gaussian') #tried a linear kernel too but not having the convergence
instance= np.vstack((featurevector1,featurevector1))
label=np.hstack((np.ones((1,len(featurevector1),dtype=int),-1*np.ones((1,len(featurevector2),dtype=int)))
# Назначение метки (+ 1 / -1) для каждой записи в экземпляре, (+1 для записей, поступающих из
#featurevector 1 и -1 для featurevector2
svm.compute(instance,label) #it converges and outputs 1
svm.predict(testdata) #This one says all class label are 1 only whereas I ve testing data from both classes
Я здесь ошибаюсь? Или я должен использовать какую-то другую библиотеку? Пожалуйста, помогите.