⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_gentleboost_model.html

📁 Gentleboost
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"><html xmlns:mwsh="http://www.mathworks.com/namespace/mcode/v1/syntaxhighlight.dtd">   <head>      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">         <!--This HTML is auto-generated from an M-file.To make changes, update the M-file and republish this document.      -->      <title>test_gentleboost_model</title>      <meta name="generator" content="MATLAB 7.5">      <meta name="date" content="2009-02-16">      <meta name="m-file" content="test_gentleboost_model"><style>body {  background-color: white;  margin:10px;}h1 {  color: #990000;   font-size: x-large;}h2 {  color: #990000;  font-size: medium;}/* Make the text shrink to fit narrow windows, but not stretch too far in wide windows. */ p,h1,h2,div.content div {  max-width: 600px;  /* Hack for IE6 */  width: auto !important; width: 600px;}pre.codeinput {  background: #EEEEEE;  padding: 10px;}@media print {  pre.codeinput {word-wrap:break-word; width:100%;}} span.keyword {color: #0000FF}span.comment {color: #228B22}span.string {color: #A020F0}span.untermstring {color: #B20000}span.syscmd {color: #B28C00}pre.codeoutput {  color: #666666;  padding: 10px;}pre.error {  color: red;}p.footer {  text-align: right;  font-size: xx-small;  font-weight: lighter;  font-style: italic;  color: gray;}  </style></head>   <body>      <div class="content">         <h2>Contents</h2>         <div>            <ul>               <li><a href="#1">Example 1 : train, test errors and ROC cuves on IRIS data</a></li>               <li><a href="#2">Example 2 : train, test errors versus number of weak-learners on WINE data</a></li>               <li><a href="#3">Example 3 : train, test errors and ROC cuves on IRIS data versus classifiers : Gentleboost, SRNG, SVM</a></li>               <li><a href="#4">CV options</a></li>               <li><a href="#5">Gentle Adaboost options</a></li>               <li><a href="#6">SRNG options</a></li>               <li><a href="#7">SVM options</a></li>            </ul>         </div>         <h2>Example 1 : train, test errors and ROC cuves on IRIS data<a name="1"></a></h2><pre class="codeinput">clear, clc, close <span class="string">all</span>,drawnowload <span class="string">iris</span>labels               = unique(y);options.method       = 7;options.holding.rho  = 0.7;options.holding.K    = 50;options.weaklearner  = 0;options.epsi         = 0.1;options.lambda       = 1e-2;options.max_ite      = 1000;options.T            = 10;positive             = labels(2);ind_positive         = find(labels==positive);[d , N]              = size(X);[Itrain , Itest]     = sampling(X , y , options);[Ncv , Ntrain]       = size(Itrain);Ntest                = size(Itest , 2);error_train          = zeros(1 ,  Ncv);error_test           = zeros(1 ,  Ncv);tptrain              = zeros(Ncv , 100);fptrain              = zeros(Ncv , 100);tptest               = zeros(Ncv , 100);fptest               = zeros(Ncv , 100);<span class="keyword">for</span> i=1:Ncv<span class="comment">%     i</span><span class="comment">%     drawnow</span>    [Xtrain , ytrain , Xtest , ytest]  = samplingset(X , y , Itrain , Itest , i);    model_gentle                       = gentleboost_model(Xtrain , ytrain , options.T , options);    [ytrain_est , fxtrain]             = gentleboost_predict(Xtrain , model_gentle , options);    error_train(i)                     = sum(ytrain_est~=ytrain)/Ntrain;    ytrain(ytrain ~=positive)          = -1;    ytrain(ytrain ==positive)          = 1;    [tptrain(i , :) , fptrain(i , :)]  = basicroc(ytrain , fxtrain(ind_positive , :));    [ytest_est , fxtest]               = gentleboost_predict(Xtest , model_gentle , options);    error_test(i)                      = sum(ytest_est~=ytest)/Ntest;    ytest(ytest ~=positive)            = -1;    ytest(ytest ==positive)            = 1;    [tptest(i , :) , fptest(i , :)]    = basicroc(ytest , fxtest(ind_positive , :));<span class="keyword">end</span>disp([mean(error_train) , mean(error_test)])fptrain_mean                          = mean(fptrain);tptrain_mean                          = mean(tptrain);auc_train                             = auroc(tptrain_mean', fptrain_mean');fptest_mean                           = mean(fptest);tptest_mean                           = mean(tptest);auc_test                              = auroc(tptest_mean', fptest_mean');figureplot(fptrain_mean , tptrain_mean , <span class="string">'k'</span> , fptest_mean , tptest_mean , <span class="string">'r'</span> , <span class="string">'linewidth'</span> , 2)axis([-0.02 , 1.02 , -0.02 , 1.02])legend(sprintf(<span class="string">'Train, AUC = %5.4f'</span> , auc_train) , sprintf(<span class="string">'Test, AUC = %5.4f'</span> , auc_test))xlabel(<span class="string">'False Positive Rate'</span> , <span class="string">'fontsize'</span> , 12 , <span class="string">'fontweight'</span> , <span class="string">'bold'</span>)ylabel(<span class="string">'True Positive Rate'</span> , <span class="string">'fontsize'</span> , 12 , <span class="string">'fontweight'</span> , <span class="string">'bold'</span>)title(sprintf(<span class="string">'Gentleboost/weak = %d, d = %d, positive = %d, T = %d'</span> , options.weaklearner , d , positive , options.T) , <span class="string">'fontsize'</span> , 13 , <span class="string">'fontweight'</span> , <span class="string">'bold'</span>)grid <span class="string">on</span></pre><pre class="codeoutput">    0.0232    0.0542</pre><img vspace="5" hspace="5" src="test_gentleboost_model_01.png"> <h2>Example 2 : train, test errors versus number of weak-learners on WINE data<a name="2"></a></h2><pre class="codeinput">load <span class="string">wine</span>options.method       = 7;options.holding.rho  = 0.7;options.holding.K    = 50;options.weaklearner  = 0;options.epsi         = 0.1;options.lambda       = 1e-2;options.max_ite      = 1000;Tmin                 = 1;stepT                = 2;Tmax                 = 50;T                    = (Tmin:stepT:Tmax);NT                   = length(T);[d , N]              = size(X);[Itrain , Itest]     = sampling(X , y , options);[Ncv , Ntrain]       = size(Itrain);Ntest                = size(Itest , 2);error_train          = zeros(NT ,  Ncv);error_test           = zeros(NT ,  Ncv);<span class="keyword">for</span> t = 1:NT    <span class="keyword">for</span> i=1:Ncv        [Xtrain , ytrain , Xtest , ytest]  = samplingset(X , y , Itrain , Itest , i);        model_gentle                       = gentleboost_model(Xtrain , ytrain , T(t) , options);        [ytrain_est , fxtrain]             = gentleboost_predict(Xtrain , model_gentle , options);        error_train(t,i)                   = sum(ytrain_est~=ytrain)/Ntrain;        [ytest_est , fxtest]               = gentleboost_predict(Xtest , model_gentle , options);        error_test(t,i)                    = sum(ytest_est~=ytest)/Ntest;    <span class="keyword">end</span><span class="comment">%     T(t)</span><span class="comment">%     drawnow</span><span class="keyword">end</span>error_train_T = mean(error_train , 2);error_test_T  = mean(error_test , 2);[mini , pos]  = min(error_test_T);figureplot(T , error_train_T , T , error_test_T  , <span class="string">'r'</span> , T(pos) , mini , <span class="string">'ko'</span>  , <span class="string">'linewidth'</span> , 2)xlabel(<span class="string">'Number of weak-learners'</span> , <span class="string">'fontsize'</span> , 12 , <span class="string">'fontweight'</span> , <span class="string">'bold'</span>)ylabel(<span class="string">'Error rate'</span> , <span class="string">'fontsize'</span> , 12 , <span class="string">'fontweight'</span> , <span class="string">'bold'</span>)title(sprintf(<span class="string">'Gentleboost/weak = %d, d = %d'</span> , options.weaklearner , d ) , <span class="string">'fontsize'</span> , 13 , <span class="string">'fontweight'</span> , <span class="string">'bold'</span>)legend(<span class="string">'Train'</span> , <span class="string">'Test'</span>)grid</pre><img vspace="5" hspace="5" src="test_gentleboost_model_02.png"> <h2>Example 3 : train, test errors and ROC cuves on IRIS data versus classifiers : Gentleboost, SRNG, SVM<a name="3"></a></h2><pre class="codeinput">load <span class="string">iris</span>labels                                = unique(y);</pre><h2>CV options<a name="4"></a></h2><pre class="codeinput">options.method                        = 7;options.holding.rho                   = 0.7;options.holding.K                     = 50;</pre><h2>Gentle Adaboost options<a name="5"></a></h2><pre class="codeinput">options.weaklearner                   = 0;options.epsi                          = 0.1;options.lambda                        = 1e-2;options.max_ite                       = 1000;options.T                             = 10;</pre><h2>SRNG options<a name="6"></a></h2><pre class="codeinput">options.epsilonk                      = 0.005;options.epsilonl                      = 0.001;options.epsilonlambda                 = 10e-8;options.sigmastart                    = 2;options.sigmaend                      = 10e-4;options.sigmastretch                  = 10e-3;options.threshold                     = 10e-10;options.xi                            = 0.1;options.nb_iterations                 = 3000;options.metric_method                 = 1;options.shuffle                       = 1;options.updatelambda                  = 1;options.Nproto_pclass                 = 4*ones(1 , length(labels));</pre><h2>SVM options<a name="7"></a></h2><pre class="codeinput">options.s                             = 1;options.gamma                         = 0.01;options.nu                            = 0.2;options.b                             = 1;options.strcmd                        = [<span class="string">'-s '</span> num2str(options.s) <span class="string">' -g '</span> num2str(options.gamma) <span class="string">' -n '</span> num2str(options.nu)  <span class="string">' -b '</span> num2str(options.b)];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -