机器学习 - 第二部分

学习框架

在这里插入图片描述

第三章 分类算法

3.1 sklearn转换器与预估器
  • 转换器是特征工程的父类
    • 实例化 (实例化的是一个转换器类transformer)
    • 调用fit_transform() (对于文档建立分类词频矩阵, 不能同时使用)
      • 标准化 : ((x - mean) / std)
      • fit_transform()
      • fit() : 计算每一列的平均值 , 标准差
      • transform() : (x - mean) / std进行最终的转换
  • 预估器 (sklearn机器学习算法的实现)
    • 估计器工作流程 (estimator)
      • 实例化一个estimator预估器类
      • estimator.fit(x_train, y_train) 计算 , 进行训练 , 调用完毕 , 模型生成
      • 模型评估
      1. 直接比对真实值和预测值
        y_predict = estimator.predict(x_test)
        y_test == y_predict
      2. 计算准确率
        accuracy = estimator.score(x_test, y_test)

3.2 K-近邻算法
  • KNN算法的核心思想 : 根据你的"邻居"推断出你的类别
  • 定义 : 如果一个样本在特征空间中的k个最相似 (特征空间最邻近) 的样本中绝大多数属于一个类别 , 则该样本属于这个类别
  • 距离公式 :

    曼哈顿距离 : 绝对值距离
    明科夫斯基距离 : 前两者是它的特殊情况
  • k值取得过大 , 易受到样本不均衡的影响
    k值取得过小 , 易受到异常值的影响
  • API
  • 流程
    • 获取数据
    • 数据集划分
    • 特征工程 - 标准化
    • KNN预估器流程
    • 模型评估
  • 优缺点 :
    • 优点 : 简单 , 易于理解
    • 缺点 : 必须制定k值 , k值选择不当 , 分类精度则不能保证 ; 懒惰算法 , 对测试样本分类时的计算量大 , 内存开销大
  • 使用场景 : 小数据场景 , 几千 ~ 几万样本 , 具体场景具体业务区测试

3.3 模型选择与调优
  • 什么是交叉验证 (cross validation)

  • 超参数搜索 - 网格搜索 (Grid Search)

  • API

  • FaceBook案例

    • 案例描述
    • 参数设置 - 根据用户的位置 , 准确性与时间戳预测用户正在查看的业务

  • 流程分析

    • 获取数据
    • 数据处理
      • 目的 : 筛选出 特征值 x目标值 y
        a. 缩小数据范围 2 < x < 2.5 , 1.0 < y < 1.5
        b. time属性 --> 有意义的时间 , 具体到年月日时分秒
        c. 过滤签到次数少的地点
      • 数据集划分
    • 特征工程 : 标准化
    • KNN算法预估流程
    • 模型选择与调优
    • 模型评估

3.4 朴素贝叶斯算法
  • 什么是朴素贝叶斯算法
    • 通过朴素贝叶斯算法得出的分类结果,取概率大的作为最终的结果
  • 概率基础
  • 联合概率、条件概率与相互独立
    • 联合概率、条件概率与相互独立概念
  • 贝叶斯公式
    • 朴素:假设特征与特征之间相互独立
    • 贝叶斯公式如下:
    • 应用场景:文本分类、单词作为特征
    • 拉普拉斯平滑系数
      目的:防止计算出的分类概率为 0
      Ni:该 F1 词在 C类别所有文档中出现的次数
      N:所属类别 C 下的文档所有词出现的次数和
  • API
  • 案例 :20类新闻分类
    • 获取数据
    • 划分数据集
    • 特征工程
      • 文本特征抽取
    • 朴素贝叶斯预估器流程
    • 模型评估
  • 朴素贝叶斯算法总结
    • 优点:
      朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率,对缺失数据不太敏感,算法也比较简单,常用于文本分类,分类准确度高,速度快
    • 缺点:
      由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好
  • 总结
    条件概率、联合概率计算方式与特征独立的关系贝叶斯公式的计算
3.5 决策树
  • 认识决策树
    • 最早的决策树是利用程序设计中 if-else 分支结构分割数据的一种分类学习方法
    • 如何高效进行决策 - 特征的先后顺序
  • 决策树分类原理详解
    • 信息论基础:
      信息 : 香农 - 消除随机不定性的东西
    • 信息衡量 - 信息量 - 信息熵(单位为比特)

      公式的详细解释
    • 信息增益:特征 X 的信息熵不确定性减少的程度使得类 Y 信息熵减少的程度
    • 举例:

      以年龄特征来计算信息增益:

      分别计算年龄、工作、房子、贷款情况,最后得出g(D,A1) = 0.313,g(D,A2) = 0.324,g(D,A3) = 0.420,g(D,A4) = 0.363,所以我们将 A3 作为划分的第一个特征。
    • 决策树划分依据之一 - 信息增益
  • 决策树 API
  • 案例:泰坦尼克号乘客生存预测
    流程分析
    特征值 目标值
    • 获取数据
    • 数据处理
      缺失值处理
      特征值 - 字典类型
    • 准备好特征值、目标值
    • 划分数据集
    • 特征工程:字典特征工程
    • 决策树预估器流程
    • 模型评估
  • 决策树可视化
    保存树的结构到dot 文件
  • 决策树总结
    优点:简单的理解和解释,树可视化
    缺点:决策树学习者可以创建不能很好推广数据的过于复杂的树,这被称为过拟合
    改进:减枝 cart 算法;随机森林
    应用场合:企业重要决策,由于分析能力很好,在决策过程应用较多,可以选择特征
3.6 集成学习方法之随机森林
  • 什么是集成学习方法
    通过建立几个模型组合来解决单一预测问题,它的工作原理是生成多个分类器/模型,各自独立的学习和做出预测,这些预测最后结合成组合预测,因此优于任何一个单分类做出的预测
  • 什么是随机森林
    是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定
  • 随机森林原理过程
    两个随机
    • 训练集随机 - N 个样本中随机有放回的抽取 N 个样本
      bootstrap-随机有放回抽样
    • 特征随机 - M 个特征中抽取 m 个特征
      M >> m:降维
  • API
  • 随机森林预测案例
    随机森林对泰坦尼克号乘客生存进行预测
  • 总结
    具有极好的准确率
    能够有效的运行在大数据集上,处理具有高维特征的数据输入样本,而且不需要降维
    能够评估各个特征在分类问题上的重要性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值