Skip to content

机器学习简介

监督式机器学习:为模型提供特征和目标变量,然后模型会计算出如何使用这些特征达成目标。

分类

  1. 回归:数值,例如价格或者温度
  2. 分类:二元分类-多元分类
  3. 排名:一组元素的排序

步骤

1. 问题理解

确定问题,理解问题,选择解决方案

2. 数据理解

分析可用数据集并决定是否收集数据。问题:1. 数据集太小;2.过于嘈杂

3. 数据准备

把数据转换为可用作模型输入的表格形式

4. 建模

5. 评估

训练数据集-验证数据集-模型数据集

6. 部署

下文中,你将学到:

线性回归-汽车价格预测

  1. 读取
  2. 数据处理: 所有列名小写并用下划线代替空格 所有字符串列的值用下划线替换空格并且小写化(只选择带有字符串值的列)
  3. 目标变量分析: 可视化显示数据分布 出现长尾分布,采用LOG
  4. 缺失值检查: 用0填充
  5. 数据准备: 分类变量- ONE HOT编码 拆分-训练集、验证集、检查集 准备好X_…,Y_……(选取特征)
  6. 线性回归: 数学公式代入 正则化-控制权重
  7. 预测
  8. 检查:RMSE评估模型

分类-逻辑回归-客户流失预测

  1. 读取
  2. 数据处理: 「缺失值」查看变量类型-发现数字是文本-猜测导致原因是有空白 「缺失值」文本列转化为数字类型,并检查缺失值以验证猜想 「缺失值」用0填充缺失值 所有列名小写并用下划线代替空格 「没必要随便」目标变量数字化(“yes”->1,而非"1"->1) 拆分-训练集、验证集、检查集
  3. 初步数据分析: 检查缺失值 计算流失率 分别存储分类特征与数值特征的列名 查看分类变量有多少唯一值
  4. 特征重要性分析: 流失率-数值差越大越好 风险率-求比值 相关系数
  5. 特征工程 用DictVectorizer统一调用One-Hot
  6. 模型: 直接用LogisticRegression
  7. 预测
  8. 检查

分类-决策树/集成学习-信用风险评估

  1. 数据处理 用字符意义替换数值表示(为了直观理解?) 缺失值替换1(原数据中表示为99999999) 删除未知结果的数据 拆分-训练集、验证集、检查集 缺失值替换2(原数据中表示为NaN) 使用One-HOT

法一:决策树

  1. 模型 DecisionTreeClassifier
  2. 评估 AUC

法二:随机森林

  1. 模型 RandomForestClassifier
  2. 评估 AUC

法三:XGBoost梯度提升

数据封装 XGBoost预设 PS:性能监控预设

图分类-神经网络/迁移学习-服装

  1. 数据加载 (已提前处理好训练集和验证集) 用preprocess_input预处理 设定加载模式-图像大小、每次加载数量
  2. 创建模型 (迁移学习)基础模型-预训练、去掉顶层、输入数据尺寸 冻结基础模型-无须后续再训 构建模型-输入、基模、池化层、(隐藏层、)致密层(输出)
  3. 训练模型 参数:学习率、优化器、损失函数 模型加载-compile 模型训练-fit
  4. 其它操作 保存模型-设置检查点 dropout正则化