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

发布于:2024-06-25 ⋅ 阅读:(126) ⋅ 点赞:(0)

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

    解:   

朴素贝叶斯

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

 第一阶段是准备工作阶段

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

第三阶段是应用阶段