libsvm的資料格式及製作

2022-06-09 08:09:08 字數 2252 閱讀 7254

libsvm使用的訓練資料和檢驗資料檔案格式如下:

[label] [index1]:[value1] [index2]:[value2] …

[label] [index1]:[value1] [index2]:[value2] …

label目標值,就是說class(屬於哪一類),就是你要分類的種類,通常是一些整數。

index是有順序的索引,通常是連續的整數。就是指特徵編號,必須按照公升序排列

value就是特徵值,用來train的資料,通常是一堆實數組成。

即:

目標值   第一維特徵編號:第一維特徵值   第二維特徵編號:第二維特徵值 …

目標值 第一維特徵編號:第一維特徵值 第二維特徵編號:第二維特徵值 …

……目標值 第一維特徵編號:第一維特徵值 第二維特徵編號:第二維特徵值 …

例如:5 1:0.6875 2:0.1875 3:0.015625 4:0.109375

表示訓練用的特徵有4維,第一維是0.6875,第二維是0.1875,第三維是0.015625,第四維是0.109375  目標值是5

注意:訓練和測試資料的格式必須相同,都如上所示。測試資料中的目標值是為了計算誤差用

該過程可以自己使用excel或者編寫程式來完成,也可以使用網路上formatdatalibsvm.xls來完成。formatdatalibsvm.xls使用說明:

a.先將資料按照下列格式存放(注意label放最後面):

value1 value2 … label

value1 value2 … label

…value1 value2 … label

b.然後將以上資料貼上到formatdatalibsvm.xls中的最上角單元格,接著工具->巨集->執行formatdatatolibsvm巨集。就可以得到libsvm要求的資料格式。

當然最方便的還是用程式生成,我這裡有乙個提取指定資料夾內各類樣本資料夾內的的lbp特徵值,並組織成libsvm所需的資料格式,寫入txt檔案中的程式:

/*

function:int preparefeatsdata(string samples_path, string outfile, char* class_samples, uchar* char_class, int nclass, string extens)

features:

對指定的樣本(數字和字母)的路徑下的各個指定的樣本檔案進行特徵提取,

連同類編號依次存入outfile指定檔案中。

attention:

注意_finddata_t結構體和_findfirst函式的用法

in-parameter:

samples_path:所有樣本歸屬的資料夾

outfile:提取特徵後寫入的檔案

class_samples:各個樣本的資料夾標記

char_class:各樣本的類別標記

nclass:有多少類樣本

out-parameter:

return : 處理的樣本總數

author: mengjia date:2017-1-5 16:05:47

*/int preparefeatsdata(string samples_path, string outfile, char* class_samples, uchar* char_class, int nclass, string

extens)

do fprintf(fp,

"\t\n");

}else

fprintf(fp,

"\t\n");

}cvreleasemat(&lbp_feats);

cvreleaseimage(&pbimg);

cvreleaseimage(&standarimg);

cvreleaseimage(&pimg);}}

while (_findnext(hfile, &img_file) == 0

); _findclose(hfile);

}fclose(fp);

printf(

"total samples = %d\n

", itatol);

return

itatol;

}

以上。

libsvm資料格式

libsvm資料格式 libsvm資料格式 libsvm使用的訓練資料和檢驗資料檔案格式如下 label index1 value1 index2 value2 label index1 value1 index2 value2 label目標值,就是說class 屬於哪一類 就是你要分類的種類,通...

將一般的資料格式轉為libsvm格式

libsvm是台灣大學林智仁教授等研究人員開發的乙個用於支援向量機分類的c 開源庫,支援多種語言介面,並且可進行多分類與回歸問題的建模 在資料預處理階段,需要將資料集轉化為libsvm要求的格式 通常的原始資料集格式為 value1 value2 value3.label 而libsvm要求格式為 ...

JSON的資料格式

1.json是一種輕量級的資料互動格式。2.json的語法有三種型別的值 簡單值 不包含undefined 物件,陣列 3.json不支援變數,函式或物件例項 4.json字串必須使用雙引號 單引號會導致語法錯誤 5.json和js物件的區別 a 沒有宣告變數 json中沒有變數的概念 b 沒有末尾...