📄 model_selection.m
字号:
function Model_Selection(train_p,train_t,test_p,test_t,M)
numperclu=[];
% [cents,clu,numperclu]=Kmeans_batch_Clusting(train_p,M); % 用=Kmeans_batch_Clusting算法聚类,cents表示选取类的中心,
% % ...clu表示样例所属的类序号,numperclu每类包含训练点个数;
[clu,cents]=kmeans(train_p,M,'replicates',100,'maxiter',10000,'EmptyAction','singleton');
Centers_num=size(cents,1); % 聚类后所得类的个数;
for i=1:Centers_num
numperclu(i)=size(clu(clu==i),1);
end
[R,width]=My_Width(train_p,cents,clu,numperclu,Centers_num);% 求每个中心的宽度,返回宽度矩阵R.(d×d×K),with为宽度向量
H=My_Guass(train_p,cents,Centers_num,R);% 构造Guass函数矩阵H
H1=pinv(H); % 求高斯矩阵H的伪逆H1;
W=H1*(train_t) % 解权重矩阵W;
[TrainErrorMSE,TrainErrorRate]=Train_Error(train_p,train_t,H,W); % 求训练MSE和训练分类错误率
[TestErrorMSE,TestErrorRate]=Test_Error(test_p,test_t,cents,W,R); % 求测试MSE及测试分类错误率
% 显示部分
TrainCorrectRate=1-TrainErrorRate
TestCorrectRate=1-TestErrorRate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -