分类分析|贝叶斯分类器及其Python实现
0. 分类分析概述
分类是数据挖掘的主要方法,通过有指导的学习训练建立分类模型。
分类的目的是通过学习,得到一个分类函数或分类模型(也常常称作分类器),该模型能够把数据集中的对象映射到给定类别中的某一个类上。
分类和回归都属于预测建模,分类用于预测可分类属性或变量,而回归用于预测连续的属性取值。
1. Logistics回归模型
最常见的分类预测模型为:
l o g ( P 1 − P ) = β 0 + β 1 X 1 + β 2 X 2 + . . . + β p X p + ε log(\frac{P}{1-P})=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_pX_p+\varepsilon log(1−PP)=β0+β1X1+β2X2+...+βpXp+ε
该模型被称为Logistics回归模型,适用于输出变量仅有0、1两个类别(或分类)值的二分类预测。例如:基于顾客的购买行为预测其是否会参加本次对该类商品的促销。
2. 贝叶斯分类器
在实际应用中,样本的属性集与类别的关系一般是不确定的,但可能存在一种概率关系。贝叶斯分类器是一种基于统计概率的分类器,通过比较样本术语不同类别的概率大小对其进行分类。
这里对朴素贝叶斯分类器进行介绍,朴素贝叶斯分类器是贝叶斯定理(一种样本属性集与类别的概率关系建模方法)的实现。
2.1 贝叶斯定理
假设 X X X和 Y Y Y在分类中可以分别表示样本的属性集和类别。 p ( X , Y ) p(X,Y) p(X,Y)表示它们的联合概率, p ( X ∣ Y ) p(X|Y) p(X∣Y)和 p ( Y ∣ X ) p(Y|X) p(Y∣X)表示条件概率,其中 p ( Y ∣ X ) p(Y|X) p(Y∣X)是后验概率,而 p ( Y ) p(Y) p(Y)称为 Y Y Y的先验概率。 X X X和 Y Y Y的联合概率和条件概率满足下列关系:
p ( X , Y ) = p ( Y ∣ X ) p ( X ) = p ( X ∣ Y ) p ( Y ) p(X,Y)=p(Y|X)p(X)=p(X|Y)p(Y) p(X,Y)=p(Y∣X)p(X)=p(X∣Y)p(Y)
变换后得到:
p ( Y ∣ X ) = p ( X ∣ Y ) p ( Y ) p ( X ) p(Y|X)=\frac {p(X|Y)p(Y)}{p(X)} p(Y∣X)=p(X)p(X∣Y)p(Y)
上式称为贝叶斯定理,它提供了从先验概率 p ( Y ) p(Y) p(Y)计算后验概率 p ( Y ∣ X ) p(Y|X) p(Y∣X)的方法。
在分类时,给定测试样本的属性集 X X X,利用训练样本数据可以计算不同类别 Y Y Y值的后验概率,后验概率 p ( Y ∣ X ) p(Y|X) p(Y∣X)最大的类别 Y Y Y可以作为样本的分类。
2.2 朴素贝叶斯分类器
在应用贝叶斯定理时, p ( X ∣ Y ) p(X|Y) p(X∣Y)的计算比较麻烦。但对于属性集 X = X 1 , X 2 , . . . , X n X={X_1,X_2,...,X_n} X=X1,X2,...,Xn,如果 X 1 , X 2 , . . . , X n X_1,X_2,...,X_n