zoukankan      html  css  js  c++  java
  • 线性回归-API


    • 线性回归的定义
      • 利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式
    • 线性回归的分类
      • 线性关系
      • 非线性关系

    • 损失函数
      • 最小二乘法
    • 线性回归优化方法
      • 正规方程
      • 梯度下降法
      正规方程 -- 一蹴而就
      • 利用矩阵的逆,转置进行一步求解
      • 只是适合样本和特征比较少的情况
    • 梯度下降法 — 循序渐进
      • 梯度的概念
        • 单变量 -- 切线
        • 多变量 -- 向量
      • 梯度下降法中关注的两个参数
        • α -- 就是步长
          • 步长太小 -- 下山太慢
          • 步长太大 -- 容易跳过极小值点(*)
        • 为什么梯度要加一个负号
          • 梯度方向是上升最快方向,负号就是下降最快方向
    • 梯度下降法和正规方程选择依据
      • 小规模数据:
        • 正规方程:LinearRegression(不能解决拟合问题)
        • 岭回归
      • 大规模数据:
        • 梯度下降法:SGDRegressor

    • sklearn.linear_model.LinearRegression(fit_intercept=True)
      • 通过正规方程优化
      • 参数
        • fit_intercept:是否计算偏置
      • 属性
        • LinearRegression.coef_:回归系数
        • LinearRegression.intercept_:偏置
    • sklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True, learning_rate ='invscaling', eta0=0.01)
      • SGDRegressor类实现了随机梯度下降学习,它支持不同的loss函数和正则化惩罚项来拟合线性回归模型。
      • 参数:
        • loss:损失类型
          • loss=”squared_loss”: 普通最小二乘法
        • fit_intercept:是否计算偏置
        • learning_rate : string, optional
          • 学习率填充
          • 'constant': eta = eta0
          • 'optimal': eta = 1.0 / (alpha * (t + t0)) [default]
          • 'invscaling': eta = eta0 / pow(t, power_t)
            • power_t=0.25:存在父类当中
          • 对于一个常数值的学习率来说,可以使用learning_rate=’constant’ ,并使用eta0来指定学习率。
      • 属性:
        • SGDRegressor.coef_:回归系数
        • SGDRegressor.intercept_:偏置
  • 相关阅读:
    django学习----http协议
    线程进程和协程
    内置函数
    我所了解的递归
    函数的闭包和装饰器
    字符串的内置方法
    格式化输入输出
    逻辑运算符和操作运算符
    python流程控制
    计算机网络原理
  • 原文地址:https://www.cnblogs.com/mujun95/p/12040405.html
Copyright © 2011-2022 走看看