首页 > 编程语言 > 详细

MATLAB分类与预测算法函数

时间:2019-09-04 10:56:40      阅读:183      评论:0      收藏:0      [点我收藏+]

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)构建一个朴素贝叶斯分类器。

MATLAB分类与预测算法函数

原文:https://www.cnblogs.com/fangxiaoqi/p/11457608.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!