我正试图获得一种机器学习模型,以根据棒球运动员的击球和击球次数预测他们的击球平均值。由于:
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,这对我来说似乎很奇怪。可能是因为我不太了解转换的作用。如果可能的话,我宁愿只使用实际的击球平均值。
在预测连续值时是否有办法获得我尝试使用的模型?
答案 0 :(得分:1)
您要解决的问题属于回归(即数值预测)上下文,可以肯定地用ML算法解决。
我正在使用sklearns模型。我已经尝试过LogisticRegression,RandomForestClassifier,LinearRegression。他们都有相同的问题。
您在此处提到的前两个算法(逻辑回归和随机森林分类器)用于分类问题,因此不不适合您的(回归)设置(它们可能会产生您提到的错误)。但是,线性回归 是合适的,在这里应该可以正常工作。
对于初学者,请坚持使用线性回归,以使自己确信它确实可以解决问题;您可以随后扩展到其他scikit学习算法,例如RandomForest Regressor 等。如果遇到任何问题,请使用特定代码和错误打开一个新问题。