zoukankan      html  css  js  c++  java
  • 处理不均衡数据 (Imbalanced data)

    什么是不均衡数据

     不均衡数据的形式很简单. 这里有苹果和梨, 当你发现你手中的数据对你说, 几乎全世界的人都只吃梨,

    如果随便抓一个路人甲, 让你猜他吃苹果还是梨, 正常人都会猜测梨.

     不均衡的数据预测起来很简单. 永远都猜多的那一方面准没错. 特别是红色多的那一方占了90%. 只需要每一次

    预测的时候都猜红色, 预测准确率就已经达到了相当高的90%了. 没错, 机器也懂这个小伎俩. 所以机器学到最后,

    学乖了, 每次都预测多数派. 解决的方法有几种, 我们来谈谈.

    获取更多数据

     首先, 我们要想想, 自己还能不能获取到更多的数据. 有时候只是因为前段时期的数据多半呈现的是一种趋势,

    等到后半时期趋势又不一样了. 如果没有获取后半时期的数据, 整体的预测可能就没有那么准确了.

    更换评判方式

     通常, 我们会用到 准确率 accuracy, 或者误差 cost来判断机器学习的成果. 可是这些评判方法在不均衡数据面前,

    高的准确率和低的误差变得没那么重要. 所以我们得换一种方式评判. 通过 confusion matrix 来计算 precision 和 recall,

    然后通过 precision 和 recall 再计算f1 分数.这种方式能成功地区分不均衡数据, 给出更好的评判分数。

    重组数据

     第三种方法是最简单粗暴的方法之一. 重新组合不均衡数据, 使之均衡.

    方式一: 复制或者合成少数部分的样本,使之和多数部分差不多数量.

    方式二: 砍掉一些多数部分, 使两者数量差不多.

    使用其他机器学习方法

     如果使用的机器学习方法像神经网络等, 在面对不均衡数据时, 通常是束手无策.

    不过有些机器学习方法,像决策树, decision trees 就不会受到不均很数据的影响.

    修改算法

     最后一种方法是让自己变得有创造力, 尝试修改算法. 如果你用的是 Sigmoid 的激励函数,

    activation function, 他会有一个预测门槛, 一般如果输出结果落在门槛的这一段,预测结果为梨, 如果落在这一段,

    预测结果为苹果, 不过因为现在的梨是多数派, 我们得调整一下门槛的位置, 使得门槛偏向苹果这边, 只有很自

    信的时候, 模型才会预测这是苹果. 让机器学习,学习到更好的效果.

  • 相关阅读:
    Leetcode 16.25 LRU缓存 哈希表与双向链表的组合
    Leetcode437 路径总和 III 双递归与前缀和
    leetcode 0404 二叉树检查平衡性 DFS
    Leetcode 1219 黄金矿工 暴力回溯
    Leetcode1218 最长定差子序列 哈希表优化DP
    Leetcode 91 解码方法
    Leetcode 129 求根到叶子节点数字之和 DFS优化
    Leetcode 125 验证回文串 双指针
    Docker安装Mysql记录
    vmware虚拟机---Liunx配置静态IP
  • 原文地址:https://www.cnblogs.com/Lazycat1206/p/11911598.html
Copyright © 2011-2022 走看看