91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.05MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-30
  • 語言: Java
  • 標簽:

資源簡介

代碼是我實驗課完成的,Java實現分類問題,樸素貝葉斯算法,對網上需手動輸入數據的代碼稍微改進,數據是文件夾里的txt文件,讀者可以自己更改數據文件,非常方便,注釋詳細。

資源截圖

代碼片段和文件信息

package?Bayes;??
import?java.util.ArrayList;??
import?java.util.HashMap;??
//import?java.util.List;
import?java.util.Map;??
import?util.DecimalCalculate;?
/**?
?*..........貝葉斯算法類..........?
?*/??
public?class?Bayes?{
????/**?
?????*..........將原訓練元組按類別劃分..........?
?????*/??
????Map>>?datasOfClass(ArrayList>?datas){//datas:訓練數據?
????????Map>>?map?=?new?HashMap>>();??
????????ArrayList?t?=?null;??
????????String?c?=?““;??
????????for?(int?i?=?0;?i?????????????t?=?datas.get(i);//獲取訓練集某一行數據??
????????????c?=?t.get(t.size()?-?1);//c記錄該行數據的類別??
????????????if?(map.containsKey(c))?{
????????????????map.get(c).add(t);//本條數據屬于某類別
????????????}?else?{??//本條數據屬于另一個類別
????????????????ArrayList>?nt?=?new?ArrayList>();??
????????????????nt.add(t);
????????????????map.put(c?nt);??
????????????}??
????????}
????????return?map;//返回Map<類別,屬于該類別的訓練元組>???
????}??
????/**?
?????*..........在訓練數據的基礎上預測測試元組的類別..........?
?????*/??
????public?String?predictClass(ArrayList>?datas?ArrayList?testT)?{//datas:訓練數據;testT測試元組??
????????Map>>?doc?=?this.datasOfClass(datas);??
????????object?classes[]?=?doc.keySet().toArray();//獲取Map中的key值,即類別值??
????????double?maxP?=?0.00;//測試元組后驗概率的記錄??
????????int?maxPIndex?=?-1;//maxPIndex存儲概率最大的元組的位置
????????for?(int?i?=?0;?i?????????????String?c?=?classes[i].toString();//c存儲classess中某一類別值???
????????????ArrayList>?d?=?doc.get(c);//屬于c類的所有元組?
????????????double?pOfC?=?DecimalCalculate.div(d.size()?datas.size()?3);//c類元組占所有元組的比例
????????????for?(int?j?=?0;?j?????????????????double?pv?=?this.pOfV(d?testT.get(j)?j);//訓練集中某行數據的某列屬性值占?c類的概率
????????????????pOfC?=?DecimalCalculate.mul(pOfC?pv);//??
????????????}
????????????//System.out.println(pOfC);
????????????if(pOfC?>?maxP){//尋找最大的后驗概率,并存入maxP??
????????????????maxP?=?pOfC;??
????????????????maxPIndex?=?i;//記錄最大概率的元組在訓練集中的位置
????????????}??
????????}
????????if(maxPIndex==-1){
???????? return?“0“;//表示測試的該元組某列屬性值無法在訓練集中查找到
????????}
????????else{
???????? return?classes[maxPIndex].toString();//返回測試元組的類別??
????????}
????????
????}
????/**?
?????*..........計算指定屬性列上指定值出現的概率..........?
?????*/??
????private?double?pOfV(ArrayList>?d?String?value?int?index)?{//d:屬于某一類的訓練元組;value:列值;index:屬性列索引??
????????double?p?=?0.00;??
????????int?count?=?0;//計數?:指定屬性列上指定值出現的次數?
????????int?total?=?d.size();//某一類訓練元組的個數??
????????for?(int?i?=?0;?i?????????????if(d.get(i).get(index).equals(value)){//某一行某一列值等于指定值
????????????????count++;//計數加1??
????????????}??
????????}??
????????p?=?DecimalCalculate.div(count?total?3);//精確到小數點3位
????????return?p;?//返回某屬性列值出現的概率?
????}
}??

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\
?????文件?????????301??2015-11-19?16:13??TestNaiveBayes\.classpath
?????文件?????????390??2015-11-19?16:13??TestNaiveBayes\.project
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\.settings\
?????文件?????????598??2015-11-19?16:13??TestNaiveBayes\.settings\org.eclipse.jdt.core.prefs
?????文件?????1388417??2015-11-24?18:48??TestNaiveBayes\AfterPreCorrected2.txt
?????文件????65652559??2015-11-24?15:39??TestNaiveBayes\AfterPreData.txt
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\bin\
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\bin\Bayes\
?????文件????????3172??2015-11-25?00:10??TestNaiveBayes\bin\Bayes\Bayes.class
?????文件????????4340??2015-11-25?14:49??TestNaiveBayes\bin\Bayes\TestBayes.class
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\bin\util\
?????文件????????2658??2015-11-22?19:53??TestNaiveBayes\bin\util\DecimalCalculate.class
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\src\
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\src\Bayes\
?????文件????????3333??2015-11-25?00:10??TestNaiveBayes\src\Bayes\Bayes.java
?????文件????????4660??2015-11-25?14:49??TestNaiveBayes\src\Bayes\TestBayes.java
?????目錄???????????0??2015-12-13?14:28??TestNaiveBayes\src\util\
?????文件????????4651??2015-11-19?16:53??TestNaiveBayes\src\util\DecimalCalculate.java

評論

共有 條評論