文章目录
一、线回归
1.线性回归的定义
回归问题的判定?-目标值连续
线性回归:
定义:线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。
其中特点为一个或多个称为回归系数的模型参数的线性组合
通俗理解,就是属性与权重的线性组合
一元线性回归:涉及到的变量只有一个
多元线性回归:涉及到的变量两个或两个以上
通用公式:
2.线性回归策略-损失函数-最小二乘法
预测结果与真实值的误差大小
1)最小二乘法之正规方程
找到最小损失对应的W值,数学原理简单
2)最小二乘法之梯度下降
3.sklearn线性回归正规方程、梯度下降API
sklearn.linear_model.LinearRegression
# 正规方程
sklearn.linear_model.SGDRegressor
# 梯度下降
•sklearn.linear_model.LinearRegression()
# 普通最小二乘线性回归
# 方法
coef_:回归系数
sklearn.linear_model.SGDRegressor( )
# 通过使用SGD最小化线性模型
# 方法
coef_:回归系数
sklearn优点与缺点:
优点:封装好,建立模型简单、预测简单
缺点:看不到算法的过程,有些参数在算法API内部已经优化好了
tensorflow:封装高低,很多东西可以自己指定
4.线性回归案例-波士顿房价数据集分析
波士顿房价数据案例分析流程:
1、波士顿地区房价数据获取
2、波士顿地区房价数据分割
3、训练与测试数据标准化处理
4、使用最简单的线性回归模型LinearRegression和梯度下降估计SGDRegressor对房价进行
预测
# 线性回归案例-波士顿房价数据集分析
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression,SGDRegressor
def mylinear():
'''
线性回归预测房子价格
:return:
'''
# 一、获得数据
lb = load_boston()
# 二、处理数据
# 1.取得数据集中特征值与目标值
x = lb.data
y = lb.target
# 2.分割数据集 训练集与测试集
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25)
# 三、进行特征工程
# 1.训练集与测试集标准化处理
# 特征值与目标值都必须进行标准化处理,实例化两个API,分别处理特征值与目标值
# 特征值
std_x = StandardScaler()
x_train = std_x.fit_transform(x_train)
x_test = std_x.transform(x_test)
# 目标值
std_y = StandardScaler()
# 要求传入的y_train是二维数组,后面也一样&