Hadoop:数值型数据的朴素贝叶斯分类

朴素贝叶斯分类器用在符号型数据上比较多,如何处理数值型数据能找到的资料比较少,《数据算法:Hadoop/Saprk大数据处理技巧》这本书简要介绍了如何处理数值型数据。

假设数据服从一定的分布,通常假设为高斯分布(正态分布),于是只需要从训练数据中计算出每一类每一维度的均值和方差,就可以估计给定任一数值的后验概率。

对于一条新的数据 x,x 的第 i 维上的数据在给定类别c_j时出现的概率:
P(x_i|c_j) = \frac{1}{\sqrt{2 \pi}\sigma_{ji}} \exp{(-\frac{(x_i-\mu_{ji})^2}{2\sigma_{ji}^2})} x 在给定类别c_j时出现的概率:
P(x|c_j) = \prod_{i=0}^d P(x_i|c_j) 预测 x 的类别为
j=\arg \max_j P(x|c_j) 使用Hadoop实现时可以分为3个Job:

  • Job1:计算均值
  • Job2:计算方差
  • Job3:预测

重点是前两个Job,预测的Job可以与前两个分离,保存计算的结果,实现一次训练,多次预测

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章