精华内容
下载资源
问答
  • 在win10 tensorflow ssd的学习过程中,从其他地方看到:trainval_percent代表交叉验证集占总图片的比例,train_percent是训练集占交叉验证集的比例。即tensorflow ssd里pascalvoc_2007.py文件中的这个参数如何确定,...

    在win10 tensorflow ssd的学习过程中,从其他地方看到:trainval_percent代表交叉验证集占总图片的比例,train_percent是训练集占交叉验证集的比例。即tensorflow ssd里pascalvoc_2007.py文件中的这个参数如何确定,参数如下:

    SPLITS_TO_SIZES = {
        'train': 5011,
        'test': 4952,
    }

    参考意见:

    1参考:https://www.cnblogs.com/pacino12134/p/10415157.html

    ImageSets\Main里的四个txt文件

    在ImageSets里再新建文件夹,命名为Main,在Main文件夹中生成四个txt文件,即:

    test.txt是测试集
    train.txt是训练集
    val.txt是验证集
    trainval.txt是训练和验证集

    VOC2007中,trainval大概是整个数据集的50%,test也大概是整个数据集的50%;train大概是trainval的50%,val大概是trainval的50%。

    txt文件中的内容为样本图片的名字(不带后缀),格式如下:

    根据已生成的xml,制作VOC2007数据集中的trainval.txt ; train.txt ; test.txt ; val.txt
    trainval占总数据集的50%,test占总数据集的50%;train占trainval的50%,val占trainval的50%;
    上面所占百分比可根据自己的数据集修改,如果数据集比较少,test和val可少一些

    展开全文
  • 交叉验证

    千次阅读 2018-07-10 17:11:33
    交叉验证(Cross Validation)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集(training set),另一部分做为验证集(validation set),首先用训练集对...
      交叉验证(Cross Validation)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集(training set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。常见的交叉验证方法如下:

    留出法 Hold-Out Method

      将原始数据随机分为两组,一组做为训练集,一组做为验证集,利用训练集训练分类器,然后利用验证集验证模型,记录最后的分类准确率为此分类器的性能指标。此种方法的好处的处理简单,只需随机把原始数据分为两组即可,其实严格意义来说Hold-Out Method并不能算是CV,因为这种方法没有达到交叉的思想,由于是随机的将原始数据分组,所以最后验证集分类准确率的高低与原始数据的分组有很大的关系,所以这种方法得到的结果其实并不具有说服性。


    2-折交叉验证 (2-fold Cross Validation,记为2-CV)

      做法是将数据集分成两个相等大小的子集,进行两回合的分类器训练。在第一回合中,一个子集作为training set,另一个便作为testing set;在第二回合中,则将training set与testing set对换后,再次训练分类器,而其中我们比较关心的是两次testing sets的辨识率。不过在实务上2-CV并不常用,主要原因是training set样本数太少,通常不足以代表母体样本的分布,导致testing阶段辨识率容易出现明显落差。此外,2-CV中分子集的变异度大,往往无法达到“实验过程必须可以被复制”的要求。

    K-折交叉验证(K-fold Cross Validation,记为K-CV)

        将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。K一般大于等于2,实际操作时一般从3开始取,只有在原始数据集合数据量小的时候才会尝试取2。K-CV可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性。

    留一法(Leave-One-Out Cross Validation,记为LOO-CV)

    如果设原始数据有N个样本,那么LOO-CV就是N-CV,即每个样本单独作为验证集,其余的N-1个样本作为训练集,所以LOO-CV会得到N个模型,用这N个模型最终的验证集的分类准确率的平均数作为此下LOO-CV分类器的性能指标。相比于前面的K-CV,LOO-CV有两个明显的优点:
    (1)每一回合中几乎所有的样本皆用于训练模型,因此最接近原始样本的分布,这样评估所得的结果比较可靠。
    (2)实验过程中没有随机因素会影响实验数据,确保实验过程是可以被复制的。
    但LOO-CV的缺点则是计算成本高,因为需要建立的模型数量与原始数据样本数量相同,当原始数据样本数量相当多时,LOO-CV在实作上便有困难几乎就是不显示,除非每次训练分类器得到模型的速度很快,或是可以用并行化计算减少计算所需的时间。
    展开全文
  • 经济学里的那些字母都代表意思

    千次阅读 2020-02-15 22:38:17
    p :价格 Q :数, O :需求 S :供给 〔 :均衡(或期望) e :弹性 ed :瀚求的价格弹性 es :供给的价格弹性 exy 二浦求的交叉价格弹性 U :效用 TU :总效用 MU :边际效用 CS :消费者刹余 M RS :商品的边际...
    p :价格 Q :数, O :需求 S :供给 〔 :均衡(或期望) e :弹性 ed :瀚求的价格弹性 es :供给的价格弹性 exy 二浦求的交叉价格弹性 U :效用 TU :总效用 MU :边际效用 CS :消费者刹余 M RS :商品的边际替代率 L :劳动力 K :资本 TP :总产. Ap :平均产妞 MP :边际产. MRTS :边际技术替代率 C ;成本 STC :短期总成本 T 「 C :总不变成本 TVC :总可变成本 TC :总成本 A 「 C :平均不变成本:平均可变成本平均总成本 MC :边际成本 LTC :长期总成本 LAC :长期平均成本短期平均成本:长期边际成本 SMC :短期边际成本 TR :总收益 AR :平均收益边际收益 ps :生产者剩余 Mp :边际产品 VMp :边际产品价值 Avc Ac : SAc LMcMR : W :劳训介格 M Rp :边际收益产品 M 「 C :边际要素成本 r :利率 pEp :价格扩展线微观所有的公式只有两个.那就是效用论的 d ( U ) / d ( X )二 0 和生产论的 d n / dI 二 0 (求 k 的时候就是 dk 》 ,所有一切的共识全都是从这两个式子加上不同的穿钊牛推导出来的 u 效用. x 产品 【 xl , x2 .。。。。。 xn ) ,双利润, l 劳动, k 资本 O 一有求, S 一供给. Q 一产量. p 一价格,卜一均衡, U 一效用. M 一边际. R 一替代. A 一平均, T 一总的

     

     

    TFC AC :固定总成本 WC :可变总成本 TC :总成本:平均成本 A 「 C :平均固定成本 AV ( :平均可变成本边际成本 TP : MR : 总产里 Ap :平均产且:边际产呈边际收益:平均收益 Cp MM TR :总收益 M 〔 :边际成本 AR AC : 平均成本 A 一( 1 )总的( Aggregate ) .如总需求 AD 、总供给 AS , ( 2 )生产中的技术水平 B 一不确定,有预算( B udget )或债券( Bond )等 C 一消费( Consumption 屁求均衡如浦求冲击( Demand shock ) ( Equillbrium e 一汇率( exchange rate ) 「一不确定,有外国直接投资( F 00 、净要索支付( N 「 p )等 G 一政府购买支出( Goverment purchases 一投资( Investment )。也用于国民收入( Nl )或肖费价格指数( CPI )等 K 一资本( captial ) k 二 1 、乘数 2 、人均资本 L 一货币需求( Liquidity ) .也用于劳动( Labor ) M 一 1 、货币及货币供给( Money ) 2 、进 D ( import ) N 一就业最.也用于国民生产总值( G Np )

     

     

    p 一价格总水平( Price ! evel )也用于国内生产总值( GOp Q 一数且( Quantity ) q 一参见托宾 q 理论 R r 一利率( 1 ntrest rate ) S 一储蓄( Saving ) s 一储蓄率 T 一悦收( taxation ) t 一悦率 U 一失业量 u 一失业率( unemployment rate ) V v 一加速数 W 一 1 、财宫( wealth ) 2 、工资( Wage ) w 一工资率 X 二出口( export ) 丫一国民收入、国民产出或 GOp 等
    展开全文
  • matlab-K折交叉验证与分层K折交叉验证

    千次阅读 多人点赞 2020-10-12 21:21:09
    K折交叉验证的要点:(文字版)如何实现K折交叉验证(图片版)如何实现K折交叉验证(matlab版)为啥我们需要分层K折交叉验证?如何实现分层k折交叉验证如何实现分层k折交叉验证(文字版)如何实现分层k折交叉验证(图片...


    很多论文都会用到K折交叉验证,但是我以前实验一直没有做这个步骤,最近整理了一下关于这个方面的资料,其实就是把看到的文字资料整理一下,有些文字自己进行了突出和调整,感谢所有博主,最后是我的matlab版的分层交叉验证,通过这一段的学习,最大的感受就是 python 好,python好,python 好,真是令人忧伤啊。。。
    分层K折交叉验证是K折交叉验证的一个变种,适用于不平衡的数据集,所以先介绍K折交叉验证,之后再介绍分层K折交叉验证。

    K折交叉验证有什么用?

    用法1:常用的精度测试方法主要是交叉验证,例如10折交叉验证(10-fold cross validation,CV),将数据集分成平均分成互斥的十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,一般还需要进行多次10折交叉验证求均值,例如:10次10折交叉验证,以求更精确一点。
    来源——参考博客1https://blog.csdn.net/Dream_angel_Z/article/details/47110077?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-6.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-6.channel_param

    用法2一般情况将K折交叉验证用于模型调优,找到使得模型泛化性能最优的超参值。找到后,在全部训练集上重新训练模型,并使用独立测试集对模型性能做出最终评价。
    来源——参考博客2https://blog.csdn.net/ChenVast/article/details/79257097?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160249987519725222451761%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160249987519725222451761&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v2~rank_blog_v1-1-79257097.pc_v2_rank_blog_v1&utm_term=k%E6%8A%98&spm=1018.2118.3001.4187
    关于这两种用法,我目前看到的论文中,几乎都是第1种,我也是为了精度测试方法来学习k折交叉验证的,第2种用法没怎么看到过,所以记录一下啊,仅供参考。

    如何实现K折交叉验证?

    K折交叉验证的要点:(文字版)

    1:数据集划分为K个相同大小互斥子集。
    2:每次用K-1个集合训练,剩下的1个做测试集,得到结果。
    3:循环K次,得到K个结果,至此1次完整的K折交叉验证结束
    来源——参考博客3(有改动):https://baijiahao.baidu.com/s?id=1677821446173455536&wfr=spider&for=pc
    这个是博主:桔子的算法之路写的,,但是我觉得他原文比较像是分层K折交叉验证,所以我就改了一点点

    如何实现K折交叉验证(图片版)

    图片比文字直观,下面的图很清楚地告诉我们,大小相同、互斥、以及具体的过程图片来源,依旧是参考博客2https://blog.csdn.net/ChenVast/article/details/79257097?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160249987519725222451761%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160249987519725222451761&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v2~rank_blog_v1-1-79257097.pc_v2_rank_blog_v1&utm_term=k%E6%8A%98&spm=1018.2118.3001.4187
    在这里插入图片描述
    在这里插入图片描述

    如何实现K折交叉验证(matlab版)

    这个之前有特地整理过了,代码来自博主:野狗汪汪汪,这里再贴一下mattlab代码,博客地址:https://blog.csdn.net/weixin_41274837/article/details/90169268

    data=double(xtrain');
    label=double(ytrain');  %要求数据集每一行代表一个样本 ;label每行为标签
     
    [M,N]=size(data); % M:总样本量; N:一个样本的元素总数
    indices=crossvalind('Kfold',data(1:M,N),5);  %进行随机分包
     
    for k=1:5  %交叉验证k=10,10个包轮流作为测试集
        test = (indices == k);   %获得test集元素在数据集中对应的单元编号
        train = ~test;  %train集元素的编号为非test元素的编号
        train_data=data(train,:);%从数据集中划分出train样本的数据
        train_label=label(train,:);
        test_data=data(test,:);  %test样本集
        test_label=label(test,:);
    end
    

    这个代码的具体原理可以参考这个博客,来源——参考博客7https://blog.csdn.net/IT_flying625/article/details/102995537
    至此,k折交叉验证的内容全部介绍完毕,下面是分层交叉验证的内容

    为啥我们需要分层K折交叉验证?

    K折交叉验证和分层k折交叉验证的区别,字面上看就是多了个分层,那么为啥要分层呢,前面有说到,分层k折交叉验证是适用于不平衡的数据集的,依然是参考博客2写道:
    K折交叉验证改进成的分层K折交叉验证:
    获得偏差和方差都低的评估结果,特别是类别比例相差较大时。

    那么为什么类别比例相差比较大的时候(就是数据集不平衡时),不分层的k折交叉验证得到的结果不准确呢?请参考这个回答http://sofasofa.io/forum_main_post.php?postid=1000505&
    对于非平衡分类,stratified CV(这里指分层的k折交叉验证)的优点就更加明显了。如果二元分类中分类A只占有0.01%,分类B占有99.99%,当你使用常规的交叉验证的时候,可能你的训练集里甚至都没有足够的A来训练,或者测试集里A的数量极少,严重影响了验证结果的可靠性。
    怎么理解这个影响可靠性,换句话来说,假设整个数据集100张图,进行5折交叉验证,那么一折就有50张图,假设两个类A和B比例是1:9,运气非常差的情况下,某一折的过程中,所有的A(10个样本)全部分为测试集,训练集中一张都没有A,那么相当于老师讲课没有说这个类型题(训练),考试(测试)还考到了,考的差(评估结果差)就说你水平(这个模型效果不好),这个说法一看就知道不对劲。而越是不平衡的数据集,越有可能出现这种情况,所以我们要通过分层,来让每一折的——不管是训练集还是测试集——每个类的比例都尽量和原来的数据集保持一样,这就类似于,老师平时讲的多的东西,考试占的分也多,然后我们考很多次试,取评分,这个才能比较客观地体现出你的能力,如果是一个平衡的数据集,如果你某一次考试考的特别好或者特别差,这都不是你的真实水平,K折交叉验证通过让你考很多次,取平均分可以避免这种情况,但是不平衡的数据集,K折交叉就好像你参加的考试本身就有些问题,考很多次也不能体现你的真实水平,而分层K折交叉验证就可以解决这个问题。

    如何实现分层k折交叉验证

    如何实现分层k折交叉验证(文字版)

    分层交叉验证(Stratified k-fold cross validation):首先它属于交叉验证类型,分层的意思是说在每一折中都保持着原始数据中各个类别的比例关系,比如说:原始数据有3类,比例为1:2:1,采用3折分层交叉验证,那么划分的3折中,每一折中的数据类别保持着1:2:1的比例,这样的验证结果更加可信。
    来源——参考博客5https://www.cnblogs.com/ysugyl/p/8707887.html

    如何实现分层k折交叉验证(图片版)

    这张图可以直观感受一下啥叫分层k折交叉验证,这是我找到的最好的一张图了,只看下面那个部分就好了,图片来源——参考博客4https://blog.csdn.net/ssswill/article/details/85267864
    在这里插入图片描述
    因此正如原博客所说的:分层保证了每个折中类别之间的比例与整个数据集中的比例相同。

    如何实现分层K折交叉验证(matlab版)

    看了一圈,好像程序都是python的,难过,以后要自学python啊!!!感觉python开源,资料比较丰富,matlab闭源再加上之前哈工大那个新闻,哎,好麻烦啊…
    我没找到分层k折交叉验证的代码,所以自己改了一下,基础代码就是之前那个很工整但是没跑过的代码,转载的时候没跑过,但是现在跑过了,果然很漂亮啊,和他的程序比起来,我的这个程序一点也不智能,类别数还要自己写,而且也没有抽象成函数,但是记录一下吧,毕竟这个地方卡了这么久。
    思路就是用上面的k折交叉验证把每个类单独分成k份,然后再合并在一起。Data有两种,一个是特征,一个是标签,两种都进行类似的操作。
    在这里插入图片描述

    下面这个是程序,我的是8分类,在k折交叉验证的基础上改的,原来的代码来源——参考博客6https://blog.csdn.net/u010513327/article/details/80560750?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param
    人家写得好工整啊,为啥我的就显得很乱呢…
    程序中有一个num_in_class,我的是8分类问题,所以是这样一个东西,这个变量代表了每一类有多少个样本,前提是你的样本数据集要同一个类都放在一起,然后第1类,第2类,第3类这样一直排下去。
    在这里插入图片描述

    
    %需要先载入特征和标签,没有对应的mat文件的话会报错,所以要根据自己的情况改
    clc
    clear all
    tic
    load features1%第一种特征
    load features2%第2种特征
    load Labels 
    features=[features1,features2];%把两个矩阵横向拼起来起来,注意中间是逗号,不是分号
    num_in_class=[713,1343,1165,728,1217,713,1378,795];%说明第一类有713张图片,第2类有1343张图片,以此类推,需要改成自己的数据。
    
    classnums=length(num_in_class);%类别数为classnums,这一步是为了把每一类都取出来,注释掉的是手动的,下面是自动的,功能一样,我觉得我的自动的没有错...但是不敢打包票....
    %     features_lei1=features(1:713,:);%这个步骤不是自动化的,是自己把num_in_class的东西用excel累计求和,features矩阵第一行到第713行的所有数据数据是类别1
    %     features_lei2=features(713+1:2056,:);%features矩阵第713+1行到第2056行的所有数据数据是类别2,2026=713+1343
    %     features_lei3=features(2056+1:3221,:);
    %     features_lei4=features(3221+1:3949,:);
    %     features_lei5=features(3949+1:5166,:);
    %     features_lei6=features(5166+1:5879,:);
    %     features_lei7=features(5879+1:7257,:);
    %     features_lei8=features(7257+1:8052,:);
        
        features_lei1=features(1:num_in_class(1),:);%这个步骤是自动化的,其实是确定上面的没问题后,改出来的
        lei2_end=num_in_class(1)+num_in_class(2);
        features_lei2=features(num_in_class(1)+1:lei2_end,:);
        lei3_end=lei2_end+num_in_class(3);
        features_lei3=features(lei2_end+1:lei3_end,:);
        lei4_end=lei3_end+num_in_class(4);
        features_lei4=features(lei3_end+1:lei4_end,:);
        lei5_end=lei4_end+num_in_class(5);
        features_lei5=features(lei4_end+1:lei5_end,:);
        lei6_end=lei5_end+num_in_class(6);
        features_lei6=features(lei5_end+1:lei6_end,:);
        lei7_end=lei6_end+num_in_class(7);
        features_lei7=features(lei6_end+1:lei7_end,:);
        lei8_end=lei7_end+num_in_class(8);
        features_lei8=features(lei7_end+1:lei8_end,:);
        
    %     Labels_lei1=Labels(1:713,:);%这个步骤不是自动化的,是自己把num_in_class的东西用excel累计求和
    %     Labels_lei2=Labels(713+1:2056,:);
    %     Labels_lei3=Labels(2056+1:3221,:);
    %     Labels_lei4=Labels(3221+1:3949,:);
    %     Labels_lei5=Labels(3949+1:5166,:);
    %     Labels_lei6=Labels(5166+1:5879,:);
    %     Labels_lei7=Labels(5879+1:7257,:);
    %     Labels_lei8=Labels(7257+1:8052,:);
        
        Labels_lei1=Labels(1:num_in_class(1),:);%这个步骤是自动化的,其实是确定上面的没问题后,改出来的
        Labels_lei2=Labels(num_in_class(1)+1:lei2_end,:);
        Labels_lei3=Labels(lei2_end+1:lei3_end,:);
        Labels_lei4=Labels(lei3_end+1:lei4_end,:);
        Labels_lei5=Labels(lei4_end+1:lei5_end,:);
        Labels_lei6=Labels(lei5_end+1:lei6_end,:);
        Labels_lei7=Labels(lei6_end+1:lei7_end,:);
        Labels_lei8=Labels(lei7_end+1:lei8_end,:);
    %% k折交叉验证
    %交叉验证
    k =5;%预将数据分成5份
    sum_accuracy_svm = 0;
    %% 类别1
    [m,n] = size(features_lei1);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_1 = crossvalind('Kfold',m,k);
    %% 类别2
    [m,n] = size(features_lei2);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_2 = crossvalind('Kfold',m,k);
    %% 类别3
    [m,n] = size(features_lei3);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_3 = crossvalind('Kfold',m,k);
    %% 类别4
    [m,n] = size(features_lei4);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_4 = crossvalind('Kfold',m,k);
    %% 类别5
    [m,n] = size(features_lei5);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_5 = crossvalind('Kfold',m,k);
    %% 类别6
    [m,n] = size(features_lei6);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_6 = crossvalind('Kfold',m,k);
    %%  类别7
    [m,n] = size(features_lei7);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_7 = crossvalind('Kfold',m,k);
    %%  类别8
    [m,n] = size(features_lei8);
    %交叉验证,使用k折交叉验证  Kfold  
    %indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份
    indices_8 = crossvalind('Kfold',m,k);
    
    for i = 1:k
        % 针对第1类划分训练集和测试集
        test_indic_1 = (indices_1 == i);
        train_indic_1 = ~test_indic_1;
        train_datas_1 = features_lei1(train_indic_1,:);%找出训练数据与标签
        train_labels_1 = Labels_lei1(train_indic_1,:);
        test_datas_1 = features_lei1(test_indic_1,:);%找出测试数据与标签
        test_labels_1 = Labels_lei1(test_indic_1,:);
        
        % 针对第2类划分训练集和测试集
        test_indic_2 = (indices_2 == i);
        train_indic_2 = ~test_indic_2;
        train_datas_2 = features_lei2(train_indic_2,:);%找出训练数据与标签
        train_labels_2 = Labels_lei2(train_indic_2,:);
        test_datas_2 = features_lei2(test_indic_2,:);%找出测试数据与标签
        test_labels_2 = Labels_lei2(test_indic_2,:);
        
         % 针对第3类划分训练集和测试集
        test_indic_3 = (indices_3 == i);
        train_indic_3 = ~test_indic_3;
        train_datas_3 = features_lei3(train_indic_3,:);%找出训练数据与标签
        train_labels_3 = Labels_lei3(train_indic_3,:);
        test_datas_3 = features_lei3(test_indic_3,:);%找出测试数据与标签
        test_labels_3 = Labels_lei3(test_indic_3,:);
        
          % 针对第4类划分训练集和测试集
        test_indic_4 = (indices_4 == i);
        train_indic_4 = ~test_indic_4;
        train_datas_4 = features_lei4(train_indic_4,:);%找出训练数据与标签
        train_labels_4 = Labels_lei4(train_indic_4,:);
        test_datas_4 = features_lei4(test_indic_4,:);%找出测试数据与标签
        test_labels_4 = Labels_lei4(test_indic_4,:);
        
            % 针对第5类划分训练集和测试集
        test_indic_5 = (indices_5 == i);
        train_indic_5 = ~test_indic_5;
        train_datas_5 = features_lei5(train_indic_5,:);%找出训练数据与标签
        train_labels_5 = Labels_lei5(train_indic_5,:);
        test_datas_5 = features_lei5(test_indic_5,:);%找出测试数据与标签
        test_labels_5 = Labels_lei5(test_indic_5,:);
        
            % 针对第6类划分训练集和测试集
        test_indic_6 = (indices_6 == i);
        train_indic_6 = ~test_indic_6;
        train_datas_6 = features_lei6(train_indic_6,:);%找出训练数据与标签
        train_labels_6 = Labels_lei6(train_indic_6,:);
        test_datas_6 = features_lei6(test_indic_6,:);%找出测试数据与标签
        test_labels_6 = Labels_lei6(test_indic_6,:);
        
          % 针对第7类划分训练集和测试集
        test_indic_7 = (indices_7 == i);
        train_indic_7 = ~test_indic_7;
        train_datas_7 = features_lei7(train_indic_7,:);%找出训练数据与标签
        train_labels_7 = Labels_lei7(train_indic_7,:);
        test_datas_7 = features_lei7(test_indic_7,:);%找出测试数据与标签
        test_labels_7 = Labels_lei7(test_indic_7,:);
        
           % 针对第8类划分训练集和测试集
        test_indic_8 = (indices_8 == i);
        train_indic_8 = ~test_indic_8;
        train_datas_8 = features_lei8(train_indic_8,:);%找出训练数据与标签
        train_labels_8 = Labels_lei8(train_indic_8,:);
        test_datas_8 = features_lei8(test_indic_8,:);%找出测试数据与标签
        test_labels_8 = Labels_lei8(test_indic_8,:);
        
        % 合并
        train_datas = [train_datas_1;train_datas_2;train_datas_3;train_datas_4;train_datas_5;train_datas_6;train_datas_7;train_datas_8];
        train_labels =[train_labels_1;train_labels_2;train_labels_3;train_labels_4;train_labels_5;train_labels_6;train_labels_7;train_labels_8];
        
        test_datas = [test_datas_1;test_datas_2;test_datas_3;test_datas_4;test_datas_5;test_datas_6;test_datas_7;test_datas_8];
        test_labels =[test_labels_1;test_labels_2;test_labels_3;test_labels_4;test_labels_5;test_labels_6;test_labels_7;test_labels_8];
    
        
        % 开始svm多分类训练,fitcsvm用于二分类,fitcecoc用于多分类,    
        classifer = fitcecoc(train_datas,train_labels);%训练模型
        predict_label  = predict(classifer, test_datas);%测试
        
        fprintf('第%d折\n',i)
        disp('分类正确率:'); 
        accuracy_svm = length(find(predict_label == test_labels))/length(test_labels)%正确率
        sum_accuracy_svm = sum_accuracy_svm + accuracy_svm;
        end
        mean_accuracy_svm = sum_accuracy_svm / k;
    	disp('平均准确率:');   
    	disp( mean_accuracy_svm);
    toc
    

    再次感谢以上所有的博主们!!!

    展开全文
  • ll命令字段所代表意思

    万次阅读 2012-05-10 20:24:58
    但是修改好后用 scandisk监测的时候会被认为是交叉链接错误. 开头为 b 的表示块设备文件(block),,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件.它的没有文件大小,只有一个主设备号和一个辅设备号....
  • 意思其实就是用同一个KEY重新注册,下次读到的余下的数据合并到上次这个KEY的部分数据上,代表同一客户端的一次完整的发送。 对于同一次交互中比较大的数据,必须使用sk.interestOps(SelectionKey.OP_READ);...
  • 交叉编译和MAKEFILE

    千次阅读 2017-06-25 12:14:25
    一、交叉工具链 1.交叉编译器:arm-linux-gcc 2.交叉链接器:arm-linux-ld 3.交叉elf文件工具:arm-linux-readelf -a 文件名(elf格式) 4.交叉反汇编工具:arm-linux-objdump -D -S 文件名1 > 文件名2 5.交叉转换器:...
  • Frp交叉编译过程记录

    千次阅读 2018-11-15 13:57:12
    相比gcc,Go语言的交叉编译超乎想象的简单,直接安装Go语言编译器,默认安装即可. 设置三个环境变量,各个平台配置方式自行...其中GOARCH代表处理器,GOOS代表系统平台.CGO_ENABLED是是否启动CGO.交叉编译里面一般不...
  • pandas - 交叉表与透视表

    千次阅读 2019-03-12 11:45:47
    以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好还是坏,里面的数据代表比例 可以理解为所有时间为星期一等等的数据当中涨跌幅好坏的比例 2 使用crosstab(交叉表)实现上图 交叉表:交叉...
  • 树莓派学习笔记——交叉编译工具链

    万次阅读 多人点赞 2014-05-03 19:51:18
    【1】为什么要使用交叉编译  交叉编译工具较快开发的速度。树莓派中已经安装了gcc工具链,可在树莓派中直接编译源代码生成可执行文件。于此同时,PC机上也可使用gcc工具链生成可执行代码,但是和树莓派上的gcc工具...
  • crossvalind Matlab 交叉验证

    千次阅读 2018-02-01 11:19:41
    原文地址:Matlab 交叉验证" style="color:rgb(62,115,160)">crossvalind Matlab 交叉验证作者:lujingyang1029 今天用到crossvalind. 这个适用于Cross validation。中文应该叫做交叉验证。我主要想说说这个...
  • 首先说说交叉编译的事:一个简单的Hello World程序,在x86_64的机器上编译通过后,将其生成的可执行程序拷贝到aarch64的机器上去执行,肯定是执行不通过的, 会报文件格式不正确之类的错误,这是因为程序的编译平台...
  • 交叉表、行列转换和交叉查询经典

    千次阅读 2016-11-23 09:44:45
    交叉表、行列转换和交叉查询经典 一、什么是交叉表 “交叉表”对象是一个网格,用来根据指定的条件返回值。数据显示在压缩行和列中。这种格式易于比较数据并辨别其趋势。它由三个元素组成: ...
  • 交叉编译 Qt5.12.2

    千次阅读 2019-03-17 10:06:31
    来自QQ群 Linux && 技术分享 311078264 打开链接加入QQ群:...k=5Gr3bAx 此文档由elikang整理,为了文章简单直接,许多细节未能在文章中体现,如有疑问请进群讨论。 ... 交叉编译工作在Ubuntu18.04上进行,...
  • 直方图交叉

    千次阅读 2016-01-20 20:31:31
    本文主要介绍:直方图交叉核(Histogram intersection kernel)又称 Pyramid match kernel,本文主要介绍其原理与计算方法。 1. 基本思想 直方图交叉核(Histogram intersection kernel)又称Pyramid ...
  • 上篇介绍了交叉编译的基本原理,以及交叉编译一个简单的HelloWorld程序,这篇将介绍如何交叉编译Qt程序。 由于Qt程序依赖的底层以及第三方的相关库太多(比如libGL.so库为OpenGL库,libX11.so库为系统图像库等等),...
  • Linux搭建交叉编译环境

    千次阅读 2019-04-29 00:03:04
    记录一下搭建嵌入式交叉编译环境的悲惨过程 【WHY】为什么要搭建交叉编译环境呢? 我本来想在板子arm9(2440)上跑个程序的,但Linux下gcc编译生成的可执行文件,竟然没办法在板子上跑,大概是格式问题吧(说大概是...
  • 1-2 移动均线交叉策略1

    千次阅读 2017-10-14 10:24:10
    第一阶段、一个简单策略入门量化投资1-2 移动均线交叉策略1第一阶段一个简单策略入门量化投资 1-2 移动均线交叉策略1 前言 获取数据 移动均线交叉策略 数据可视化 绘制折线图 绘制K线图 绘制移动均线 移动均线交叉...
  • 模型选择和交叉验证

    万次阅读 2018-05-16 13:10:06
    显然越高次数的多项式模型越能够适应我们的训练数据集,但是适应训练数据集并不代表着能推广至一般情况。我们应该选择一个更能适应一般情况的模型。如果在模型选择过程中不断重复使用相同的测试数据,这样的话测试...
  • 交叉验证原理

    千次阅读 2016-04-13 10:39:53
    交叉验证(Cross-Validation): 有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析,而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而...
  • 几种交叉验证法(超详细)

    万次阅读 多人点赞 2018-01-23 12:17:08
    交叉验证交叉验证是一种用来评价一个训练出的模型是否可以推广到另一个数据结构相同的数据集上的方法。主要用于PCR 、PLS 回归建模等建模应用中。主要用于估计一个预测模型在实际数据应用中的准确度。它是一种统计学...
  • matlab实现 | 五折交叉

    千次阅读 2019-05-13 11:11:58
    参考: ... ... 理论 一般情况将K折交叉验证用于模型调优,找到使得模型泛化性能最优的超参值。,找到后,在全部训练集上重新训练模型,并使用独立测试集对模型性...
  • Stata: 交叉验证简介

    千次阅读 2019-10-30 00:43:52
    作者:贺旭 (中央财经大学) Stata连享会   计量专题 || 精品课程 || 简书推文 || 公众号合集 ...本文介绍交叉验证方法,然后以 kfoldclass 命令和 crossfold 为范例使读者更深入的了解该方法。 ...
  • 交叉编译iftop

    千次阅读 2014-10-18 13:57:07
    1、下载iftop源码包iftop-0.17.tar.gz 2、解压 3、确保已经交叉编译好libpcap
  • 交叉验证是什么? 在模型建立中,通常有两个数据集:训练集(train)和测试集(test)。训练集用来训练模型;测试集是完全不参与训练的数据,仅仅用来观测测试效果的数据。 一般情况下,训练的结果对于训练集的拟合...
  • Kfold交叉验证心得

    千次阅读 2019-01-18 15:59:36
    运用Kfold交叉验证时,在一个限度内k的值越大越好。因为k越大我们验证的次数就越多,最后取出来的平均数越能代表训练模型的准确度。 但是k是需要在一个限度之内的。k太大有两个坏处。 1. 容易给机器造成过重负担,...
  • sqlite3的交叉编译

    千次阅读 2015-07-28 13:19:08
    但是因为qtcreator中的编译器中的库中并没有sqlite3的库,所以肯定编译不了,所以若想在qtcreator中编译sqlite3的程序,首先的将sqlite3的库添加到交叉编译器中,同样这个也分为在PC下和在开发板tiny6410中两种情况...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,908
精华内容 39,563
关键字:

交叉代表的意思