要点记录
-
假设所有属性X=(x1,x2,...,xn),所有种类Y=(y1,y2,...y3),则要计算的是P(Yi|X),即当各个属性是X时,属于Yi类的概率略去数学推导,核心为P(Y|X)P(X) = P(X|Yi)P(Yi) → P(Y|X) = P(X|Yi)P(Yi), P(X|Yi) = P(x1|Yi)P(x2|Yi) * ... * P(xn|Yi),因此计算出每个P(Yi)及每个Yi对应的P(x1|Yi),P(x2|Yi), ..., P(xn|Yi)即可。
-
这是《机器学习实战》和《统计学习方法》的记录,其中《机器学习实战》关于log计算和优化的部分没有学习
步骤:
-
1 确定类别和属性值,读取数据;
-
2 计算每个类别出现概率P(Yi)
-
3 对每个特征属性计算在每个类别下的条件概率,即P(x1|Y1)P(x2|Y1) , ... , P(xn|Y1),P(x1|Y2)P(x2|Y2) , ... , P(xn|Y2)
-
4 根据待分类样本X和公式 P(Y|X) = P(X|Yi)P(Yi),计算P(Y1|X),P(Y2|X),...,P(Y2|X);
-
5 根据4的计算结果,最大的P(Yi)对应的Yi即为X的类别
代码:
-
../src/naiveB_study
根据《机器学习实战》整理的一些基本代码,并不完全,有关log计算和优化的部分没有学习 -
../src/naiveB_study2
统计学习方法:P50 例4.1自己写的代码,虽然结果正确,但是写得比较“僵硬”,普适性不强,且没有使用numpy等。
网友评论