資料採礦演算法學習(三)NaiveBayes演算法

來源:互聯網
上載者:User

標籤:資料採礦   機器學習   naivebayes   垃圾郵件   

演算法簡介

NBC是應用最廣的分類演算法之一。樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。同時,NBC模型所需估計的參數很少,對缺失資料不太敏感,演算法也比較簡單。

演算法假設

給定目標值時屬性之間互相條件獨立。

演算法輸入

訓練資料   T={(x1,y1),(x2,y2),……,(xn,yn)}
待分類資料x0=(x0(1),x0(2),……,x0(n))T

演算法輸出
待分類資料x0的分類結果y0∈{c1,c2,……,ck}

演算法思想



weka運行
以weather.nominal.arff為例運行結果部分如下:


從結果中可以看出,有兩個分類,因此產生一個2*2的混淆矩陣。

函數調用代碼

//讀入樣本

Filefile= new File("F:\\Program Files (x86)\\Weka-3-7\\data\\weather.nominal.arff");

ArffLoaderloader = newArffLoader();

loader.setFile(file);

ins= loader.getDataSet();

ins.setClassIndex(ins.numAttributes()-1);

//初始化分類器並訓練

 cfs= (Classifier)Class.forName("weka.classifiers.bayes.NaiveBayes").newInstance();

cfs.buildClassifier(ins);

//擷取分類器結果

testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs,testInst);

//列印分類結果

System.out.println("分類器的正確率:"+ (1-testingEvaluation.errorRate()));


運行結果如下:

分類器的正確率:0.9583333333333334


演算法應用

?垃圾郵件過濾系統?分類web網頁?分類文本

垃圾郵件過濾系統可以參考論文:周威成 馬素霞 齊林海,一種基於機器學習的垃圾郵件智能過濾方法。


原創文章,轉載請註明出處,謝謝。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.