Scikit学习:如何在回归中设置支持向量机的输出范围?

2024-10-02 12:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些输入数据在[-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)

谢谢你!在


Tags: 数据代码hatkernelpredictfitgammasvm
2条回答

我保留这个答案仅供将来参考(它不直接回答PSan的问题)。在

需要注意的是(可能与其名称相反)sklearn.svm.SVR可以同时用作预测值和分类器。如果fed标记数据,^{}将输出{-1,+1}。在

鉴于这里的信息,不可能重建您的问题。但我很确定,这与数据的预处理/缩放有关。运行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)

相关问题 更多 >

    热门问题