贝叶斯分类器_贝叶斯分类器

贝叶斯定理

贝叶斯定理:已知某条件下的概率,如何得到两条件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)的概率。P(A|B)是后验概率(posterior probability),也就是我们常说的条件概率,即在条件B下,事件A发生的概率。相反P(A)或P(B)称为先验概率(prior probability·)。

6606641b487a923c147a2b70885b9df0.png

朴素贝叶斯分类

朴素贝叶斯分类的思想真的很朴素,它的思想基础是这样的:对于给出的待分类项,求解此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类属于哪个类别。

  朴素贝叶斯分类的工作过程如下:

  (1)、设D是训练元组和它们相关联的类标号的集合。每个元组用一个n维属性向量X={x1,x2,...,xn}表示。

  (2)、假定有m个类C1 ,C2,...Cm。给定元组X,分类法将预测X属于具有最高后验概率的类。也就是说,朴素贝叶斯分类法预测X属于类Ci,当且仅当

   P(Ci|X)>P(Cj|X) 1≤j≤m, j≠i

  这样,P(Ci|X)最大的类C1称为最大后验概率。根据贝叶斯定理

b187682648844e4c30961bff748d2171.png

  (3)、由于P(X)对所有类为常数,所以只需要P(Ci|X)P(Ci)最大即可。若类的先验概率未知,则通常假定这些类是等概率的,即P(C1)=P(C2)=...=P(Cm),并据此对P(Ci|X)最大化,否则最大化P(Ci|X)P(Ci)

  (4)、给定具有很多属性的数据集,计算P(Ci|X)的开销非常大。为了降低计算开销,可以做类条件独立的朴素假定。给定元组的类标号,假定属性值有条件地相互独立。因此,

9ce9b5e2c7a0c95756649e8d91085c9a.png

  考察该属性是分类的还是连续值的,例如为了计算P(X|Ci),考虑如下两种情况:

    (a)、如果Ak是分类属性,则P(xk|Ci)是D中属性Ak的值为xk的Ci类的元组数除以D中Ci类的元组数|Ci,D|

    (b)、如果Ak是连续值属性,则假定连续值属性服从均值为η、标准差为σ的高斯分布,由下式定义:

1cd8275c4c8987c8133c8a555d6a9fe8.png

    即P(xk |Ci)=g(xk,ηci,σci)

  (5)、为了预测X得类标号,对每个类Ci,计算P(Ci|X)P(Ci)。该分类法预测输入元组X的类为Ci,当且仅当,P(X|Ci)P(Ci)>P(X|Cj)P(Cj), 1≤j≤m, j≠i。即是,被预测的类标号是使P(X|Ci)P(Ci)最大的类Ci。

sk-learn

import numpy as np
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([1, 1, 1, 2, 2, 2])
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(X, Y)

print(clf.predict([[-0.8, -1]]))

clf_pf = GaussianNB()
clf_pf.partial_fit(X, Y, np.unique(Y))

print(clf_pf.predict([[-0.8, -1]]))

Parameters

priorsarray-like, shape (n_classes,)

类的先验概率。如果指定,则不根据数据调整优先级。

var_smoothing:float, optional (default=1e-9)

所有特征的最大方差的一部分,添加到方差中以保持计算稳定性。

Attributes

class_count_:array, shape (n_classes,)

每个类观察到的训练样本数。

class_prior_:array, shape (n_classes,)

方差绝对附加值

classes_:array, shape (n_classes,)

已知分类器标签

sigma_:array, shape (n_classes, n_features)

每类特征的方差

theta_:array, shape (n_classes, n_features)

每类特征的平均数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值