【发布时间】:2016-05-23 04:03:53
【问题描述】:
我正在尝试使用 SGDClassifier 对一些数据进行建模,但由于某种原因,我得到了可怕的准确性。我对此很陌生,所以我不太明白为什么。
这是我的代码:
from sklearn.preprocessing import StandardScaler
import numpy as np
from sklearn.linear_model import SGDClassifier
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()
scaler = StandardScaler()
scaler.fit(X)
X = scaler.transform(X)
X_test = scaler.transform(X_test)
clf = SGDClassifier(loss="hinge", alpha=0.01, n_iter=1000, fit_intercept=True)
clf.fit(X, y)
predictions = clf.predict(X_test)
print "Accuracy:", ms.accuracy_score(y_test,predictions)
打印的准确度在 0.38 左右,真的很差。我的数据如下所示:
Product_id/Date/product_group1/Price/Net price/Purchase price/Hour/Quantity/product_group2/KPI
0 107 12/31/2012 10 300 236 220 10 1 108 16
我有 200 000+ 行数据。
我还应该做什么?数据是按比例缩放的,所以这应该不是问题,并且模型也应该在 1000 次迭代后收敛。 谢谢!
【问题讨论】:
-
也许您的数据很难预测。是什么让您认为您应该能够获得更高的准确度?
标签: python scikit-learn