svm.SVR.predict()的静态值

时间:2017-03-01 15:00:25

标签: numpy scikit-learn svm python-3.5

我试图根据dataset (n * 6)评估一些预测的相关性,但我想知道我目前面临的{em>奇怪结果的原因svr.SVR.predict。以下代码可以说明我的陈述:

d = DataReader(...)
a = d.iloc[:,0:5]
b = d.iloc[:,5]
cut = 10
z = d.iloc[len(d.index) - cut :,0:5]

X,y = np.asarray(a[:-10]), np.asarray(b[:-10]) # train set
XT,yT = np.asarray(z), np.asarray(b[-10:]) # test set

clf = svm.SVR(kernel = 'rbf', gamma=0.1, C=1e3)
y_hat = clf.fit(X,y).predict(XT[i]) #, i = 0,1... 
尽管i Ps: {{1}存在差异,

为所有XT[i]提供惊人的 静态值 }})。

简而言之,目标包括比较XT[i].shape = (5,) y_hat vs

最佳

1 个答案:

答案 0 :(得分:0)

您需要在SVM之前进行规范化。请尝试以下方法:

from sklearn.preprocessing import StandardScaler

d = DataReader(...)
a = d.iloc[:,0:5]
b = d.iloc[:,5]
cut = 10
z = d.iloc[len(d.index) - cut :,0:5]

X,y = np.asarray(a[:-10]), np.asarray(b[:-10]) # train set
XT,yT = np.asarray(z), np.asarray(b[-10:]) # test set

scl = StandardScaler()
X = scl.fit_transform(X)
XT = scl.transform(XT)

clf = svm.SVR(kernel = 'rbf', gamma=0.1, C=1e3)
y_hat = clf.fit(X,y).predict(XT[i]) #, i = 0,1...