概述
- 回归模型是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。
1、线性回归Sklearn API接口:
- sklearn.linear_model.LinearRegression:
功能: 普通最小二乘线性回归。
参数: fit_intercept: 是否拟合截距.
normalize:bool, default=False 如果为True,则将在回归之前通过减去均值并除以l2-范数来对回归变量X进行归一化。
属性Attributes:
coef_: 线性回归问题的估计系数。
intercept_: 拟合的截距
2、线性回归实操
- 了解完线性回归的的概述和接口,接下来,我们来实操吧。 以加尼福尼亚数据为例
#导包
from sklearn.datasets import fetch_california_housing from sklearn.linear_model import LinearRegression
house = fetch_california_housing()
X = pd.DataFrame(house.data,columns=house.feature_names)
ex = “”"
特征解释
MedInc:该街区住户的收入中位数
HouseAge:该街区房屋使用年代的中位数
AveRooms:该街区平均的房间数目
AveBedrms:该街区平均的卧室数目
Population:街区人口
AveOccup:平均入住率
Latitude:街区的纬度
Longitude:街区的经度
“”";
#拆分训练集和测试集
y = house.target
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.3, random_state=1)
#建模
lr = LinearRegression()
lr.fit(X_train,y_train)
#评估
训练集评分
lr.score(X_train, y_train)
测试集评分
lr.score(X_test, y_test)
#输出系数和截距
lr.coef_
lr.intercept_
#测试预测结果
y_pred = lr.predict(X_test)
y_pred