我正在尝试使用线性,SGDRegressor,ridge,套索等回归模型来预测葡萄酒质量(范围从1到10)。
dataset: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)
线性回归的预测值array([ 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.
SGDR出口器模型。
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))
SGDR出口器的预测输出值:
array([ -2.77685458e+12, 3.26826414e+12, 4.18655713e+11, ...,
4.72375220e+12, -7.08866307e+11, 3.95571514e+12])
在这里,我无法将输出值转换为整数。
有人可以告诉我使用这些回归模型预测葡萄酒质量的最佳方法吗?
您正在执行回归,因此输出本质上是连续的。
您应该注意的是,您预测葡萄酒质量的迷你项目不是分类问题。响应变量y,即葡萄酒质量,具有内在顺序,这意味着6分严格优于5分。它不是分类变量,其中不同的数字只代表不同的组,其中组是不可比的。