導航:首頁 > 編程語言 > 支持向量機代碼

支持向量機代碼

發布時間:2023-09-12 21:30:14

❶ 如何使用java Weka開源項目,實現J48決策樹、支持向量機演算法,在10個UCI數據集上對這兩個演算法進行性能

publicstaticvoidRegular()throwsException{
Fileinputfile=newFile("F:\weka\eucalyptus_Train.arff");
ArffLoaderloader=newArffLoader();
loader.setFile(inputfile);

InstancesinsTrain=loader.getDataSet();
insTrain.setClassIndex(insTrain.numAttributes()-1);

inputfile=newFile("F:\weka\eucalyptus_Test.arff");
loader.setFile(inputfile);
InstancesinsTest=loader.getDataSet();
insTest.setClassIndex(insTest.numAttributes()-1);

doublesum=insTest.numInstances();
intright=0;
Classifierclas=newJ48();
//Classifierclas=newweka.classifiers.bayes.BayesNet();
clas.buildClassifier(insTrain);

for(inti=0;i<sum;i++){
if(clas.classifyInstance(insTest.instance(i))==insTest.instance(i).classValue()){
right++;
}
System.out.println(clas.classifyInstance(insTest.instance(i))+":"+insTest.instance(i).classValue());
}
System.out.println("分類准確率:"+right/sum);
}

svm的話,要用一個wlsvm的包。 代碼是一樣的,就是Classifier class= new J48()這里要用svm的實例

❷ 如何對圖像做分類器訓練matlab代碼

對圖像做分類器訓練要建立視覺詞袋來進行圖像分類。該過程生成用來表示圖像視覺詞的直方圖,通過這些直方圖來訓練圖像分類器。下面的步驟描述如何建立圖像集,建立視覺詞袋,以及訓練和運用圖像分類器。
第一步:建立圖像類別集合
將圖像分割成訓練子集和測試子集。利用imageDatastore函數來存儲訓練分類器的圖像。可以利用splitEachLabel函數將圖像分割成訓練數據和測試數據。
讀取類別圖像和創建圖像子集
setDir = fullfile(toolboxdir('vision'),'visiondata','imageSets');
imds = imageDatastore(setDir,'IncludeSubfolders',true,'LabelSource','foldernames');
分割圖集成訓練和測試子集。下例中,30%作為訓練數據,餘下的作為測試數據。
[trainingSet,testSet] = splitEachLabel(imds,0.3,'randomize');
第二步:建立特徵詞袋
通過從每個類別的有代表性的圖像中提取特徵描述符,創建視覺詞彙表或特徵包。
通過在訓練集合中提取出的特徵描述符上利用k-means聚類演算法,bagOfFeatures對象定義特徵,視覺詞彙。該演算法迭代地將描述符分成k個互斥簇。由此產生的簇是緊密的,並具有相似的特性。每個集群中心代表一個特徵,或一個可視詞。可以基於特徵檢測器提取特徵,也可以定義一個網格來提取特徵描述符。網格方法可能丟失細節信息。因此,對不包含明顯特徵的圖像使用網格,例如海灘等景物的圖像。使用Speed up robust features(或SURF)檢測器提供更大的尺度不變性。默認情況下,該演算法運行「網格」方法。
該演算法工作流對圖像進行整體分析。圖像必須有適當的標簽來描述它們所代表的類。例如,一組汽車圖像可以被標記為汽車。工作流不依賴於空間信息,也不依賴於標記圖像中的特定對象。視覺詞袋技術依賴於非局部化的檢測技術。
第三步:通過視覺詞袋訓練圖像分類器
trainImageCategoryClassifier函數返回一個圖像分類器。該方法使用基於2分類支持向量機(SVM)的error-correcting output codes(ECOC)框架來訓練一個多分類器。
該方法利用bagOfFeatures對象返回的視覺詞袋將圖像集中的圖像編碼成視覺詞直方圖。然後將視覺詞直方圖作為訓練分類器的正負樣本。
1、將訓練集中的每幅圖像利用bagOfFeature的encode方法進行編碼。該函數檢測和提取圖像中的特徵,然後利用最近鄰演算法構造每個圖像的特徵直方圖。函數將描述符逼近聚類中心來增加直方圖各bin的數值。直方圖的長度取決於bagOfFeatures對象構造的出來的視覺詞的數量。最終將直方圖作為圖像的特徵向量。
2、對訓練集中的每幅圖像重復步驟1,建立訓練數據
3、評價分類器。在測試圖像集上使用imagecategoryclassifier的evaluate方法測試分類器。輸出混淆矩陣可以分析預測結果。理想的分類結果是對角線上包含一個標准矩陣。不正確的分類導致出現分數值。
第四步:對圖像或圖像集進行分類
最後使用imageCategoryClassifier 的predeict方法對新圖像進行分類來確定其類型。

閱讀全文

與支持向量機代碼相關的資料

熱點內容
怎麼把九游殘留數據刪除 瀏覽:828
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244
用USB傳輸視頻文件夾顯示為空 瀏覽:710
恢復文件軟體免費版手機 瀏覽:648
lg怎麼隱藏文件 瀏覽:836
蘋果免費讀書app推薦 瀏覽:497
劉駿微信 瀏覽:113
書旗舊版本80 瀏覽:467
教編程考什麼證 瀏覽:990
下載編程貓後哪裡有客服 瀏覽:13
如何編輯歌曲文件格式 瀏覽:638
cf無限領取cdk工具 瀏覽:350
如何讓手機文件保存到電腦上 瀏覽:459
sa資料庫默認密碼是多少 瀏覽:191
電腦正在查找文件 瀏覽:541
一個文件盒省內寄順豐多少錢 瀏覽:41
誅仙62坐騎怎麼升級到63 瀏覽:926
linux以日期查看日誌記錄 瀏覽:446
工業大數據是什麼東西 瀏覽:881

友情鏈接