【发布时间】:2011-02-22 16:57:05
【问题描述】:
作为学校作业,我需要实现我打算在 Java 中执行的朴素贝叶斯算法。
为了了解它是如何完成的,我阅读了“数据挖掘 - 实用机器学习工具和技术”这本书,其中有一个关于这个主题的部分,但我仍然不确定阻碍我进步的一些要点。
由于我在这里寻求指导而不是解决方案,所以我会告诉你们我的想法,我认为正确的方法,作为回报,我将不胜感激。请注意,我是朴素贝叶斯算法、数据挖掘和一般编程方面的绝对初学者,因此您可能会在下面看到愚蠢的 cmets/计算:
我给定的训练数据集有 4 个使用 Weka 进行数字化和归一化的属性/特征(范围 [0 1])(无缺失值)和一个名义类(是/否)
1) 来自 csv 文件的数据是数字 HENCE
- * 鉴于属性是数字我使用 PDF(概率密度函数)公式。
- + 要在 java 中计算 PDF,我首先根据属性是在类中还是类中来分离属性,并将它们保存在不同的数组中
(array class yes and array class no)
- + 然后计算每个类的4个属性(列)的均值(
sum of the values in row / number of values in that row)和标准占卜- + 现在查找给定值的 PDF(n)我做
(n-mean)^2/(2*SD^2), - + 然后找到
P( yes | E) 和P( no | E) i multiply the PDF value of all 4 given attributes and compare which is larger,表示它所属的类在 Java 中,我使用 ArrayList of ArrayList 和 Double 来存储属性值。
最后我不确定如何获取新数据?我应该要求输入文件(如 csv)还是命令提示符并要求 4 个值?
我现在就到此为止(确实有更多问题),但我担心这不会得到任何回应,因为它已经得到了多长时间。我将非常感谢那些花时间阅读我的问题和评论的人。
【问题讨论】:
-
我将如何实现算法的概述听起来正确吗?
标签: java algorithm data-mining