Python/Scikit-Learn - 无法处理多类和连续的混合



我正在尝试将SGDRegressor拟合到我的数据中,然后检查准确性。拟合工作正常,但是预测与原始目标数据不在同一数据类型(?)中,并且我得到错误

ValueError: Can't handle mix of multiclass and continuous

呼叫print "Accuracy:", ms.accuracy_score(y_test,predictions)时。

数据如下所示(只有 20 万 + 行):

Product_id/Date/product_group1/Price/Net price/Purchase price/Hour/Quantity/product_group2
0   107 12/31/2012  10  300 236 220 10  1   108

代码如下:

from sklearn.preprocessing import StandardScaler
import numpy as np
from sklearn.linear_model import SGDRegressor
import numpy as np
from sklearn import metrics as ms
msk = np.random.rand(len(beers)) < 0.8
train = beers[msk]
test = beers[~msk]
X = train [['Price', 'Net price', 'Purchase price','Hour','Product_id','product_group2']]
y = train[['Quantity']]
y = y.as_matrix().ravel()
X_test = test [['Price', 'Net price', 'Purchase price','Hour','Product_id','product_group2']]
y_test = test[['Quantity']]
y_test = y_test.as_matrix().ravel()
clf = SGDRegressor(n_iter=2000)
clf.fit(X, y)
predictions = clf.predict(X_test)
print "Accuracy:", ms.accuracy_score(y_test,predictions)

我应该采取哪些不同的做法?谢谢!

准确性是一个分类指标。 您不能将其与回归一起使用。 有关各种指标的信息,请参阅文档。

准确度分数仅适用于分类问题。对于回归问题,您可以使用:R2 分数、MSE(均方误差)、RMSE(均方根误差)。

相关内容

  • 没有找到相关文章

最新更新