人人都能看懂的数据挖掘之OneR算法(原来数据挖掘如此简单!)

如标题所言,我要以最通俗易懂的方法向大家介绍一个简单的数据挖掘算法——OneR算法,为了每个人都能看懂,这里将不涉及专业术语,不要求任何关于数据挖掘的背景知识,只需要跟着我的思路一步一步走就行!

在OneR算法要干什么?

要想最快地明白一件事情,首先要搞清楚其目的。OneR是One Rule的意思,即一个规则,只看某事物的一个特征,然后来预测该事物的类别。不明白,没事,举个例子你就明白了。
比如,现在给出一条数据,该数据描述了一个人的三个特征:身高,体重,头发长短,根据这三个特征来预测该人的性别类,男或女。如果以我们人类的思维来看这个问题,一般来说,如果这个人的身高为高挑(假如超过1.7米为高,否则为矮),体重为重(假如超过120斤为重,否则为矮),头发为短(假如头发过肩为长,否则为短),那么我们可以预测这个人属于类别男。这里,我们把数据中三个特征都看了,然后才预测出该人的性别,而OneR算法则希望找出一个准确率最高的特征,比如头发,然后只根据头发的长短来预测该人所属性别。如,如果该人的头发为短,则直接判断该人的性别为男性。这就是OneR算法。是不是很简单?

如果找出最好的特征?

我们上面说了,要从多个特征中找出准确率最高或者说是错误率最低一个特征来预测该事物的类别。那么如何找出那个最好的特征呢?这就需要对现有的数据来进行统计分析了。其实这个过程是非常简单的。
比如我们现在有10条数据。

我们分别对每个特征进行统计,统计结果如下:

先来看身高的统计结果,男中有4个为高,只有1个为矮,那么我们可以认为身高为高的人一般性别为男,相对较矮的则判断为女性,如果以这样的规则来预测的话,那么会出现几个错误呢?图中红色的就是错误的,可以看到,男的为1个,女的为两个,总共为3,那么,如果用身高这个特征来判断性别的话,错误数为3,即错误率为30%。
同理,由体重的统计结果可以得出,错误数为4,而头发长短这个特征的话错误数为2。
由此,三个特征的错误数分别为3,4,2,明显错误最少的特征为头发长短,也就是说,根据头发长短来判断性别的准确度是最高的,所以我们选择头发长短这个特征来作为预测性别的唯一规则(One Rule):如果头发长短为长,我们就认为该人性别为女,如果为短则认为该人性别为男。这是不是很简单?
比如下面一条数据,

虽然身高为矮,体重为轻,很可能是女性,但是我们的唯一规则只看头发长度,因为头发长度为短,所以我们的算法判断该人性别为男。

总结

这里,我只把OneR算法的大概思想说了一下,在实际情况中可能需要一些额外的处理,比如把连续数据离散化,数据中存在非法值(如空值)如何处理等等,如果你想了解更多,就去找相关的资料看吧,对了,目前国内网站关于数据挖掘方面的资料还是相对较少的,翻墙吧哈哈。

数据挖掘之OneR算法(原来数据挖掘如此简单!)相关推荐

  1. Python数据挖掘-OneR算法简介

    OneR算法 内容来源于<Python数据挖掘入门与实践> 在末尾有源代码,但需要使用Jupyter notebook,大家可以去我的另一篇文章找安装教程.http://blog.csdn ...

  2. python数据挖掘(2.分类 OneR算法)

    数据源 分类是数据挖掘最为常用的方法之一,无论实际应用还是调研,都需要它的帮忙.对于分类问题,我们通常能拿到表示实际对象或时间的数据及,而数据集中每一条数据都有所属于的类别,这些类别把一条条的数据划分 ...

  3. Python数据挖掘学习——鸢尾花分类、OneR算法

    <Python数据挖掘入门与实践>第一章内容,实现一个简单的分类处理,实现OneR算法. OneR算法的思路很简单,它根据已有的数据中,具有相同特征值的个体最可能属于哪个类别进行分类.On ...

  4. 用OneR算法对Iris植物数据进行分类

    数据集介绍 Iris是植物分类数据集,这个数据集一共有150条植物数据.每条数据都 给出了四个特征:sepal length.sepal width.petal length.petal width( ...

  5. python数据挖掘-oneR算法

    以下参考自<python数据挖掘入门与实战> 1.4分类 已知类别的数据集,经过训练得到一个分类模型,再用模型对类别未知的的数据进行分类.比如垃圾邮件过滤器 离散化:数据集的特征为连续值, ...

  6. 机器学习之数据挖掘算法(一)OneR算法

    一.初识OneR算法 1.在数据挖掘中,我们会接触到knn,决策树等许多复杂的分类算法,那么有没有一种比较简单的分类算法呢?那就是OneR算法. 2.思想:OneR即One Rule顾名思义,也就是一 ...

  7. 数据挖掘中分类算法小结

    数据挖掘中分类算法小结   数据仓库,数据库或者其它信息库中隐藏着许多可以为商业.科研等活动的决策提供所需要的知识.分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合或预测未来数据趋势 ...

  8. 数据挖掘算法_数据挖掘算法入门

    有南方的朋友讲过北方人喜欢打比方,尤其是甲方的,其实也没什么不好了.如果是做菜的话,那么这些算法就相当于烹饪的工具了.对原始的食材进行预处理.加工整合,选择合适烹饪工具,以及对应的方法步骤,最后收获舌 ...

  9. 机器学习(数据挖掘十个重要算法)

    数据挖掘中常用的十个重要算法  一. C4.5  C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法.   C4.5算法继承了ID3算法的长处.并在下面几方面对ID3算法进行了 ...

最新文章

  1. Confluence 6 查看空间活动
  2. Linux C编程--线程操作2--线程同步详解
  3. git clone 出现错误 Could not resolve host: github.com
  4. BugkuCTF–flag在index里
  5. linux(centos)中的cron计划任务配置方法
  6. HTML5 figure元素
  7. 李飞飞新动向:创建斯坦福“以人为本AI研究院”,担任共同院长
  8. Java开发工具IntelliJ IDEA创建Andriod项目示例说明
  9. vim入门教程(简洁有效)
  10. 计算机网络物理层之物理层之下的传输媒体
  11. 全渠道数字化营销平台
  12. 基于vue3.0+vantUI+sass实现的移动端商城
  13. 人名和成绩一起排序_Excel怎么按姓名笔画和拼音排序,后面的数字跟着一起变动...
  14. 一周内,在闲鱼上被疯狂转了2万次的Redis资料!!!
  15. 计算机ppt基础操作心得体会,word计算机实训心得体会.doc
  16. 我替一位仁兄改的n进制数相加的问题
  17. 数论——佩尔方程变量分解
  18. cufflinks之cuffmerge,cuffdiff
  19. 电子商务行业物流现状分析
  20. webmatrix如何使用php,用微软的webmatrix配置PHP网站

热门文章

  1. Android调用系统应用打开各种类型文件
  2. 3D打印开源切片软件Cura配置步骤
  3. mpegtsenc.c的源码
  4. 字节跳动日常实习一二三面面经(后端开发)
  5. Python-docx实战:同事要我帮忙补写178份日报!别吧
  6. 微信小程序个人和企业有什么不一样(个人和企业小程序的区别)
  7. 6782. 2020.08.06【NOI2020】模拟T3 乌拉乌拉
  8. 多多进鱼带VUE源码-任务悬赏网站源码-活动营销三级分销返佣积分商城版
  9. python cadn面试题(摘抄)
  10. win10开机启动慢如何解决?三种方法帮你解决!