📜  python中的线性回归(1)

📅  最后修改于: 2023-12-03 15:19:31.197000             🧑  作者: Mango

Python中的线性回归

线性回归是机器学习中最基本的算法之一,它用于预测连续变量的值,如股票价格或气温。在 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 中实现线性回归算法。我们介绍了如何加载和拆分数据集,训练模型,预测输出并评估模型的性能。线性回归算法是机器学习中最基本的算法之一,由于其易于理解和实现,它是新手最常使用的算法之一。