📅  最后修改于: 2023-12-03 15:26:54.802000             🧑  作者: Mango
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万元。