一、前言
场景预设
利用回归进行数据分析,在现实中具有广泛的应用,用于发现事物之间的关系。假设你是一个制造工程师,老板要求你对某化学产品的合成产出率进行分析,以便用于优化设备参数。此时,由于刚学了李宏毅老师的课,作为动手小王子的你,打算亲自动手做一下这个项目并总结处Regression进行数据分析预测时的方法论。
**声明:**本文大部分笔记理解来源于李宏毅机器学习视频课程Regression以及《Hands on machine Learning with Scikit Learn, Keras and TensorFlow》;
二、Regression进行销售预测方法论
2.1 定义商业目标
在进行数据分析前,需要问问你的老板,你的需求是什么,即商业目标是什么?例如本案例中:老板要求你对下个月产品A的销售额进行预测:
- 产品的最佳设置参数是多少?
- 预测需要哪些数据?需要多少数据?需要考虑哪些影响因素?
- 以往是如何设置参数的?
- 需要选用哪些模型?线性回顾?非线性回顾?逻辑回归?SVM?…
- 如何评价模型的好坏?
- 需要达到的最低表现水平如何?
- 如果用手动解决这个问题,你要怎么解决?
- 有哪些前提假设?
代码如下(示例):
2.2 收集数据并进行简要分析
为了收集到用于数据分析的数据,你 于是你进行了简要的分析:
- 仔细查看各列数值的属性,数据类型,是否有丢失值,异常值
- 可视化各个属性数据,比如采用直方图
- 研究各属性之间的相关性
- 是否还需要额外数据
- 总结你的发现
2.3 回归分析
根据经验和专家建议,你决定采用回归进行分析,并用损失函数进行衡量模型的好坏
步骤1. 数据划分
随机抽取80%的数据作为训练集,剩余20%作为测试集
步骤2. 建模
- 根据经验,你选取了常见的温度和压力作为特征变量,进行数据拟合。
- 分别利用线性回归、分线性回归、逻辑回归分别进行了拟合
步骤3. 评估模型的好坏
为了评估模型的好坏,你决定分别比较和计算各自的损失函数:
- 通过Gradient Descent 进行查找最优参数,你根据损失函数得出了各个模型的最佳参数
- 但你觉得还有优化的空间。于是你进行了进一步分析:
- 增加特征变量进行重复步骤2和步骤3
- 采用“正则化”的方法重复步骤2和步骤3
步骤4. 根据步骤3的结果挑选最优的模型
|