回覆列表
  • 1 # 抽象派的d藝術

    其實使用libsvm進行分類很簡單,只需要有屬性矩陣和標籤,然後就可以建立分類模型(model),然後利用得到的這個model進行分類預測了。一、屬性矩陣和標籤:一個班級裡面有兩個男生(男生1、男生2),兩個女生(女生1、女生2),其中男生1 身高:176cm 體重:70kg;男生2 身高:180cm 體重:80kg;女生1 身高:161cm 體重:45kg;女生2 身高:163cm 體重:47kg;如果將男生定義為1,女生定義為-1,並將上面的資料放入矩陣data中,即data = [176 70;180 80;161 45;163 47];複製程式碼在label中存入男女生類別標籤(1、-1),即label = [1;1;-1;-1];複製程式碼這樣上面的data矩陣就是一個屬性矩陣,行數4代表有4個樣本,列數2表示屬性有兩個,label就是標籤(1、-1表示有兩個類別:男生、女生)。二、有了上面的屬性矩陣data,和標籤label就可以利用libsvm建立分類模型了,簡要程式碼如下:model = svmtrain(label,data);複製程式碼有了model就可以做分類預測,比如此時該班級又轉來一個新學生,其身高190cm,體重85kg想透過上面這些資訊就給出其標籤(想知道其是男【1】還是女【-1】)比如 令 testdata = [190 85]; 由於其標籤不知道,假設其標籤為-1(也可以假設為1)即testdatalabel = -1;然後利用libsvm來預測這個新來的學生是男生還是女生,程式碼如下:[predictlabel,accuracy] = svmpredict(testdatalabel,testdata,model)複製程式碼下面整體執行一下上面這段的背景資料和程式碼:data = [176 70;180 80;161 45;163 47];label = [1;1;-1;-1];model = svmtrain(label,data);testdata = [190 85];testdatalabel = -1;[predictlabel,accuracy] = svmpredict(testdatalabel,testdata,model);predictlabel複製程式碼執行結果如下:Accuracy = 0% (0/1) (classification)predictlabel =

  • 中秋節和大豐收的關聯?
  • 宋朝皇帝簡史?