(优雅的使用)matlab进行机器学习 期末

能提前写完的话一会把代码更新进来
大作业估计会压着ddl发

正确地预测为正例(真正例):TP
正确地预测为反例(真反例):TN
错误地预测为正例(假正例):FP
错误地预测为反例(假反例):FN
2.
随机游走本来是由物理中的微观粒子的布朗运动形成的模型,后来成为数学理论中的重要假设。随机游走适用于许多科学领域,包括生态学、心理学、计算机科学、物理学、化学、生物学以及经济学,随机游走解释了这些领域中许多过程的观察行为,从而作为记录随机活动的基本模型。基于图的随机游走模型的基本思想为:从图中的一个或者多个顶点(种子节点)出发遍历整个图。从选择的种子节点出发,随机选择一个邻居作为自己的下一站,然后从该节点出发,重复以上过程。目前广泛使用的是带重启的随机游走(Random walk with restart,RWR)模型。

解决的缺陷:比仅使用两个点来衡量的标准,RWR可以捕捉到图全局的结构信息,相比传统计算图上距离的算法,可以捕捉到两个加点多方面的信息

x=-10:0.1:2;
y=(x.*x).*(x>=0)+1;
plot(x,y)

a=input('a:');
n=input('n:');
s=0;
tmp=0;
for i=1:n
    tmp=tmp+10^(i-1);
%   fprintf('%d\n',tmp);
    s=s+a*tmp;
end
disp(s);
clear
w=[50,57,60,52,61,78,80,85,90,75,66,80,90,60,80,88,60,65,79,83];
h=[160,162,164,166,170,175,172,178,180,182,172,173,175,180,185,192,168,170,165,188];
ssy=[115,122,125,112,120,140,150,145,152,126,125,143,160,110,130,132,121,126,158,131];
bmi=w./(h.^2);
%answer1
for i=1:20
    fprintf('样本%d:%.3f\n',i,bmi(i));
end
train_x=bmi;
train_y=ssy;
xp=[train_x;ones(size(train_x))];
C=train_y*xp'*inv(xp*xp');
a=roundn(C(1),-3);
b=roundn(C(2),-3);
newbmi=60/(172^2);
predict=a*newbmi+b;
y=a.*train_x+b;
%answer2
fprintf('a=%.3f,b=%.3f\n',a,b);
fprintf('predict =%.3f',predict);
%answer3
plot(bmi,ssy,'r.','linewidth',2)
hold on
plot(bmi,y,'b-','linewidth',1)
plot(newbmi,predict,'r*','linewidth',4)
pre=num2str(predict);
text(newbmi,predict,pre,'color','k')
clear
M0=[0,1,0,1,0;
    1,0,1,0,1;
    1,0,0,1,1;
    0,0,0,0,0;
    1,0,0,1,0;];
[~,n]=size(M0);
M=zeros(n);
for i =1:n
    M(:,i)=M0(:,i)/sum(M0(:,i));
end
M(isnan(M))=0;
alpha=0.8;
v0=ones(n,1)/n;
v1=M*v0;
while max(abs(v1-v0))>1e-6
    v0 = v1;
    v1 = M*v0;
end
for i=1:5
    fprintf('%c:%.3f\n',i+64,v1(i));
end
clear
load fisheriris
r=100;
c=4;
tr=floor(r*0.8);
testr=r-tr;
ran=randsample(r,tr);
testData=zeros(testr,c);
trainData=zeros(tr,c);
trainc=1;
testc=1;
meas=meas(1:100,:);
y = zeros(100,1);
y(50:100)=1;
for i = 1:r 
    flag=0;
    for j=1:tr
        if(i==ran(j))
            flag=1;
            train_x(trainc,1:4)=meas(i,1:4);
            train_y(trainc)=y(i);
            trainc=trainc+1;
            break;
        end
    end
    if flag==0
        test_x(testc,1:4)=meas(i,1:4);
        test_y(testc)=y(i);
        testc=testc+1;
    end 
end
svmmodel=svmtrain(train_x,train_y);
y_predict=svmclassify(svmmodel,test_x);
hold on
auc=plot_roc(y_predict,test_y);
display(auc);



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值