模式识别 - 特征归一化 及 测试 代码(Matlab)

2019-04-13 21:33发布

特征归一化 及 测试 代码(Matlab)


本文地址: http://write.blog.csdn.net/postedit/26221235
通过提取视频特征的程序, 从视频数据集中提取特征数据, 使用matlab进行计算每一列的最大值, 并进行列的归一化; 最后存储入txt的文本, 进行后续处理.
代码: %特征处理函数 %By C.L.Wang %本程序是处理特征数据, 包括数据的归一化, 存储最大值向量, 和归一化的矩阵; %并进行测试效果 %数据格式为第1列是标签, 2-end列是特征, 并且正样本在前, 负样本在后; %% 提取特征数据 clc,clear; train_file = load('features.txt'); label_data = train_file(:,1); feature_data = train_file(:,2:end); %% 最大值 max_data = max(abs(feature_data)); max_data(max_data==0) = 1; max_data_feature = [[0,0,0],max_data]; %为了与以前的标准统一 dlmwrite('violence_max_matlab.txt', max_data_feature, ' '); morn_data = feature_data*diag(1./max_data); %归一化 %% 归一化特征 norm_data_feature = [label_data, morn_data]; dlmwrite('violence_norm_matlab.txt', norm_data_feature, ' '); %% 验证 [归一化] label_vector = label_data; instance_matrix = norm_data_feature(:,2:end); libsvm_options = '-t 2 -c 10 -g 1 -v 10'; svmtrain(label_vector, instance_matrix, libsvm_options);
输出: Cross Validation Accuracy = 73.9027%