资源简介

使用SVM代码对AVIRIS_Indiana_16class高光谱数据集进行分类

资源截图

代码片段和文件信息

function [overall_accuracykappa_accuracyaverage_accuracyclass_accuracyerrorMatrix] = calcError( trueLabelling segLabelling labels )
% calculates square array of numbers organized in rows and columns which express the
% percentage of pixels assigned to a particular category (in segLabelling) relative
% to the actual category as indicated by reference data (trueLabelling)
% errorMatrix(ij) = nr of pixels that are of class i-1 and were
% classified as class j-1
% accuracy is essentially a measure of how many ground truth pixels were classified
% correctly (in percentage). 
% average accuracy is the average of the accuracies for each class
% overall accuracy is the accuracy of each class weighted by the proportion
% of test samples for that class in the total training set

[nrX nrY] = size(trueLabelling);
totNrPixels = nrX*nrY;
nrPixelsPerClass = zeros(1length(labels))‘;
nrClasses = length(labels);

errorMatrix = zeros(length(labels)length(labels));
errorMatrixPerc = zeros(length(labels)length(labels));

for l_true=1:length(labels)
    tmp_true = find (trueLabelling == (l_true-1));
    nrPixelsPerClass(l_true) = length(tmp_true);
    for l_seg=1:length(labels)
        tmp_seg = find (segLabelling == (l_seg-1));
        nrPixels = length(intersect(tmp_truetmp_seg));
        errorMatrix(l_truel_seg) = nrPixels;  
    end
end

% classWeight = nrPixelsPerClass/totNrPixels;
diagVector = diag(errorMatrix);
class_accuracy = (diagVector./(nrPixelsPerClass+eps));
average_accuracy = mean(class_accuracy‘);
overall_accuracy = sum(segLabelling == trueLabelling)/length(trueLabelling);
kappa_accuracy = (sum(errorMatrix(:))*sum(diag(errorMatrix)) - sum(errorMatrix)*sum(errorMatrix2))...
    /(sum(errorMatrix(:))^2 -  sum(errorMatrix)*sum(errorMatrix2));











 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-02-07 16:17  demo2SVM\
     文件       19878  2016-11-22 18:17  demo2SVM\AVIRIS_Indiana_16class.mat
     文件         265  2016-11-29 12:07  demo2SVM\COVARIANCE.m
     目录           0  2017-02-07 16:17  demo2SVM\LibSVM\
     文件        5628  2016-11-22 18:19  demo2SVM\LibSVM\boiler_process.m
     文件        6451  2016-11-22 18:19  demo2SVM\LibSVM\classify_svm.m
     文件        2875  2016-11-22 18:19  demo2SVM\LibSVM\epsSVM.m
     文件       16304  2016-11-22 18:19  demo2SVM\LibSVM\generateLibSVMcmd.m
     文件        1009  2016-11-22 18:19  demo2SVM\LibSVM\getDefaultParam_libSVM.m
     文件        1573  2016-11-22 18:19  demo2SVM\LibSVM\getPatterns.m
     文件       11264  2016-11-22 18:19  demo2SVM\LibSVM\libsvmread.mexw64
     文件       10240  2016-11-22 18:19  demo2SVM\LibSVM\libsvmwrite.mexw64
     文件        5549  2016-11-22 18:18  demo2SVM\LibSVM\mapminmax.m
     文件        5208  2016-11-22 18:18  demo2SVM\LibSVM\mapstd.m
     文件       12259  2016-11-22 18:18  demo2SVM\LibSVM\modsel.m
     文件        3003  2016-11-22 18:18  demo2SVM\LibSVM\modsel_unbalanced.m
     文件        1027  2016-11-22 18:18  demo2SVM\LibSVM\myUsingLIBSVM.m
     文件        5054  2016-11-22 18:18  demo2SVM\LibSVM\removeconstantrows.m
     文件       25600  2016-11-22 18:18  demo2SVM\LibSVM\svmpredict.mexw64
     文件       64000  2016-11-22 18:18  demo2SVM\LibSVM\svmtrain.mexw64
     文件         349  2016-11-25 21:37  demo2SVM\MEAN.m
     文件         488  2016-11-25 13:04  demo2SVM\PCA.m
     文件        2016  2016-11-29 20:01  demo2SVM\SAJMdist.m
     文件        2028  2016-12-24 21:41  demo2SVM\SVM_AVIRIS.m
     文件        1771  2016-11-29 19:58  demo2SVM\SubDist.m
     文件         103  2016-11-22 18:17  demo2SVM\ToMatrix.m
     文件         142  2016-11-22 18:17  demo2SVM\ToVector.m
     文件        1789  2016-11-22 18:17  demo2SVM\calcError.m
     文件        2097  2016-11-29 20:06  demo2SVM\featureSVM.m
     文件     5975952  2016-11-22 18:20  demo2SVM\imgreal.mat
     文件        2021  2016-12-15 10:13  demo2SVM\svmtest1.m
............此处省略2个文件信息

评论

共有 条评论