📜  毫升 | Python中的 sklearn.linear_model.LinearRegression()(1)

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

sklearn.linear_model.LinearRegression()介绍

sklearn.linear_model.LinearRegression()scikit-learn中的一个类,用于线性回归模型的建立和预测。线性回归是机器学习中最简单和基础的算法之一,它试图通过建立一个最佳拟合直线(或者超平面)来建立因变量和一个或多个自变量之间的关系。它适用于解决回归问题。

使用方法

首先需要导入该类:

from sklearn.linear_model import LinearRegression

然后,可以直接创建LinearRegression对象:

lr = LinearRegression()

此时,lr对象就具有了线性回归模型的功能,可以对给定的数据进行拟合和预测。

方法和属性

在对象创建之后,我们通常需要对其进行训练和预测。下面是一些常用的LinearRegression方法和属性:

方法
  • fit(X, y[, sample_weight]):用于训练模型。X是特征矩阵,y是标签,sample_weight是每个样本的权重。该函数返回模型本身。
lr.fit(X_train, y_train)
  • predict(X):用于预测数据。X是特征矩阵。该函数返回预测值。
y_pred = lr.predict(X_test)
属性
  • coef_:模型的系数,即拟合线/超平面的斜率。
print(lr.coef_)
  • intercept_:模型的截距,即拟合线/超平面与y轴的交点。
print(lr.intercept_)
  • score(X, y[, sample_weight]):模型的性能评价指标。该函数返回$R^2$值,用于衡量模型对数据的拟合度。
score = lr.score(X_test, y_test)
示例代码

下面是一个简单的线性回归示例,用于预测房价:

import numpy as np
from sklearn.linear_model import LinearRegression

# 导入数据,特征为面积,标签为房价
X = np.array([[60], [70], [80], [90], [100]])
y = np.array([130, 150, 170, 190, 210])

# 创建模型对象,训练模型
lr = LinearRegression()
lr.fit(X, y)

# 输出模型系数和截距
print(lr.coef_)
print(lr.intercept_)

# 对新数据进行预测
X_new = np.array([[110]])
y_pred = lr.predict(X_new)
print(y_pred)

该代码将输出以下内容:

[20.]
110.00000000000001
[230.]

即模型系数为20,截距为110,对于110平米的房子,预测其房价为230万元。