• 线性回归的定义

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

    • 线性关系
    • 非线性关系

  • 损失函数

    • 最小二乘法
  • 线性回归优化方法

    • 正规方程
    • 梯度下降法

    正规方程 -- 一蹴而就

    • 利用矩阵的逆,转置进行一步求解
    • 只是适合样本和特征比较少的情况
  • 梯度下降法 — 循序渐进
    • 梯度的概念

      • 单变量 -- 切线
      • 多变量 -- 向量
    • 梯度下降法中关注的两个参数
      • α -- 就是步长

        • 步长太小 -- 下山太慢
        • 步长太大 -- 容易跳过极小值点(*)
      • 为什么梯度要加一个负号
        • 梯度方向是上升最快方向,负号就是下降最快方向
  • 梯度下降法和正规方程选择依据
    • 小规模数据:

      • 正规方程: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_:偏置

线性回归-API的更多相关文章

  1. Spark(十一) -- Mllib API编程 线性回归、KMeans、协同过滤演示

    本文测试的Spark版本是1.3.1 在使用Spark的机器学习算法库之前,需要先了解Mllib中几个基础的概念和专门用于机器学习的数据类型 特征向量Vector: Vector的概念是和数学中的向量 ...

  2. 机器学习笔记5-Tensorflow高级API之tf.estimator

    前言 本文接着上一篇继续来聊Tensorflow的接口,上一篇中用较低层的接口实现了线性模型,本篇中将用更高级的API--tf.estimator来改写线性模型. 还记得之前的文章<机器学习笔记 ...

  3. 【TensorFlow篇】--Tensorflow框架初始,实现机器学习中多元线性回归

    一.前述 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,T ...

  4. Python----多元线性回归

    多元线性回归 1.多元线性回归方程和简单线性回归方程类似,不同的是由于因变量个数的增加,求取参数的个数也相应增加,推导和求取过程也不一样.. y=β0+β1x1+β2x2+ ... +βpxp+ε 对 ...

  5. 【学习笔记】tensorflow实现一个简单的线性回归

    目录 准备知识 Tensorflow运算API 梯度下降API 简单的线性回归的实现 建立事件文件 变量作用域 增加变量显示 模型的保存与加载 自定义命令行参数 准备知识 Tensorflow运算AP ...

  6. spark-MLlib之线性回归

    >>提君博客原创  http://www.cnblogs.com/tijun/  << 假定线性拟合方程: 提君博客原创 变量 Xi 是 i 个变量或者说属性  参数 ai 是 ...

  7. pandas进行条件格式化以及线性回归的预测

    条件格式化 需求1: 将三次考试的成绩小于60分的值找出来,并将字体变为红色 需求2: 将每次考试的第一名找出来,将背景变为绿色 需求3: 使用背景颜色的深浅来表示数值的大小 需求4: 使用数据条的长 ...

  8. AI学习---基于TensorFlow的案例[实现线性回归的训练]

    线性回归原理复习 1)构建模型               |_> y = w1x1 + w2x2 + -- + wnxn + b        2)构造损失函数               | ...

  9. 用 scikit-learn 和 pandas 学习线性回归

      用 scikit-learn 和 pandas 学习线性回归¶ from https://www.cnblogs.com/pinard/p/6016029.html 就算是简单的算法,也需要跑通整 ...

随机推荐

  1. web.py小记

    what's the web.py 相比于 Django 和 Flask,web.py 是轻量到不能再轻量的 web 框架,所有的功能都需要自己实现,所有不适合中大型 web 的开发,不过对于简单的 ...

  2. IDEA中提示配置jdk1.8

    问题描述:运行Java Web项目时,IDEA中提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除 解决方法:1. 打开[File]—[Project Structure] ...

  3. cent os 部署blade

    一:安装docker 二:安装docker-compose 三:安装Harbor 四:配置Harbor使用https和2376端口 在/etc/docker 目录下面创建文件:create_tls_c ...

  4. 【计算机视觉基础】IPM

    IPM code #if 0 void xyp2ipmp(cv::Mat& xyp, cv::Mat& ipmp, cv::Mat& xylim, Size& sz){ ...

  5. Element-UI+Vue.js

    演示地址: https://nirongxu.github.io/vue-xuAdmin/dist/#/login 仓库地址: https://github.com/Nirongxu/vue-xuAd ...

  6. Java并发编程核心概念一览

    作者博客地址 https://muggle.javaboy.org. 并行相关概念 同步和异步 同步和异步通常来形容一次方法的调用.同步方法一旦开始,调用者必须等到方法结束才能执行后续动作:异步方法则 ...

  7. Unity3D 使用SQLite

    使用Unity操作SQLite,需要用到三个库文件,分别是Mono.Data.Sqlite.dll和System.Data.dll和Sqlite3.dll,前两个库文件可以在unity中找到,具体步骤 ...

  8. mavn jar包依赖冲突解决

    背景:使用maven很方便,但是引入冲突也很常见.后果很严重,各种不明实体找不到,所以需要对jar包的依赖有一个清晰的认识. 查看冲突 参考:用dependency:tree查看maven引入jar包 ...

  9. 关于UiAutomator无法识别的元素

    1.关于没有name,没有ID的元素的定位---通用篇解题思路:因为没有name,id:其实剩下的选择已不多,要么xpath,要么className.xpath木有好印象(稳定性不高,加之1.0x后需 ...

  10. 在 Java 中不使用多余变量交换两个字符串

    在 Java 中不使用多余变量交换两个字符串 public class Test { public static void main(String[] args) { String a = " ...