为什么sklearn中LinearRegression的fit方法只接受二维数组作为x值,但接受一维数组作为y值?

基本上就是标题的问题。当我初次接触sklearn库时,我觉得这点很奇怪。有什么解释吗?


回答:

据我所知,这是scikit-learn中机器学习模型fit方法的设计选择。主要是为了保持输入形状规格的一致性:(n_samples, n_features)

X : {array-like, sparse matrix} of shape (n_samples, n_features)     训练向量,其中n_samples是样本数量,     n_features是特征数量。

这一点在check_array的顶部也非常明确,这是引发错误的验证步骤:

对数组、列表、稀疏矩阵或类似对象进行输入验证。默认情况下,输入被检查为一个非空的二维数组,仅包含有限值。如果数组的dtype是对象,则尝试转换为浮点数,转换失败时会引发错误。

不过,LinearRegression实际上确实接受2D目标数组,在这种情况下,它将执行多元线性回归。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注