求学者

深度学习第一周(二)

目标

  • Regression Models (回归模型)
  • 学习 Scikit-Learn 搭建回归模型

准备工作及知识

环境配置

  • 选择 Python2 版本

    1
    conda create -n siraj-regression python=2
  • 安装 pandas,matplotlib,scikit-learn

    1
    conda install pandas matplotlib scikit-learn

参考资料

Siraj 的线性回归

Youtobe 地址 :Siraj

内容: 使用线性回归计算脑容量和体重之间的关系

操作步骤

  1. 环境配置(创建环境,进入环境,安装包)

    1
    2
    3
    conda create -n siraj-regression python=2
    activate siraj-regression
    conda install pandas matplotlib scikit-learn
  2. 下载训练数据文件

    1
    git clone https://github.com/llSourcell/linear_regression_demo.git
  3. 执行 demo.py
    效果如图:

线性回归注意

线性回归隐含一系列前提假设,并非适合所有情形,因此注意两个问题

  1. 适用于线性数据
    如果训练数据包含非线性关系,你需要:调整数据,增加特征值数量或选用其他模型
  2. 容易受异常值影响
    数据集中存在不符合总体规律的异常值时,会影响最终结果

多元线性回归

只有单个预测变量时,线性模型公式为 $y = mx$
两个预测变量时,预测公式为 $y = m_1x_1+m_2x_2+b$
多个预测变量同理,不影响编程

线性回归练习

题目: 构建线性回归模型,根据各国男性人口的 身体质量指数 (BMI) 来预测该国人口平均寿命。绘制线形图并预测 BMI 为 21 的寿命

提示: 仿照 demo.py

  1. 利用 pandas 的函数 read_csv 读取 bmi_and_life.csv 文件
  2. 构建 sklearn 的线性模型并训练
  3. 利用 matplotlib.pyplot 绘图
  4. 数据文件 bmi_and_life.csv 点这里

答案点这里 bmi_and_life.py 文件