一所學校分配我我需要實現樸素貝葉斯算法,我打算用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