详解 Scikit-learn 的 linear_model.LinearRegression函数:线性回归模型

  • Post category:Python

Scikit-learn是Python中一个广泛使用的机器学习库,其中sklearn.linear_model.LinearRegression是其中一个重要的函数,用于进行线性回归操作。下面,我们来详细讲解其作用和使用方法的完整攻略。

LinearRegression函数的作用

LinearRegression()函数是一个线性回归模型,用于拟合标签和特征之间的线性关系,其作用是尽可能地使观测值和预测值之间最小化残差平方和。它基于最小二乘法的思想,通过求解特征系数来最小化目标函数,使预测值与观测值之差的平方和最小。

LinearRegression函数的使用方法

1. 准备数据

使用LinearRegression()函数之前,我们需要准备好标签和特征数据,一般来说,我们可以使用pandas库对数据进行读取和处理,例如读取csv文件,将数据分为自变量和因变量,以及将数据分为训练集和测试集。

import pandas as pd
from sklearn.model_selection import train_test_split

df = pd.read_csv('data.csv')  # 读取数据文件
X = df.drop('target', axis=1)  # 将数据划分为自变量和因变量
y = df['target']

X_train, X_test, y_train, y_test = train_test_split(X, y)

2. 建立模型

使用LinearRegression()函数建立线性回归模型。

from sklearn.linear_model import LinearRegression

model = LinearRegression()

3. 模型训练

使用model.fit()函数对线性回归模型进行训练。

model.fit(X_train, y_train)

4. 模型预测

使用model.predict()函数对模型进行预测。

y_pred = model.predict(X_test)

5. 模型评估

使用model.score()函数对模型进行评估,可以计算出训练集和测试集上的R-squared值。

print('Training R-squared:', model.score(X_train, y_train))
print('Testing R-squared:', model.score(X_test, y_test))

实例1:房价预测

下面我们以房价预测为例,来演示如何使用LinearRegression()函数,假设我们有一个包含房屋面积、卧室数量和距离市中心的数据集,包含了100个房屋的相关数据,我们的目标是根据这些数据来预测房屋的价格。

1. 数据处理

我们可以使用pandas库读取数据并将数据划分为自变量X和因变量y

import pandas as pd

df = pd.read_csv('house_prices.csv')

X = df[['squre_feet', 'bedrooms', 'distance_to_center']]
y = df['price']

2. 建立模型

导入LinearRegression()函数,使用model = LinearRegression()建立线性回归模型。

from sklearn.linear_model import LinearRegression

model = LinearRegression()

3. 模型训练

使用model.fit()函数进行模型训练。

model.fit(X, y)

4. 模型预测

使用model.predict()函数进行模型预测。

y_pred = model.predict(X)

5. 模型评估

使用model.score()函数对模型进行评估,并计算出R-squared值。

print('R-squared:', model.score(X, y))

实例2:气温预测

下面我们以气温预测为例,来演示另一个使用LinearRegression()函数的实例,假设我们有一个包含了每天的平均气温、最高气温和最低气温的数据集,包含了100个不同日期的数据,我们的目标是根据这些数据来预测未来某一天的气温变化。

1. 数据处理

我们可以使用pandas库读取数据并将数据划分为自变量X和因变量y

import pandas as pd

df = pd.read_csv('temperature.csv')

X = df[['mean_temp', 'max_temp', 'min_temp']]
y = df['temp_change']

2. 建立模型

导入LinearRegression()函数,使用model = LinearRegression()建立线性回归模型。

from sklearn.linear_model import LinearRegression

model = LinearRegression()

3. 模型训练

使用model.fit()函数进行模型训练。

model.fit(X, y)

4. 模型预测

使用model.predict()函数进行模型预测。

y_pred = model.predict(X)

5. 模型评估

使用model.score()函数对模型进行评估,并计算出R-squared值。

print('R-squared:', model.score(X, y))

以上是LinearRegression()函数的使用方法和实例,希望对你有帮助。