我试图使用回归模型(如线性,SGDRegressor,脊,套索)来预测葡萄酒质量(范围从1到10)。
数据集:http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv
独立值:挥发性酸度,残糖,游离二氧化硫,总二氧化硫,酒精 依赖性:质量
线性模型
regr = linear_model.LinearRegression(n_jobs=3)
regr.fit(x_train, y_train)
predicted = regr.predict(x_test)
预测LinearRegression的值 数组([5.33560542,5.47347404,6.09337194,...,5.67566813, 5.43609198,6.08189])
预测值是浮点而不是(1,2,3 ... 10) 我尝试使用numpy
来舍入预测值predicted = np.round(regr.predict(x_test))` but my accuracy gone down with this attempt.
SGDRegressor模型。
from sklearn import linear_model
np.random.seed(0)
clf = linear_model.SGDRegressor()
clf.fit(x_train, y_train)
redicted = np.floor(clf.predict(x_test))
预测SGDRegressor的输出值:
array([ -2.77685458e+12, 3.26826414e+12, 4.18655713e+11, ...,
4.72375220e+12, -7.08866307e+11, 3.95571514e+12])
这里我无法将输出值转换为整数。
有人可以告诉我使用这些回归模型预测葡萄酒质量的最佳方法。
答案 0 :(得分:3)
您正在进行回归,因此输出本质上是连续的。
你应该注意的是,你的预测葡萄酒质量的迷你项目不是分类问题。响应变量y,葡萄酒质量,具有内在顺序,这意味着得分6严格优于得分5.它不是分类变量,其中不同的数字仅代表不同组的不同组。