机器学习线性回归 - Sklearn

问题描述 投票:-2回答:1

我是机器学习领域的新手,在学习回归中,我有一些疑问

1:在练习sklearn学习回归模型预测方法时得到以下误差。

码:

sklearn.linear_model.LinearRegression.predict(25)

错误:“ValueError:预期的2D数组,改为使用标量数组:array = 25.如果数据具有单个要素或array.reshape(1,-1),则使用array.reshape(-1,1)重新整形数据它包含一个样本。“

我需要通过二维阵列吗?在sklearn文档页面上检查任何未找到任何版本更新的东西。 **在Kaggle上运行我的代码 https://www.kaggle.com/aman9d/bikesharingdemand-upx/

2:数据集的索引是否会影响模型的分数(权重)?

python-3.x machine-learning scikit-learn linear-regression
1个回答
0
投票

首先,您应该在使用时放置代码:

# import, instantiate, fit
from sklearn.linear_model import LinearRegression
linreg = LinearRegression()
linreg.fit(X, y)

# use the predict method
linreg.predict(25)

因为你在问题中发布的内容不能正确执行,所以predict方法对于类LinearRegression来说不是静态的。

当您拟合模型时,第一步是识别哪种数据将是输入,在您的情况下将类似于X,这意味着如果您将具有不同形状的X的内容传递给模型,则会引发错误。

在您的示例中,X似乎是一个只有1列的pd.DataFrame()实例,这应该可以替换为2维数组,表示按功能数量表示的示例数量,因此如果您尝试:

linreg.predict([[25]])

应该管用。

例如,如果您尝试使用超过1个特征列的回归,让我们说temphumidity,您的输入将如下所示:

linreg.predict([[25, 56]])

我希望这会对您有所帮助,并始终牢记哪些是您数据的形状。

文档:LinearRegression fit

X:类似数组或稀疏矩阵,形状(n_samples,n_features)

© www.soinside.com 2019 - 2024. All rights reserved.