1. 导入需要的模块和库
from sklearn.linear_model import LinearRegression as LR from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.datasets import fetch_california_housing as fch #加利福尼亚房屋价值数据集 import pandas as pd2. 导入数据,探索数据
housevalue = fch() #会需要下载,大家可以提前运行试试看 X = pd.DataFrame(housevalue.data) #放入DataFrame中便于查看 y = housevalue.target X.shape y.shape X.head() housevalue.feature_names X.columns = housevalue.feature_names """ MedInc:该街区住户的收入中位数 HouseAge:该街区房屋使用年代的中位数 AveRooms:该街区平均的房间数目 AveBedrms:该街区平均的卧室数目 Population:街区人口 AveOccup:平均入住率 Latitude:街区的纬度 Longitude:街区的经度 """3. 分训练集和测试集
Xtrain, Xtest, Ytrain, Ytest = train_test_split(X,y,test_size=0.3,random_state=420) for i in [Xtrain, Xtest]: i.index = range(i.shape[0]) Xtrain.shape #如果希望进行数据标准化,还记得应该怎么做吗? #先用训练集训练标准化的类,然后用训练好的类分别转化训练集和测试集4. 建模
reg = LR().fit(Xtrain, Ytrain) yhat = reg.predict(Xtest) yhat5. 探索建好的模型
reg.coef_ [*zip(Xtrain.columns,reg.coef_)] """ MedInc:该街区住户的收入中位数 HouseAge:该街区房屋使用年代的中位数 AveRooms:该街区平均的房间数目 AveBedrms:该街区平均的卧室数目 Population:街区人口 AveOccup:平均入住率 Latitude:街区的纬度 Longitude:街区的经度 """ reg.intercept_建模的过程在sklearn当中其实非常简单,但模型的效果如何呢?接下来我们来看看多元线性回归的模型评估指标。