机器学习模型不适用于连续数据
Posted
技术标签:
【中文标题】机器学习模型不适用于连续数据【英文标题】:Machine learning models don't work with continuous data 【发布时间】:2019-07-17 23:33:30 【问题描述】:我正在尝试建立一个机器学习模型,以根据棒球运动员的击球次数和命中次数预测棒球运动员的击球率。自:
Batting Average = Hits/At Bats
我认为这种关系会相对更容易发现。但是,由于 Batting Average 是浮点数(即 0.300),所以我尝试的所有模型都返回以下错误:
ValueError: Unknown label type: 'continuous'
我正在使用 sklearns 模型。我尝试过 LogisticRegression、RandomForestClassifier、LinearRegression。他们都有同样的问题。
通过阅读有关此错误的其他 *** 帖子,我开始这样做:
lab_enc = preproccessing.LabelEncoder()
y = pd.DataFrame(data=lab_enc.fit_transform(y))
这似乎将诸如 0.227 之类的值更改为 136,这对我来说似乎很奇怪。可能只是因为我不太了解转换在做什么。如果可能的话,我宁愿只使用实际的击球平均值。
有没有办法让我在预测连续值时尝试使用的模型?
【问题讨论】:
【参考方案1】:您要解决的问题属于回归(即数值预测)上下文,它当然可以用 ML 算法处理。
我正在使用 sklearns 模型。我尝试过 LogisticRegression、RandomForestClassifier、LinearRegression。他们都有同样的问题。
您在此处提到的前两种算法(逻辑回归和随机森林分类器)用于分类问题,因此不适合您的(回归)设置(它们预计会产生您提到的错误)。然而,线性回归 是 合适的,在这里应该可以正常工作。
首先,请坚持使用线性回归,以说服自己它确实可以解决问题;您随后可以扩展到其他 scikit-learn 算法,例如 RandomForestRegressor 等。如果您遇到任何问题,请使用特定代码和错误打开一个新问题。 .
【讨论】:
感谢您的回复。当我使用 LinearRegression 时,我收到此错误:“ValueError:不支持连续”。同样的错误适用于 RandomForestRegressor。 @VirtuallyRealistic 正如我所说,现在您可以缩小问题范围(即您知道 一些 您尝试过的模型确实不适合),请 1 ) 接受答案 2) 用详细信息打开一个新问题(您在此处提到的错误与您在帖子中提到的错误甚至不一样)以上是关于机器学习模型不适用于连续数据的主要内容,如果未能解决你的问题,请参考以下文章