数据挖掘常见算法(分类算法)

K-近邻算法(KNN)

K-近邻分类法的基本思想:通过计算每个训练数据到待分类元组Zu的距离,取和待分类元组距离最近的K个训练数据,K个数据中哪个类别的训练数据占多数,则待分类元组Zu就属于哪个类别。

KNN算法描述:

  1. 对新的数据集中的每一个数据点,计算其到已知分类信息的数据集中所有数据点的距离。
  2. 将计算得到的所有距离进行排序,一般是升序排序。
  3. 选取其中前K个与未知点离得最近的点。
  4. 统计这K个已知分类信息中各个类别出现的频数,
  5. 选取上述K个点中类别频数最高的,作为未知点的类别。

eg:设某公司现有8名员工的基本信息,包括其个子为高个,中等,矮个的分类标识

公司现刚招进一位名叫刘萍的新员工Z1,令k=5,试采用 k-NN分类算法判断员工刘萍的个子属于哪一类?

解:

决策树

决策树是通过一系列规则对数据进行分类的过程。它提供一种在什么条件下会得到什么值的类似规则的方法。通常决策树主要有三种实现,分别是ID3算法,CART算法和C4.5算法

决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。

决策树分类方法采用自顶向下的递归方式

一棵决策树的生成过程主要分为以下3个部分:

  1. 特征选择
  2. 决策树生成
  3. 剪枝

研究结果表明,一般情况下, 树越小则树的预测能力越强。

理论上讲,后剪枝好于预先剪枝,但计算复杂度大。

典型决策树算法

ID3

ID3算法用信息增益作为属性测试条件,且信息增益值越大以该属性作为分支结点越好。

ID3算法的核心在于使用"信息熵"作为衡量标准,通过计算每个属性的信息增益,选择信息增益最高的属性作为划分标准,重复这个过程直至生成一个能完美分类训练的决策树,采用贪心算法,不能保证全局最优.

递归终止条件:①当分到某个类时,目标属性全是一个值. OR ②当分到某个类时,某个值的比例达到给定的阈值.

信息熵E,一个系统越是有序,信息熵越低;反之,一个系统越混乱,信息熵越高.

info信息量

若存在n个相同概率的消息,则每个消息的概率p=1/n,一个消息传递的信息量为: -Log2(1/n)=Log2n (使用以2为底的对数函数,是因为计算机中的信息用二进位编码。)

gain信息增益 ,选择gain(max)作为结点

|----|----|----|----|---|-----|
| 序号 | 天气 | 气温 | 湿度 | 风 | 打网球 |
| 1 | 晴 | 热 | 高 | 无 | N |
| 2 | 晴 | 热 | 高 | 有 | N |
| 3 | 多云 | 热 | 高 | 无 | Y |
| 4 | 雨 | 温暖 | 高 | 无 | Y |
| 5 | 雨 | 凉爽 | 正常 | 无 | Y |
| 6 | 雨 | 凉爽 | 正常 | 有 | N |
| 7 | 多云 | 凉爽 | 正常 | 有 | Y |
| 8 | 晴 | 温暖 | 高 | 无 | N |
| 9 | 晴 | 凉爽 | 正常 | 无 | Y |
| 10 | 雨 | 温暖 | 正常 | 无 | Y |
| 11 | 晴 | 温暖 | 正常 | 有 | Y |
| 12 | 多云 | 温暖 | 高 | 有 | Y |
| 13 | 多云 | 热 | 正常 | 无 | Y |
| 14 | 雨 | 温暖 | 高 | 有 | N |

ID3优点:算法的理论清晰,方法简单,学习能力较强。

决策树ID3算法的主要问题:过拟合,对数据中的噪声敏感以及不稳定.只能处理离散属性数据,不能处理有缺失的数据。

改进策略:使用决策树的改进版本,如随机森林何梯度提升.

C4.5

C4.5和ID3都是利用贪心算法进行求解,不同的是分类决策的依据不同.

C4.5算法在结构和递归上与ID3完全相同,区别在于选取决断特征时选择信息增益比最大的.

C4.5既可以处理离散型属性,也可以处理连续型属性.

CART

CART算法构成的是一个二叉树,它在每一步的决策时只能是"是"或者"否",即使一个feature有多个取值,也是把数据分为两部分。选择Gini系数最小值作为结点

|----|-----|----|------|------|
| ID | 有房者 | 婚姻 | 年收入 | 拖欠贷款 |
| 1 | 是 | 单身 | 125K | 否 |
| 2 | 否 | 已婚 | 100K | 否 |
| 3 | 否 | 单身 | 70K | 否 |
| 4 | 是 | 已婚 | 120K | 否 |
| 5 | 否 | 离异 | 95K | 是 |
| 6 | 否 | 已婚 | 60K | 否 |
| 7 | 是 | 离异 | 220K | 否 |
| 8 | 否 | 单身 | 85K | 是 |
| 9 | 否 | 已婚 | 75K | 否 |
| 10 | 否 | 单身 | 90K | 是 |

解:

朴素贝叶斯

整个朴素贝叶斯分类可分为三个阶段:

第一阶段是准备工作阶段

第二阶段是分类器训练阶段

第三阶段是应用阶段

相关推荐
阿七想学习2 分钟前
数据结构《排序》
java·数据结构·学习·算法·排序算法
soulteary8 分钟前
使用 AI 辅助开发一个开源 IP 信息查询工具:一
人工智能·tcp/ip·开源·ip 查询
王老师青少年编程9 分钟前
gesp(二级)(12)洛谷:B3955:[GESP202403 二级] 小杨的日字矩阵
c++·算法·矩阵·gesp·csp·信奥赛
爱补鱼的猫猫14 分钟前
2、Bert论文笔记
论文阅读·人工智能·bert
Kenneth風车44 分钟前
【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111
算法·机器学习·分类
eternal__day1 小时前
数据结构(哈希表(中)纯概念版)
java·数据结构·算法·哈希算法·推荐算法
起名字什么的好难1 小时前
conda虚拟环境安装pytorch gpu版
人工智能·pytorch·conda
18号房客1 小时前
计算机视觉-人工智能(AI)入门教程一
人工智能·深度学习·opencv·机器学习·计算机视觉·数据挖掘·语音识别
百家方案1 小时前
「下载」智慧产业园区-数字孪生建设解决方案:重构产业全景图,打造虚实结合的园区数字化底座
大数据·人工智能·智慧园区·数智化园区
APP 肖提莫1 小时前
MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
java·前端·算法