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

时间:2019-02-24 11:22:54

标签: machine-learning scikit-learn regression random-forest logistic-regression

我正试图获得一种机器学习模型,以根据棒球运动员的击球和击球次数预测他们的击球平均值。由于:

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,这对我来说似乎很奇怪。可能是因为我不太了解转换的作用。如果可能的话,我宁愿只使用实际的击球平均值。

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

1 个答案:

答案 0 :(得分:1)

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

  

我正在使用sklearns模型。我已经尝试过LogisticRegression,RandomForestClassifier,LinearRegression。他们都有相同的问题。

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

对于初学者,请坚持使用线性回归,以使自己确信它确实可以解决问题;您可以随后扩展到其他scikit学习算法,例如RandomForest Regressor 等。如果遇到任何问题,请使用特定代码和错误打开一个新问题。