📅  最后修改于: 2023-12-03 15:19:31.197000             🧑  作者: Mango
线性回归是机器学习中最基本的算法之一,它用于预测连续变量的值,如股票价格或气温。在 Python 中,使用 scikit-learn 库来实现线性回归非常简单。
要安装 scikit-learn 库,可以使用 pip 命令:
pip install scikit-learn
在介绍线性回归算法之前,我们需要准备一个数据集。在本例中,我们将使用 scikit-learn 库中的糖尿病数据集,该数据集包含糖尿病患者的 10 个医学指标以及他们的一年后病情发展情况。
用以下代码加载并查看数据集:
from sklearn import datasets
diabetes = datasets.load_diabetes()
print(diabetes.data)
print(diabetes.target)
在训练模型之前,我们需要将数据集拆分为训练数据和测试数据。 scikit-learn 提供了一个方便的函数 train_test_split
来完成这个任务。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(diabetes.data, diabetes.target, test_size=0.2, random_state=0)
这将数据集拆分为训练集和测试集,其中 20% 的数据用于测试。
现在,我们可以开始训练我们的线性回归模型了。在 scikit-learn 中,使用 LinearRegression
类实现线性回归。
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)
fit()
函数将训练数据集传递给模型,并拟合一个线性方程,它将输入特征映射到输出变量。
现在,我们有了一个训练好的模型,我们可以使用测试数据集来评估模型的性能。
y_pred = regressor.predict(X_test)
predict()
函数将测试数据集传递给模型,并返回它的预测值。
最后,我们使用 scikit-learn 中的 mean_squared_error
函数来计算模型的均方误差(MSE)。
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pred)
print(mse)
MSE 是测试集中每个样本实际值与预测值之差的平方的平均值,可以用来衡量模型的精度。
在本文中,我们研究了如何使用 scikit-learn 库在 Python 中实现线性回归算法。我们介绍了如何加载和拆分数据集,训练模型,预测输出并评估模型的性能。线性回归算法是机器学习中最基本的算法之一,由于其易于理解和实现,它是新手最常使用的算法之一。