机器学习(周志华) 参考答案 第十一章 特征选择与稀疏学习 11.1

来源:互联网 发布:javascript精粹 编辑:程序博客网 时间:2024/06/12 19:34

机器学习(周志华) 参考答案 第十一章 特征选择与稀疏学习 11.1

机器学习(周志华西瓜书) 参考答案 总目录

  • http://blog.csdn.net/icefire_tyh/article/details/52064910

机器学习(周志华) 参考答案 第十一章 特征选择与稀疏学习

  • http://blog.csdn.net/icefire_tyh/article/details/52254580

1.试编程实现Relief算法,并考察其在西瓜数据集3.0上的运行结果。
Relief通过高维距离来计算各个属性的重要程度,和PCA降维的思想差不多。不过Relief是通过计算出的权值排序,PCA则是通过奇异值大小排序。

由于Relief方法简单,计算很快,不过这种过滤式选择效果很不好。
求出最终的权值为

色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 -7 4 -1 9 7 -4 -0.51 2.04

那么按重要程度排序就应该是

1 2 3 4 5 6 7 8 纹理 脐部 根蒂 含糖率 密度 根蒂 纹理 色泽

参考代码

x = xlsread('C:\Users\icefire\Desktop\ml\西瓜3.xlsx', 'sheet1', 'A1:Q8');y = xlsread('C:\Users\icefire\Desktop\ml\西瓜3.xlsx', 'sheet1', 'A9:Q9');[n,m]=size(x);%属性是否是离散属性 1-是 0-不是pf=[1,1,1,1,1,1,0,0];%把连续属性用min-max归一化x(7,:)=(x(7,:)-min(x(7,:)))/(max(x(7,:))-min(x(7,:)));x(8,:)=(x(8,:)-min(x(8,:)))/(max(x(8,:))-min(x(8,:)));%计算所有样本距离dist=zeros(m);for i=1:m    for j=1:m        if(i<j)            for k=1:n                if(pf(k)==1)                   dist(i,j)=dist(i,j)+(x(k,i)~=x(k,j));                else                   dist(i,j)=dist(i,j)+(x(k,i)-x(k,j))^2;                end            end        else            dist(i,j)=dist(j,i);        end    endend%初始化各属性权值p=zeros(n,1);for i=1:m    [pdist,arr]=sort(dist(i,:));    p2=zeros(2,1);    ptr=2;    %选择最近的本类与异类    while(p2(1)*p2(2)==0)        py=(y(arr(ptr))~=y(i))+1;        if(p2(py)==0)            p2(py)=arr(ptr);        end        ptr=ptr+1;    end    %计算各属性权值    for j=1:n       if(pf(j)==1)            p(j)=p(j)-(x(j,i)~=x(j,p2(1)))+(x(j,i)~=x(j,p2(2)));       else            p(j)=p(j)-(x(j,i)-x(j,p2(1)))^2+(x(j,i)-x(j,p2(2)))^2;       end    endend
0 0
原创粉丝点击