python - SciKit Learn - SGDClassifier 准确性不佳

标签 python scikit-learn

我正在尝试使用 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 次迭代后收敛。 谢谢!

最佳答案

您可以使用 GridSearchCV 来优化 SGD 分类器的参数。 还可以通过 sklearn.feature_selection 来获得最佳功能。

关于python - SciKit Learn - SGDClassifier 准确性不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366566/

相关文章:

python - 从 Azure Databricks 删除 SQL 数据库中的表

python pandas如何通过其他数据框扩展数据框

Python 找不到已安装的模块

python - 有问题的功能 pickle

python - scikit-learn 中的多标签分类与超参数搜索 : specifying averaging

python - 获取 GridSearchCV 的标准偏差

Python:将 PDF 转换为 DOC

python - MinMaxScaling 没有返回正确的值

python - 通过 sklearn.metrics.make_scorer 将估算器传递给自定义评分函数

python - Macbook m1 和 python 库