机器学习模型不适用于连续数据

Machine learning models don't work with continuous data

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

Batting Average = Hits/At Bats

我认为这种关系会相对容易发现。但是,由于平均击球率是浮动的(即 0.300),我尝试的所有模型 return 出现以下错误:

ValueError: Unknown label type: 'continuous'

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

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

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

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

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

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

I'm using sklearns models. I've tried LogisticRegression, RandomForestClassifier, LinearRegression. They all have the same problem.

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

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