一所学校分配我我需要实现朴素贝叶斯算法,我打算用Java做的。Java实现朴素贝叶斯算法 - 需要一些指导
为了理解它是如何完成的,我已经阅读了“数据挖掘 - 实用机器学习工具和技术”一书,其中有一节关于这个主题,但我仍然不确定一些阻碍我进步的主要观点。
因为我寻求指导这里不解决,我会告诉你们我在我的脑袋思考,我认为是正确的做法,并要求回馈,这将非常理解校正/指导。请注意,我是NaïveBayes算法,数据挖掘和一般编程的绝对初学者,因此您可能会在下面看到愚蠢的评论/计算结果:
我给出的训练数据集有4个属性/属性是数字的,归一化(在范围[0 1])使用Weka的(没有缺失值)和一个标称类(是/否)
1)中的数据从一个csv文件来为数字因此
-
*给出的属性来数字我使用PDF(概率密度函数)公式。
-
+要计算PDF在java中我第一次分离基础上,他们无论是在课堂上是或类中没有的属性,并把它们分成不同的阵列
(array class yes and array class no)
-
+然后计算平均值(
sum of the values in row/number of values in that row
)和标准占卜为每的4个属性(列)的每个类的
-
+现在找到在给定值的PDF(n)的我做
(n-mean)^2/(2*SD^2),
-
+然后找到
P(yes | E)
和
P(no | E)
我
multiply the PDF value of all 4 given attributes and compare which is larger
,这表明它所属的类,以
在Java的模式中,我使用ArrayList of ArrayList
和Double
来存储属性值。
最后我不确定如何获取新的数据?我应该要求输入文件(如csv)或命令提示符并要求4个值吗?
我会停在这里,现在(确实有更多的问题),但我很担心,这不会得到鉴于其有多久任何响应。我会非常感谢那些给我们时间阅读我的问题和评论的人。
做了我将如何实现算法听起来正确的概述? – ke3pup 2010-05-23 08:15:14