【发布时间】:2018-12-23 08:06:31
【问题描述】:
在我的问题中有四个特征(X); a,b,c,d 和两个家属(Y); e,f。我有一个数据集,其中包含所有这些变量的一组值。当给定新的a,b,c,d 值时,如何使用 scikit learn 在 python 中通过支持向量回归预测 e,f 变量的值?
我是 ML 的新手,非常感谢一些指导,因为我发现很难遵循 SVR 上的 scikit learn 文档。
这是我迄今为止在 sklearn 文档中的示例帮助下所做的。
train = pd.read_csv('/Desktop/test.csv')
X = train.iloc[:, 4]
y = train.iloc[:, 4:5]
svr_rbf = SVR(kernel='rbf', C=1e3, gamma=0.1)
y_rbf = svr_rbf.fit(X, y).predict(X)
lw = 2
plt.scatter(X, y, color='darkorange', label='data')
plt.plot(X, y_rbf, color='navy', lw=lw, label='RBF model')
plt.xlabel('data')
plt.ylabel('target')
plt.title('Support Vector Regression')
plt.legend()
plt.show()
这给出了错误,
ValueError: Expected 2D array, got 1D array instead: : 如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果数据包含单个样本,则使用 array.reshape(1, -1)。
【问题讨论】:
-
您究竟需要什么帮助?拟合还是预测?
-
您想同时预测
e and f,例如新样本 N 有e,f= [0,1] 或独立 ?? -
Pandas 索引在这里为您的 X 变量显示错误 - 您正在选择单列
-
感谢您指出。我将其更改为选择正确的列。
标签: python machine-learning scikit-learn svm prediction