我使用numpy數組做支持向量機的問題如下。在Sklearn中運行SVM時的值錯誤
import numpy as np
from sklearn import svm
我有3類/標籤(male
,female
,na
),表示如下:
labels = [0,1,2]
每個類是由3個變量(height
,weight
,age
)作爲訓練數據定義:
male_height = np.array([111,121,137,143,157])
male_weight = np.array([60,70,88,99,75])
male_age = np.array([41,32,73,54,35])
males = np.hstack([male_height,male_weight,male_age])
female_height = np.array([91,121,135,98,90])
female_weight = np.array([32,67,98,86,56])
female_age = np.array([51,35,33,67,61])
females = np.hstack([female_height,female_weight,female_age])
na_height = np.array([96,127,145,99,91])
na_weight = np.array([42,97,78,76,86])
na_age = np.array([56,35,49,64,66])
nas = np.hstack([na_height,na_weight,na_age])
現在我必須擬合支持向量機方法f或訓練數據來預測類給出的三個變量:
height_weight_age = [100,100,100]
clf = svm.SVC()
trainingData = np.vstack([males,females,nas])
clf.fit(trainingData, labels)
result = clf.predict(height_weight_age)
print result
不幸的是,出現以下錯誤:
ValueError: X.shape[1] = 3 should be equal to 15, the number of features at training time
我應該如何修改trainingData
和labels
,以得到正確的答案?
@jonrsharpe感謝編輯我的原始問題,很好! – jean 2014-10-12 14:13:45