目标
- Regression Models (回归模型)
- 学习 Scikit-Learn 搭建回归模型
准备工作及知识
环境配置
选择 Python2 版本
1conda create -n siraj-regression python=2安装 pandas,matplotlib,scikit-learn
1conda install pandas matplotlib scikit-learn
参考资料
Pandas (Python 数据处理库)
Scikit-learn (综合性 Python 机器学习库)
Matplotlib (Matplotlib 官方教程)
Siraj 的线性回归
Youtobe 地址 :Siraj
内容: 使用线性回归计算脑容量和体重之间的关系
操作步骤
环境配置(创建环境,进入环境,安装包)
123conda create -n siraj-regression python=2activate siraj-regressionconda install pandas matplotlib scikit-learn下载训练数据文件
1git clone https://github.com/llSourcell/linear_regression_demo.git执行 demo.py
效果如图:
线性回归注意
线性回归隐含一系列前提假设,并非适合所有情形,因此注意两个问题
- 适用于线性数据
如果训练数据包含非线性关系,你需要:调整数据,增加特征值数量或选用其他模型 - 容易受异常值影响
数据集中存在不符合总体规律的异常值时,会影响最终结果
多元线性回归
只有单个预测变量时,线性模型公式为 $y = mx$
两个预测变量时,预测公式为 $y = m_1x_1+m_2x_2+b$
多个预测变量同理,不影响编程
线性回归练习
题目: 构建线性回归模型,根据各国男性人口的 身体质量指数 (BMI) 来预测该国人口平均寿命。绘制线形图并预测 BMI 为 21 的寿命
提示: 仿照 demo.py
- 利用 pandas 的函数 read_csv 读取 bmi_and_life.csv 文件
- 构建 sklearn 的线性模型并训练
- 利用 matplotlib.pyplot 绘图
- 数据文件 bmi_and_life.csv 点这里
答案:点这里 bmi_and_life.py 文件