OneR算法(分类应用,寻找最佳的特征值用于分类)
计算数据错误率,不属于最多类的特征值个数,把各个取值的错误率相加,选取错误率最低的特征作为唯一的分类准则(One Rule),用于接下来的分类。
//OneR

from collections import defaultdict
from operator import itemgetter
#参数分别是数据集,类别数组,选好的特征索引值,特征值
def train_feature_value(X,y_true,feature_index,value):class_counts=defaultdict(int)for sample,y in zip(X,y_true):if sample[feature_index]==value:class_counts[y]+=1sorted_class_counts=sorted(class_counts.items(),key=itemgetter(1),reverse=True)most_frequent_class=sorted_class_counts[0][0]incorrect_predictions=[class_count for class_value,class_countin class_counts.items()if class_value!=most_frequent_class]error=sum(incorrect_predictions)return most_frequent_class,errordef train_on_feature(X,y_true,feature_index):values=set(X[:,feature_index])predictors={}errors=[]for current_value in values:most_frequent_class,error,error = train_feature_value(X,y_true,feature_index,current_value)predictors[current_value]=most_frequent_classerrors.append(error)total_error=sum(errors)return predictors,total_error

OneR算法python实现相关推荐

  1. python数据挖掘-oneR算法

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

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

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

  3. 使用OneR算法进行分类(Python实现)

    分类 分类是数据挖掘领域最为常用的方法之一,不论是实际应用还是科研,都少不了它的身影. 根据检测数据确定植物的种类.类别的值为"植物属于哪个种类? 接下来这个代码就是实现这个问题 执行过程是 ...

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

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

  5. python机器学习实现oneR算法 以鸢尾data为例

    oneR即"一条规则".oneR算法根据已有的数据中,具有相同特征值的个体最可能属于哪个类别来进行分类. 以鸢尾data为例,该算法实现过程可解读为以下六步: 文章目录 一. 导包 ...

  6. OneR算法的Python简单实现

    OneR算法就是,在已有数据中,根据具有相同特征值的个体最可能属于哪个类别进行分类.即取效果最好的那个特征进行分类. #-*- coding=utf-8 -*- # import numpy as n ...

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

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

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

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

  9. 棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现

    Dijkstra 最短路径算法 Python 实现 问题描述 使用 Dijkstra 算法求图中的任意顶点到其它顶点的最短路径(求出需要经过那些点以及最短距离). 以下图为例: 算法思想 可以使用二维 ...

最新文章

  1. Linux 内核阅读工具vim+ctags+cscope+taglist
  2. 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )
  3. OCM备考 一、Server config 之管理表空间
  4. sql怎么修改服务器角色,sql角色服务器的设置
  5. JScharts快速入门
  6. SimpleDet: 一套简单通用的目标检测与物体识别框架
  7. java urlrewrite_Java|urlrewrite|URL重写|多个参数
  8. Spring Boot读取application.yaml属性
  9. linux安装pytorch-GPU版本
  10. 软件性能中几个主要的术语
  11. 求两个整数最大公约数
  12. 北斗高精度定位在民航机场的创新应用
  13. 软件业:印度比中国强在哪
  14. 服务器虚拟内存可以设置其他盘,Win7系统如何把虚拟内存设置在其它盘符?
  15. source bash_profile是干啥的
  16. 转账功能怎么测试?以支付宝转账到银行卡为例
  17. java计算机毕业设计雁门关风景区宣传网站源码+系统+mysql数据库+lw文档
  18. python里的英文歌叫什么_Python告诉你:从《入海》到《消愁》毛不易的歌里都在唱些什么?...
  19. 关于快速记忆的原理和方法介绍
  20. WiFi基本概念(八)(信道估计 L-STF,L-LTF,Pilots)

热门文章

  1. 程矢Oracle PowerDesigner中生成Oracle版本主键和自增列
  2. duplicate designator is not allowedC/C++(2906)
  3. uniapp 微信小程序开发 图片上传压缩
  4. bzoj 4417: [Shoi2013]超级跳马
  5. ei论文计算机,容易写的计算机ei论文题目 计算机ei专业论文题目如何拟
  6. 2020-05-21
  7. Mac OS X系统下修改wifi共享的默认网段
  8. ico图标在线制作工具以及带步骤(图文教程)
  9. CentOS7 开启 BBR 加速
  10. C#时间格式转换为时间戳