資源簡介
最簡單的模式識別分類器,最小鄰域分類,分類速度快,小樣本時識別率高,matlab版本。
代碼片段和文件信息
function??[rate?class?nError]?=?NearestClassify(TrainData?TestDataclassLabelnClassesnSamplesPerkDim)
%?最小距離分類法
%?TrainData?????????訓練數據矩陣,(nClasses?*?nSamplesPer)?*?(Row?*?nDim)
%?TestData??????????測試數據矩陣
%?classLabel?????????類別標簽
%?nClasses???????????參與類別數
%?nSamplesPer????????每類樣本數
%?kDim??????????????選取特征向量維數
tic;
disp(‘數據初始化...‘);
classLabel?=?classLabel‘;%?正確分類標簽
Test_Number?=?nSamplesPer*nClasses;
Train_Number?=?nClasses;
m?=?1;%每一類起始
n?=?nSamplesPer;%每一類的截止
meanTrainData?=?zeros(Train_Numbersize(TrainData2));%初始化訓練數據的類內均值
disp(‘計算類內平均值...‘)
for?i?=?1:Train_Number
????meanTrainData(i:)?=?mean(newTrainData(m:n:));
????m?=?m?+?nSamplesPer;
????n?=?n?+?nSamplesPer;
end
disp(‘最小距離分類過
評論
共有 條評論