模式识别 - 特征归一化 及 测试 代码(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%
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮