欢迎访问宙启技术站
智能推送

如何在Python中实现线性回归

发布时间:2023-12-04 09:45:31

线性回归是一种常见的机器学习算法,用于预测一个连续值的目标变量(也称为因变量)与一个或多个自变量之间的线性关系。在Python中,可以使用scikit-learn库来实现线性回归。

首先,需要安装scikit-learn库。可以使用以下命令进行安装:

pip install scikit-learn

接下来,导入所需的库和模块:

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

在这个例子中,我们将使用一个虚拟的数据集来进行线性回归。首先,定义一些输入自变量的数据点:

X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)

然后,定义对应的目标因变量的数据点:

y = np.array([2, 3, 4, 5, 6])

接下来,创建一个LinearRegression对象,并将自变量和目标变量传递给该对象的fit方法进行训练:

model = LinearRegression()
model.fit(X, y)

训练完成后,可以使用模型的coef_属性来获取线性回归方程的系数(斜率)和intercept_属性来获取截距:

print("Coefficient:", model.coef_)
print("Intercept:", model.intercept_)

为了进行预测,可以使用predict方法。以下代码将给出一个新的输入自变量值,并使用模型预测对应的目标因变量值:

new_X = np.array([6]).reshape(-1, 1)
prediction = model.predict(new_X)
print("Prediction:", prediction)

可以使用mean_squared_error函数来计算预测值和实际值之间的均方误差:

mse = mean_squared_error(y, model.predict(X))
print("Mean Squared Error:", mse)

完整的代码:

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([2, 3, 4, 5, 6])

model = LinearRegression()
model.fit(X, y)

print("Coefficient:", model.coef_)
print("Intercept:", model.intercept_)

new_X = np.array([6]).reshape(-1, 1)
prediction = model.predict(new_X)
print("Prediction:", prediction)

mse = mean_squared_error(y, model.predict(X))
print("Mean Squared Error:", mse)

这就是在Python中实现线性回归的基本步骤和一个简单的例子。通过使用scikit-learn库中的LinearRegression类,我们可以很方便地进行线性回归,并使用各种评估指标来评估模型的性能。