首页 > 解决方案 > 机器学习模型不适用于连续数据

问题描述

我正在尝试建立一个机器学习模型,以根据棒球运动员的击球次数和命中次数来预测棒球运动员的击球率。自从:

Batting Average = Hits/At Bats

我认为这种关系会相对更容易发现。然而,由于击球平均值是浮动的(即 0.300),我尝试的所有模型都返回以下错误:

ValueError: Unknown label type: 'continuous'

我正在使用 sklearns 模型。我尝试过 LogisticRegression、RandomForestClassifier、LinearRegression。他们都有同样的问题。

通过阅读有关此错误的其他 StackOverflow 帖子,我开始这样做:

lab_enc = preproccessing.LabelEncoder()
y = pd.DataFrame(data=lab_enc.fit_transform(y))

这似乎将诸如 0.227 之类的值更改为 136,这对我来说似乎很奇怪。可能只是因为我不太了解转换在做什么。如果可能的话,我宁愿只使用实际的击球平均值。

有没有办法让我在预测连续值时尝试使用的模型?

标签: machine-learningscikit-learnregressionrandom-forestlogistic-regression

解决方案


您试图解决的问题属于回归(即数值预测)上下文,它当然可以用 ML 算法处理。

我正在使用 sklearns 模型。我尝试过 LogisticRegression、RandomForestClassifier、LinearRegression。他们都有同样的问题。

您在这里提到的前两种算法(逻辑回归和随机森林分类器)用于分类问题,因此适合您的(回归)设置(它们预计会产生您提到的错误)。然而,线性回归合适的,它在这里应该可以正常工作。

首先,请坚持使用线性回归,以说服自己它确实可以解决问题;您随后可以扩展到其他 scikit-learn 算法,例如 RandomForest Regressor等。如果您遇到任何问题,请使用特定代码和错误打开一个新问题...


推荐阅读