我有一个熊猫数据框,其中一列是我的目标值,是分类的。
我使用get_dummies编码目标值。现在,我的编码目标值在5个编码列中,因为我的目标值有5个类别。
我的问题是,如何在线性回归方法中考虑所有这5列?
我将x_dummies作为我的从属值数据框,将y_dummies作为我的具有5列编码值的目标值数据框。
我从未有超过一列的目标值! 这是正确的吗?
链接到评估: https://www.cs.waikato.ac.nz/~eibe/pubs/ordinal_tech_report.pdf
regr = linear_model.LinearRegression()
regr.fit( x_dummies_training, y_dummies_training)
答案 0 :(得分:1)
如果目标是绝对目标,则可能要使用分类器,而不是回归器。
如果需要,您可以阅读this article来了解它们之间的区别。
因此,在您的情况下,您希望使用分类器并将y目标保留为一个变量,而不是对其进行热编码。
如果您想要一个易于解释的数学模型(我猜想是由于您使用了线性回归),则可能需要多项逻辑回归:
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(random_state=0, solver='lbfgs',
multi_class='multinomial').fit(X, y)
您可能要检查sklearn documentation。
您也可以尝试使用广受欢迎的助推树方法,该方法应能为您带来更好的效果:以catboost为例。