• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB分类与预测算法函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、glmfit()

  功能:构建一个广义线性回归模型。

  使用格式:b=glmfit(X,y,distr),根据属性数据X以及每个记录对应的类别数据y构建一个线性回归模型,distr可取值为:binomial、gamma、inverse gaussian、normal(默认值)和poisson,分别代表不同类型的回归模型。

2、patternnet()  

  功能:构建一个模式识别神经网络。

  模式识别神经网络是一个前馈神经网络,通过对已知含有标签的数据进行训练得到神经网络模型,从而可以对新的不含标签的数据进行分类。用于输入的标签数据需要进行特殊编码,即一个类别使用一个向量进行表示,比如一共有3个类别,那么类别1可以编码为[1,0,0],类别3可以编码为[0,0,1]。

  使用格式:net=patternnet(hiddenSizes,trainFcn,performFcn),构建一个隐含层神经元个数为hiddenSizes,模型函数为trainFcn,性能函数为performFcn的神经网络net。

  主要的模型函数有:

  Trainscg:使用标度共梯度算法更新权值和偏移值

  Trainlm:使用LM算法更新权值和偏移值

  Trainbr:使用LM算法更新权值和偏移值(贝叶斯正则化)

  Trainrp:根据弹反向传播算法更新权值和偏移值

3、fitctree()

  功能:构建一个二叉分类树,每个分支节点根据输人数据进行确定。

  使用格式:tree=fitctree(x,y),根据数据的属性数据x以及每个记录对应的类别数据y构建一个二叉分类树tree。

4、fitensemble()

  功能:创建一个模型,该函数可以根据不同的参数构建不同的模型,可以用于分类或者回归。

  使用格式:Ensemble=fitensemble(x,y,Method,NLearn,Learners),根据输入属性数据x以及每个记录对应的y值(如y是离散型变量,则模型为分类模型;如y是连续型变量,则模型为回归模型)、Method(用于构建的模型名称)、NLearn(模型学习的循环次数)以及Learners值(弱学习算法名称,有三个值,分别是“Discriminant”“KNN”“Tree”)构建一个分类或者回归模型。该模型的性能依赖于弱学习算法的参数设置,如果这些参数设置不合理,将导致较差的性能。

  常用的method

  ①参数值:AdaBoostM1

  适用范围:适用于二类别分类

  ②参数值:LogitBoost

  适用范围:适用于二类别分类

  ③参数值:GentleBoost

  适用范围:适用于二类别分类

  ④参数值:AdaBoostM2

  适用范围:适用于三类别分类及以上

  使用fitensemble函数构建三个模型,对比三个模型的误差。

rng(0,\'twister\')
Xtrain=rand(2000,20);
Ytrain=sum(Xtrain(:,1:5),2)>2.5;
idx=randsample(2000,200);
Ytrain(idx)=~Ytrain(idx);
%构建一个AdaBoostM1模型
ada=fitensemble(Xtrain,Ytrain,\'AdaBoostM1\',300,\'Tree\',\'LearnRate\',0.1);
%构建一个RobustBoost模型,设置误差阈值为0.15
rb1=fitensemble(Xtrain,Ytrain,\'RobustBoost\',300,\'Tree\',\'RobustErrorGoal\',0.15,\'RobustMaxMargin\',1);
%构建一个RobustBoost模型,设置误差阈值为0.01
rb2=fitensemble(Xtrain,Ytrain,\'RobustBoost\',300,\'Tree\',\'RobustErrorGoal\',0.01)
figure
plot(resubLoss(rb1,\'Mode\',\'Cumulative\'))
hold on
plot(resubLoss(rb2,\'Mode\',\'Cumulative\'),\'r--\');
plot(resubLoss(ada,\'Mode\',\'Cumulative\'),\'g.\');
hold off
xlabel(\'Number of trees\');
ylabel(\'Resubstitution error\');
legend(\'ErrorGoal=0.15\',\'ErrorGoal=0.01\',\'AdaBoostM1\',\'Location\',\'NE\');

5、fitNaiveBayes()

  功能:创建一个朴素贝叶斯分类器。

  使用格式:NBModel=fitNaiveBayes(x,y),根据输入数据x以及每个x对应的类别号y(如果y为NaN或者空字符串‘’或者unidefined,都会被视为缺失值,朴素贝叶斯分类器会直接忽略这些值对应的x)构建一个朴素贝叶斯分类器。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
我常用的delphi 第三方控件 - 癫狂编程发布时间:2022-07-18
下一篇:
Delphi控件-复合控件发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap