|
本帖最后由 jianglimin 于 2016-5-27 11:44 编辑
1、程序思想,考虑到样本的不平衡,参考F-score的值进行寻优。
2、关于F-score的概念参考:http://bbs.malab.cn/forum.php?mo ... &extra=page%3D4
3、首先利用全部样本的2/3作为优化c,g的训练样本的测试样本,剩下的1/3做3折交叉验证。(根据自己情况可做修改)
4、小辈处于学习阶段,程序编的不漂亮,愿多指教。
5、使用说明及注意事项:
Findbestcandg子文件不需要进行修改。在main_GS中进行数据输入修改即可,修改部分如下:
(1)数据读取
P_train=xlsread('D:\matlab7.1\work\邹权\data','sheet1','A1:CU2128');
%这句是样本数据的输入,xlsread函数读取的是拓展名为xls的excel文件,excel高版本的在MATLAB7.1版本下暂时不可以读取。
xlsread('文件位置','工作薄','数据区域')
(2)训练数据和测试数据的提取
train_input=train_data_all_1(:,1:98);
train_output=train_data_all_1(:,99);
%这句是训练样本数据的提取,1:98表示的是第一列到第98列是98维的一个特征集数据;
99 表示的是样本的标签; 在这里只需要修改为自己特征集所在的列位置和标签所在的列位置即可。
还有测试集的数据进行同样的修改
test_input_t =test_data_t(:,1:98);
test_output_t=test_data_t(:,99);
(3)修改交叉验证的折数
Indices_t=crossvalind('Kfold',m_t,3);
for z=1:3
这句就表示对测试样本进行3折交叉验证,可对折数3进行修改;
(4)数据输出
期望输出和实际输出的对比图;
每折计算的输出结果。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|