Scikit学习:如何在回归中设置SVM输出范围



我在[-1 , 1]范围内有一些输入数据,并且在[ 0, 1]范围内输出数据。当我使用SMV回归预测输出时 我有预测的输出值在1到1之间。 丢失的?代码是:

    svr=svm.SVR(C=0.1, gamma=0.01,kernel='rbf') 
    y_rbf =svr.fit(TrainingIn,TrainingOut) 
    y_hat=svr.predict(TestIn)

谢谢!

在此处给定信息,不可能重建您的问题。我很确定,这与数据的预处理/缩放有关。一个示例段以使SVR运行可能看起来像这样(可以随意适应您的需求):

from sklearn.svm import SVR
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
from sklearn.cross_validation import train_test_split
from sklearn.metrics import mean_squared_error
# replace this parth with your data, e.g. TrainingIn/TrainingOut
boston = load_boston()
X, y = boston.data, boston.target
X1, X2, y1, y2 = train_test_split(X, y)
svr = SVR(C=80)
scaler = StandardScaler()
svr.fit(scaler.fit_transform(X1), y1)
y_pred = svr.predict(scaler.transform(X2))
print mean_squared_error(y2, y_pred)

仅保留此答案以供将来参考(它不会直接回答PSAN的问题)。

重要的是要注意,sklearn.svm.SVR可以用作预测因子和分类器。如果馈列的标记数据,predict将输出 { - 1, 1}

相关内容

  • 没有找到相关文章

最新更新