损失函数(误差大小)
如何去求模型当中最合适的w使得误差最小?
- 最小二乘法只正规方程(不做要求)
- 最小二乘法只梯度下降(理解过程)
sklearn线性回归正规方程,梯度下降API
- sklearn.linear_model.linearRegression
- sklearn.linear_model.SGDRegressor
波士顿房价数据集分析流程
- 波士顿地区房价数据获取
- 波士顿地区房价数据分割
- 训练集与测试机数据标准化处理
- 使用最简单的线性回归模型LinearREgression和梯度下降估计SGDREgressor对房价进行预测
利用正规方程求解boston房价预测
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression,SGDRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
def myLinear():
"""线性回归直接预测房子价格"""
lb=load_boston()
x_train,x_text,y_train,y_text=train_test_split(lb.data,lb.target,test_size=0.25)
std_x=StandardScaler()
x_train=std_x.fit_transform(x_train)
x_text=std_x.transform((x_text))
std_y=StandardScaler()
y_train=std_y.fit_transform(y_train)
y_text=std_y.transform(y_text)
lr=LinearRegression()
lr.fit(x_train,y_train)
print(lr.coef_)
y_predict=std_y.inverse_transform(lr.predict(x_text))
print("测试集每个房子的预测价格:",y_predict)
if __name__ == '__main__':
myLinear()