精华内容
下载资源
问答
  • 数据挖掘算法——常用分类算法总结

    万次阅读 多人点赞 2019-06-17 10:55:22
    常用分类算法总结分类算法总结NBC算法LR算法SVM算法ID3算法C4.5 算法C5.0算法KNN 算法ANN 算法 分类算法总结 分类是在一群已经知道类别标号的样本中,训练一种分类器,让其能够对某种未知的样本进行分类。分类算法...

    分类算法

    分类是在一群已经知道类别标号的样本中,训练一种分类器,让其能够对某种未知的样本进行分类。分类算法属于一种有监督的学习。分类算法的分类过程就是建立一种分类模型来描述预定的数据集或概念集,通过分析由属性描述的数据库元组来构造模型。分类的目的就是使用分类对新的数据集进行划分,其主要涉及分类规则的准确性、过拟合、矛盾划分的取舍等。分类算法分类效果如图所示。

    常用的分类算法包括:NBC(Naive Bayesian Classifier,朴素贝叶斯分类)算法、LR(Logistic Regress,逻辑回归)算法、ID3(Iterative Dichotomiser 3 迭代二叉树3 代)决策树算法、C4.5 决策树算法、C5.0 决策树算法、SVM(Support Vector Machine,支持向量机)算法、KNN(K-Nearest Neighbor,K 最近邻近)算法、ANN(Artificial Neural Network,人工神经网络)算法等。

    NBC算法

    NBC 模型发源于古典数学理论,有着坚实的数学基础。该算法是基于条件独立性假设的一种算法,当条件独立性假设成立时,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。
    NBC算法的优点

    1. NBC算法逻辑简单,易于实现;
    2. NBC算法所需估计的参数很少;
    3. NBC 算法对缺失数据不太敏感;
    4. NBC 算法具有较小的误差分类率;
    5. NBC 算法性能稳定,健壮性比较好;

    NBC算法的缺点
    1.在属性个数比较多或者属性之间相关性较大时,NBC 模型的分类效果相对较差;
    2.算法是基于条件独立性假设的,在实际应用中很难成立,故会影响分类效果

    LR算法

    LR 回归是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。它与多元线性回归同属一个家族,即广义线性模型。简单来说多元线性回归是直接将特征值和其对应的概率进行相乘得到一个结果,逻辑回归则是在这样的结果上加上一个逻辑函数。在此选择LR 作为回归分析模型的代表进行介绍。
    LR算法的优点
    1.对数据中小噪声的鲁棒性好;
    2.LR 算法已被广泛应用于工业问题中;
    3.多重共线性并不是问题,它可结合正则化来解决。

    LR算法的缺点
    1.对于非线性特征,需要转换
    2.当特征空间很大时,LR的性能并不是太好

    SVM算法

    SVM 算法是建立在统计学习理论基础上的机器学习方法,为十大数据挖掘算法之一。通过学习算法,SVM 可以自动寻找出对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的适应能力和较高的分准率。SVM 算法的目的在于寻找一个超平面H,该超平面可以将训练集中的数据分开,且与类域边界的沿垂直于该超平面方向的距离最大,故SVM 法亦被称为最大边缘算法。

    SVM算法的优点
    1.SVM 模型有很高的分准率;
    2. SVM 模型有很高的泛化性能;
    3. SVM 模型能很好地解决高维问题;
    4. SVM 模型对小样本情况下的机器学习问题效果好。

    SVM算法的缺点
    1.SVM 模型对缺失数据敏感;
    2.对非线性问题没有通用解决方案,得谨慎选择核函数来处理。

    ID3算法

    ID3 算法是一种基于决策树的分类算法,该算法是以信息论为基础,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类。信息增益用于度量某个属性对样本集合分类的好坏程度。ID3 算法的时间复杂度为O(n*|D|*log|D|)。

    ID3算法的优点

    1. ID3 算法建立的决策树规模比较小;
    2. 查询速度快。

    ID3算法的缺点
    1.不适合处理连续数据;
    2.难以处理海量数据集;
    3.建树时偏选属性值较大的进行分离,而有时属性值较大的不一定能反应更多的数据信息。

    C4.5 算法

    C4.5 算法是ID3 算法的修订版,采用信息增益率来加以改进,选取有最大增益率的分割变量作为准则,避免ID3 算法过度的适配问题。

    C4.5算法优点
    1.C4.5 继承了ID3 优点;
    2.在树构造过程中进行剪枝;
    3.能对不完整数据进行处理;
    4.能够完成对连续属性的离散化处理;
    5.产生的分类规则易于理解,准确率较高;
    6.用增益率来选择属性,克服了用增益选择属性时偏向选择取值多的属性。

    C4.5 算法缺点
    1.构造树时,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效;
    2.只适合于能驻留于内存的数据集,当训练集达到内存无法容纳时程序无法运行。

    C4.5 用于遥感分类过程中,首先依据通常的方式建立第一个模型。随后建立的第二个模型聚焦于被第一个模型错误分类的记录。以此类推,最后应用整个模型集对样本进行分类,使用加权投票过程把分散的预测合并成综合预测。Boosting 技术对于噪声不大的数据,通常通过建立的多模型来减少错误分类的影响,提高分类精度。

    C5.0算法

    C5.0 算法是 Quinlan 在C4.5 算法的基础上改进而来的产生决策树的一种更新的算法,它除了包括C4.5 的全部功能外,还引入许多新的技术,其中最重要的技术是提升(Boosting)技术,目的是为了进一步提高决策树对样本的识别率。同时C5.0 的算法复杂度要更低,使用更简单,适应性更强,因此具有更高的使用价值。

    C5.0算法的优点
    1.C5.0 模型能同时处理连续和离散的数据
    2.C5.0 模型估计
    模型通常不需要很长的训练时间;
    3.C5.0 引入Boosting 技术以提高分类的效率和精度;
    4.C5.0 模型易于理解,模型推出的规则有非常直观的解释;
    5.C5.0 模型在面对数据遗漏和特征很多的问题时非常稳健。

    C5.0算法的缺点
    目标字段必须为分类字段。

    美国地质调查局(USGS)在进行土地覆盖分类项目过程中研发了支持决策树分类的软件。软件分类模块主要是针对庞大数据量的数据集进行数据挖掘,找出特征,然后建立规则集进行决策分类。在分类模块中采用C5.0 模型来完成决策树分类、形成分类文件,实现遥感影像的分类。

    KNN 算法

    KNN 算法是Cover 和Hart 于1968 年提出的理论上比较成熟的方法,为十大挖掘算法之一。该算法的思路非常简单直观:如果一个样本在特征空间中的k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

    KNN算法的优点
    1.KNN 算法简单、有效;
    2.KNN 算法适用于样本容量比较大的类域的自动分类;
    3.由于KNN 方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN 方法较其他方法更为适合。

    KNN算法的缺点
    1.KNN 算法计算量较大;
    2.KNN 算法需要事先确定K 值;
    3.KNN 算法输出的可解释不强;
    4. KNN 算法对样本容量较小的类域很容易产生误分。

    ANN 算法

    人工神经网络(ANN)算法就是一组连续的输入/输出单元,其中每个连接都与一个权相关。在学习阶段,通过调整神经网络的权,使得能够预测样本的正确类标号来学习。

    ANN算法的优点
    1.能处理数值型及分类型的属性;
    2.分类的准确度高,分布并行处理能力强;
    3.对包含大量噪声数据的数据集有较强的鲁棒性和容错能力。

    ANN算法的缺点
    1.不能观察之间的学习过程;
    2.学习时间过长,甚至可能达不到学习的目的;
    3.对于非数值型数据需要做大量数据预处理工作;
    4.输出结果难以解释,会影响到结果的可信度和可接受程度;
    5.神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值。

    小结:

    算法名称 收敛时间 是否过度拟合 是否过渡拟合缺失数据敏感度 训练数据量
    NBC 存在 不敏感 无要求
    LR 存在 敏感 无要求
    SVM 一般 存在 敏感 小数据量
    ID3 存在 不敏感 小数据集
    C4.5 存在 不敏感 小数据集
    C5.0 不存在 不敏感 大数据集
    ANN 存在 敏感 大数据集
    KNN 存在 敏感 数据量多

    创建了一个技术闲聊群:有兴趣可加我微信,拉你一起讨论杂七杂八的技术,虽然大家都不怎么活跃!
    加好友备注:你的博客名 && 随便给我的任意文章点个赞或留言
    在这里插入图片描述

    展开全文
  •  CIDR中文全称是无分类域间路由选择,英文全称是Classless Inter-Domain Routing,在平常,大家多称之为无分类编址,它也是构成超网的一种技术实现。 2. CIDR子网划分 3. 总结

    CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)


    1. 原始的IP地址表示方法及其分类(近几年慢慢淘汰)


        IP地址是由4字节,32位表示的,为了表示方便,通常用点分十进制表示法,例如大家常见的:192.168.0.52,四个字节,通过点进行分隔,看起来十分清晰。IP地址的32位是由网络号+主机号组成的,也就是说这32位中,左边的某些连续位表示网络号,右边的某些连续位表示主机号,那么我们平常在讨论这一系列问题的时候,会有一个“网络地址”的概念,一般来说网络地址并不等于IP地址,网络地址就是IP地址中的网络号,然后主机号全部取0。IP地址可以表示为:

        IP地址 ::= {<网络号>, <主机号>},将主机号置0,就可以得到网络地址。

        最初的IP地址是被划分为5类,不过大家经常见到和谈到的只有3类,即A类、B类、C类,如图1所示:

    图1 IP地址的分类

        从图1中可以看到基本的划分,由于本篇文章主要讲CIDR,所以对于IP地址最初的分类表示法就不过多讲述,在CIDR中已经废弃了IP地址的分类,无分类编址的命名也是由此得来的,所以目前基本已经不再采用所谓的A类、B类、C类的IP地址分类表示法,不过作为比较经典的过去使用的方法,大家了解一下即可。图1中表示得十分清楚,大家从左边看起,搞明白每一类地址的前缀、网络地址、主机地址的位数即可,通过这个位数,大家可以计算出每类网络的可支配网络数以及可连接主机数,对相应的位数求2的幂即可。


    图2 IP地址的指派范围和一般不使用的IP地址

        从图2中,我们可以清晰地看出来每类网络所指派的网络数和主机数,以及哪些地址一般不使用,这里需要注意一点,就是最大可指派网络数中会减掉2或者1,其实后面的最大主机数大家计算一下会发现都减去了2,这是为什么呢?这是因为A类的前缀是0,所以网络号加上前缀的8位可以出现全0的情况,而且127(01111111)作为环回地址用来测试,所以不指派,故而需要减去2,B类和C类的前缀分别是10和110,所以网络号加上前缀不可能出现全0的情况,不过B类的128.0.0.0和C类的192.0.0.0也是不指派的,所以B类和C类只需要减去这一个不指派的网络地址即可。那么主机数为什么都减去2呢?这是因为主机号分别为全0和全1的情况一般是不分配的,这两个特殊的地址有特殊的用途,所以要减去2。

        关于分类的IP地址就介绍到这里,还要强调一下,目前已经不采用分类表示法,所以大家重点关注CIDR表示法。

    2. 基本的子网划分方法


        在讲述CIDR之前我们先来简单介绍一下基本的子网划分方法。

        上面所述的IP地址表示方法可以称之为两级IP地址,即网络号和主机号组成的IP地址。但是由于IP地址空间的利用率有时很低、给每一个物理网络分配一个网络号会使路由表变得太大以及两级IP地址不够灵活等原因,就出现了所谓的子网划分。子网划分实际上就是将原来的两级IP地址转变为三级IP地址,表示如下:

        IP地址 ::= {<网络号>, <子网号>, <主机号>}

        从上面的表示可以看出,子网划分就是在32位中借了几位用来表示子网号,注意,这里的网络号的位数是不变的,子网号是从主机号中借走的,所以大家想一想就可以明白,子网划分实际上就是减少了主机数,分配到不同的子网,每个子网包含一定的主机数。子网的概念也就可以理解为,将一个大的网络在其内部划分成几个小的子网,但是需要注意的是,对于该网络的外层来看,还是一个大的网络,只有该网络内部才可以看到其进行了子网划分。例如:某个机构给某高校分配了一个大的网络,而该高校内部又进行了子网划分,将不同的子网分配给不同的学院,此时对于该机构来说,该高校还是一个大的网络,在其看来并没有变化,只有该高校自己才知道自己内部又进行了子网划分。

        子网划分中有一个十分重要的概念就是子网掩码。  那么什么是子网掩码呢?大家想一想,在传输的过程中,路由器是怎么识别子网划分后的IP地址中的网络地址的?如果不提供任何信息,路由器肯定还是傻傻分不清楚,所以就出现了子网掩码。子网掩码其实很简单,就是将网络号和子网号对应的位全部置1,将主机号对应的位置0,就得到了子网掩码。例如:一个IP地址是145.13.3.10,其是B类地址,假如我们用8位来表示子网号,那么网络号加上子网号一共24位,所以将这24位置1,其余置0,那么子网掩码就是255.255.255.0。紧接着,我们可以看出来,用子网掩码和IP地址逐位进行“与”运算,就可以得到网络地址,所以该IP地址的网络地址就是145.13.3.0,下面我从《计算机网络第5版》谢希仁编著的书中摘取了两个例子,帮助大家理解。


    图3 子网划分的例题

        从上面的例子中可以看出子网掩码的使用和计算,这两个例子也说明了同样的IP地址和不同的子网掩码可以得出相同的网络地址。但是不同的掩码效果是不同的,因为它们的子网号和主机号的位数是不一样的,从而可划分的子网数和每个子网中的最大主机数都是不一样的。

        最后,我们需要注意的是,在之前基本的子网划分中,借走主机号两位,只能划分4-2=2个子网,这是因为全0和全1不使用,一般至少借走两位,其他位数的划分是一样的,都需要减去2,但是CIDR表示法中的子网划分就不用减2,因为其也使用全0和全1。

    3. CIDR概述及其地址块计算


        CIDR中文全称是无分类域间路由选择,英文全称是Classless Inter-Domain Routing,在平常,大家多称之为无分类编址,它也是构成超网的一种技术实现。CIDR在一定程度上解决了路由表项目过多过大的问题。CIDR之所以称为无分类编址,就是因为CIDR完全放弃了之前的分类IP地址表示法,它真正消除了传统的A类、B类、C类地址以及划分子网的概念,它使用如下的IP地址表示法:

        IP地址 ::= {<网络前缀>, <主机号>} / 网络前缀所占位数

        CIDR仅将IP地址划分为网络前缀和主机号两个部分,可以说又回到了二级IP地址的表示,不过大家要注意,最后面用“/”斜线分隔,在其后写上了网络前缀所占的位数,这样就不需要告知路由器地址掩码,仅需要通过网络前缀所占的位数就可以得到地址掩码,为了统一,CIDR中的地址掩码依然称为子网掩码。

        CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址块,这是由连续的IP地址组成的,所以CIDR表示法构成了超网,实现了路由聚合,即从一个IP地址就可以得知一个CIDR地址块。例如:已知一个IP地址是:128.14.35.7/20,那么这个已知条件告诉大家的并不仅仅是一个IP地址这么简单,我们来分析一下。

        128.14.35.7/20 = 10000000  00001110  00100011  00000111

        即前20位是网络前缀,后12位是主机号,那么我们通过令主机号分别为全0和全1就可以得到一个CIDR地址块的最小地址和最大地址,即

        最小地址是:128.14.32.0      = 10000000  00001110  00100000  00000000 
        最大地址是:128.14.47.255  = 10000000  00001110  00101111 11111111     
        子网掩码是:255.255.240.0  = 11111111  11111111  11110000  00000000 

        因此就可以看出来,这个CIDR地址块可以指派(47-32+1)*256=4096个地址,这里没有把全0和全1除外。

    4. CIDR子网划分


        在CIDR表示法中也可以进行进一步的子网划分,和前面的子网划分类似,我们只需要从主机号中借走一定的位数即可,这里与前面的基本子网划分不同,借走2位时可以划分成4个子网,不用减2,其他位数类似。下面通过一个例子来讲解CIDR中的子网划分。

        例:某个机构拥有一个大的CIDR地址块,即206.0.64.0/18,现在某个高校需要申请一个较大的CIDR地址块以供学校使用,学校内部又分为4个系,由于每个系的人数不一样,所以要给人数较多的系分配较多的IP地址,人数较少的系分配较少的IP地址,现在采用以下的分配方案:

        机构分配给该高校一个CIDR地址块:206.0.68.0/22,然后该高校内部的分配方案如下:

        一系:206.0.68.0/23,一系内部又分为206.0.68.0/25、206.0.68.128/25、206.0.69.0/25和206.0.69.128/25四个子网。
        二系:206.0.70.0/24,二系内部又分为206.0.70.0/26、206.0.70.64/26、206.0.70.128/26和206.0.70.192/26四个子网。
        三系:206.0.71.0/25,三系内部又分为206.0.71.0/26和206.0.71.64/26两个子网。
        四系:206.0.71.128/25,四系内部又分为206.0.71.128/26和206.0.71.192/26两个子网。

        请分析以上方案划分的具体细节。

       答:这是一个CIDR子网划分中比较复杂的例子,如果大家能分析透彻这个例子,那么对于CIDR的子网划分的计算就基本不在话下了。

        我们一步一步来讨论:

        第一,这个机构拥有的地址块是206.0.64.0/18 =206.0.0100 0000.0000 0000/18,网络前缀是18位,所以其

        最小地址是:206.0.64.0/18       = 206.0.0100 0000.0000 0000/18
        最大地址是:206.0.127.255/18 = 206.0.0111 1111.1111 1111/18
        子网掩码是:255.255.192.0/18 = 1111 1111.1111 1111.1100 0000.0000 0000/18
        拥有的地址数:(127-64+1)*(255-0+1)=16384

        然后,我们来看一下这个机构给该高校分配的CIDR地址块,即206.0.68.0/22,由此可以看出来网络前缀由18增加到了22,所以该机构相当于将其CIDR地址块划分成了16个子块即子网,然后给该高校了第二个子网,即206.0.0100 0100.0/22,黑色加粗的部分是原来的网络前缀,后面红色部分类似于前面介绍的子网号,由于是4位,所以可以从0000~1111,共16个子网,0001自然就是第二个子网。

        第二,既然高校拥有了机构的第二个子网的CIDR地址块206.0.68.0/22 = 206.0.0100 0100.0/22,其网络前缀是22位,所以其

        最小地址是:206.0.68.0/22       = 206.0.0100 0100.0000 0000/22
        最大地址是:206.0.71.255/22   = 206.0.0100 0111.1111 1111/22
        子网掩码是:255.255.252.0/22 = 1111 1111.1111 1111.1111 1100.0000 0000/22
        拥有的地址数:(71-68+1)*(255-0+1)=1024

        然后该高校内部又对这个CIDR地址块进行了划分,进一步得到了高校内部的子网,紧接着我们来看看一系的CIDR地址块是怎么得到的。

        第三,一系的CIDR地址块是206.0.68.0/23,可以看出来其网络前缀相对于高校的CIDR地址块来说增加了1位,说明高校首先将其CIDR地址块划分成了2个子网,其中一个给了一系。那么这两个子网分别是:一系的:206.0.68.0/23 = 206.0.0100 0100.0/23剩余的(记为余1):206.0.70.0/23 =206.0.0100 0110.0/23,注意其中的红色部分就是新增的这一位,用来标志两个子网。

        那么,一系的
        最小地址是:206.0.68.0/23       = 206.0.0100 0100.0000 0000/23
        最大地址是:206.0.69.255/23   = 206.0.0100 0101.1111 1111/23
        子网掩码是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
        拥有的地址数:(69-68+1)*(255-0+1)=512

        余1的
        最小地址是:206.0.70.0/23       = 206.0.0100 0110.0000 0000/23
        最大地址是:206.0.71.255/23   = 206.0.0100 0111.1111 1111/23
        子网掩码是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
        拥有的地址数:(71-70+1)*(255-0+1)=512

        现在,一系的CIDR地址块已经很明确,然后一系内部又进行了划分,即又分为206.0.68.0/25、206.0.68.128/25、206.0.69.0/25和206.0.69.128/25四个子网,网络前缀从23位变成了25位,相当于占用了主机号两位,所以可以划分为4个子网,分别对应00、01、10、11这四个子网,这四个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到,这个比较简单,建议大家可以自己手动计算一下,正好看看自己掌握了多少,这里就不再给出这四个子网的细节。

        第四,一系明确以后,就要考虑其他系的划分,可以看到二系分配到的CIDR地址块是206.0.70.0/24,可以看出来其网络前缀相对于余1的CIDR地址块来说增加了1位,说明余1的CIDR地址块被划分成了2个子网,其中一个给了二系。那么这两个子网分别是:二系的:206.0.70.0/24 = 206.0.0100 0110.0/24剩余的(记为余2):206.0.71.0/24 =206.0.0100 0111.0/24注意其中的红色部分就是新增的这一位,用来标志两个子网。

        那么,二系的
        最小地址是:206.0.70.0/24       = 206.0.0100 0100.0000 0000/24
        最大地址是:206.0.70.255/24   = 206.0.0100 0100.1111 1111/24
        子网掩码是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
        拥有的地址数:(70-70+1)*(255-0+1)=256

        余2的
        最小地址是:206.0.71.0/24       = 206.0.0100 0111.0000 0000/24
        最大地址是:206.0.71.255/24   = 206.0.0100 0111.1111 1111/24
        子网掩码是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
        拥有的地址数:(70-70+1)*(255-0+1)=256

        现在,二系的CIDR地址块已经很明确,然后二系内部又进行了划分,即又分为206.0.70.0/26、206.0.70.64/26、206.0.70.128/26和206.0.70.192/26四个子网,网络前缀从24位变成了26位,相当于占用了主机号两位,所以可以划分为4个子网,分别对应00、01、10、11这四个子网,这四个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到,这个比较简单,建议大家可以自己手动计算一下,正好看看自己掌握了多少,这里就不再给出这四个子网的细节。

        第五,二系明确以后,就要考虑其他系的划分,可以看到三系分配到的CIDR地址块是206.0.71.0/25,而四系分配到的CIDR地址块是206.0.71.128/25,可以看出来其网络前缀相对于余2的CIDR地址块来说增加了1位,说明余2的CIDR地址块被划分成了2个子网,其中一个给了三系,另外一个给了四系。那么这两个子网分别是:三系的:206.0.71.0/25 = 206.0.71.0000 0000/25四系的:206.0.71.128/25 = 206.0.71.1000 0000/25,注意其中的红色部分就是新增的这一位,用来标志两个子网。

        那么,三系的
        最小地址是:206.0.71.0/25       = 206.0.0100 0100.0000 0000/25
        最大地址是:206.0.71.127/25   = 206.0.0100 0100.0111 1111/25
        子网掩码是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
        拥有的地址数:(71-71+1)*(127-0+1)=128

       
        四系的
        最小地址是:206.0.71.128/25   = 206.0.0100 0100.1000 0000/25
        最大地址是:206.0.71.255/25   = 206.0.0100 0100.1111 1111/25
        子网掩码是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
        拥有的地址数:(71-71+1)*(255-128+1)=128

        现在,三系和四系的CIDR地址块已经很明确,到目前为止,该高校已经将所有的CIDR地址块分配给了四个系,一系有512个地址,二系有256个地址,三系和四系各有128个地址。然后三系内部又进行了划分,即又分为206.0.71.0/26和206.0.71.64/26两个子网,网络前缀从25位变成了26位,相当于占用了主机号一位,所以可以划分为2个子网,分别对应0、1这两个子网,同时,四系内部也又进行了划分,即又分为206.0.71.128/26和206.0.71.192/26个子网,网络前缀从25位变成了26位,相当于占用了主机号一位,所以可以划分为2个子网,分别对应0、1这两个子网,三系和四系各自的个子网的最小地址、最大地址以及子网掩码和拥有的地址数按照上述的方法就可以得到,这个比较简单,建议大家可以自己手动计算一下,正好看看自己掌握了多少,这里就不再给出这些子网的细节。

        至此,我们已经分析完了本题,上面都是我一位位自己敲上去的,所以大家看完后想要稳固掌握的话建议自己也计算一遍,如果发现我有错误,欢迎大家指正。

        最后,我用一副图来展示下这个划分过程。


    图4 上述例题的图解

    5. 总结


        总之,目前已经广泛使用CIDR表示法,之前的分类方法和子网划分已经很少使用,所以大家要重点掌握CIDR表示法及其子网划分,了解以前的基本分类和划分方法即可。    

        上述内容都是本人一个字一个字敲上去的,那些粗体和红色的标注也是我细心注释的,图4是我按照分析的流程一步步画的,转载请注明出处,欢迎大家指正,谢谢。
    展开全文
  • ML之FE:数据处理—特征工程之特征选择常用方法之基于搜索策略的三种分类、基于评价准则划分的三种分类(Filter/Wrapper/Embedded)及其代码实现 目录 Wrapper包裹式/封装式——基于搜索策略的三类 T1、全局...

    ML之FE:数据处理—特征工程之特征选择常用方法之基于搜索策略的三种分类、基于评价准则划分的三种分类(Filter/Wrapper/Embedded)及其代码实现

     

     

    目录

    Wrapper包裹式/封装式——基于搜索策略的三类

    T1、全局最优搜索

    T2、随机搜索——GA/SA算法

    T3、启发式搜索——前向/后向

    T3.1、前向选择方法—逐步增特征是寻更优

     T3.2、后向选择方法—逐步减某特征寻更优

    基于评价准则划分的三种分类

    T1、Filter—先对特征集进行特征选择再训练学习器—最快

    T1.1、移除低方差的特征RFLV

    T1.2、单变量的特征选择UFS——如卡方检验推断两个特征属性的相关性

    T2、Wrapper包裹式——选择的是“量身定做”的特征子集——比过滤式更好但耗内存

    T2.1、递归式特征消除RFE

    T3、Embedded嵌入式——融为一体,在学习的过程中自动进行特征选择

    T3.1、采用正则化:L1的Lasso,L2的Ridge

    T3.2、采用算法模型:DT(熵/增益信息)、深度学习算法


     

     

     

    Wrapper包裹式/封装式——基于搜索策略的三类

    T1、全局最优搜索

           迄今为止, 唯一得到最优结果的搜索方法是分支定界法. 这种算法能保证在事先确定优化特征子集中特征数目的情况下, 找到相对于所设计的可分性判据而言的最优子集. 它的搜索空间是O(2N) (其中N 为特征的维数)。

           存在的问题是,很难确定优化特征子集的数目; 满足单调性的可分性判据难以设计; 处理高维多类问题时, 算法的时间复杂度较高. 因此, 虽然全局最优搜索策略能得到最优解, 但因为诸多因素限制, 无法被广泛应用。

     

    T2、随机搜索——GA/SA算法

           在计算过程中把特征选择问题与模拟退火算法、禁忌搜索算法、遗传算法等, 或者仅仅是一个随机重采样过程结合起来, 以概率推理和采样过程作为算法的基础,基于对分类估计的有效性, 在算法运行中对每个特征赋予一定的权重; 然后根据用户所定义的或自适应的阈值来对特征重要性进行评价。当特征所对应的权重超出了这个阈值, 它便被选中作为重要的特征来训练分类器。Relief 系列算法即是一种典型的根据权重选择特征的随机搜索方法, 它能有效地去掉无关特征, 但不能去除冗余, 而且只能用于两类分类。

           随机方法可以细分为完全随机方法和概率随机方法两种。虽然搜索空间仍为O(2N), 但是可以通过设置最大迭代次数限制搜索空间小于O(2N)。 例如遗传算法, 由于采用了启发式搜索策略, 它的搜索空间远远小于O(2N)。

           存在的问题是具有较高的不确定性, 只有当总循环次数较大时, 才可能找到较好的结果。在随机搜索策略中, 可能需对一些参数进行设置, 参数选择的合适与否对最终结果的好坏起着很大的作用。因此, 参数选择是一个关键步骤

     

    T3、启发式搜索——前向/后向

            这类特征选择方法主要有: 单独最优特征组合、序列前向选择方法(SFS)、 广义序列前向选择方法(GSFS)、序列后向选择方法(SBS)、 广义序列后向选择方法(GSBS)、增l去r 选择方法、广义增l去r选择方法、浮动搜索方法。这类方法易于实现且快速, 它的搜索空间是O(N2). 一般认为采用浮动广义后向选择方法(FGSBS) 是较为有利于实际应用的一种特征选择搜索策略, 它既考虑到特征之间的统计相关性, 又用浮动方法保证算法运行的快速稳定性.。

           存在的问题是是 启发式搜索策略虽然效率高, 但是它以牺牲全局最优为代价。

     

    T3.1、前向选择方法—逐步增特征是寻更优

    自下而上的选择方法,又称集合增加法。  

     

     T3.2、后向选择方法—逐步减某特征寻更优

    自上而下的选择方法,又称集合缩减法。

     

     

    基于评价准则划分的三种分类

    周志华《机器学习》一书中,将特征选择分为了三种方法

    • 过滤式(filter)
    • 包裹式(wrapper)
    • 嵌入式(embedded)

     

    T1、Filter—先对特征集进行特征选择再训练学习器—最快

           先对特征集进行特征选择,然后再训练学习器。这类方法先对数据机进行特征选择,然后再训练学习器,特征选择的过程与后续学习器无关。
    (1)、评估单个特征结果值之间的相关程度。

    #2、特征工程中的特征选择:常用的三种方法
    #(1)、Filter:评估单个特征和结值果之间的相关程度
    import numpy as np
    from scipy.stats import pearsonr
    
    np.random.seed(0)
    size=300
    x=np.random.normal(0,1,size)
    print('pearsonr:Lower noise', pearsonr(x, x+np.random.normal(0,1,size)))    #加了波动很小的正态分布
    print('pearsonr:Higher noise', pearsonr(x, x+np.random.normal(0,10,size)))  #加了波动很大的正态分布
    
    #Filter型的特征选择:python中常用的包有SelectKBest、SelectPercentile
    # SelectBest 只保留 k 个最高分的特征;
    # SelectPercentile 只保留用户指定百分比的最高得分的特征;
    from sklearn.datasets import load_iris
    from sklearn.feature_selection import SelectKBest
    from sklearn.feature_selection import chi2
    iris = load_iris()
    X, y = iris.data, iris.target
    print(X.shape)
    X_new = SelectKBest(chi2, k=2).fit_transform(X, y) #SelectKBest评价该数据集四个特征与y的相关度,返回Top前k个即前2个
    print(X_new.shape)
    
    

     

    T1.1、移除低方差的特征RFLV

       Removing Features with Low Variance。VarianceThreshold是特征选择的一个简单基本方法,它会移除所有那些方差不满足阈值的特征。默认情况下,它将会移除所有的零方差特征,即那些在所有的样本上的取值均不变的特征。

           例如,假设我们有一个特征是布尔值的数据集,我们想要移除那些在整个数据集中特征值为0或者为1的比例,超过80%的特征。布尔特征是伯努利( Bernoulli )随机变量,变量的方差为Var[X]=p(1−p)

    
    from sklearn.feature_selection import VarianceThreshold
    
    X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
    
    
    #移除那些在整个数据集中特征值为0或者为1的比例超过80%的特征,布尔特征是伯努利随机变量,变量的方差为Var[X]=p(1−p)
    sel = VarianceThreshold(threshold=(0.8 * (1 - 0.8)))   #采用阈值p=0.8
    res=sel.fit_transform(X)    
    print(res)
    
    '''
    结果可知,VarianceThreshold 移除了第一列
    [[0 1]
     [1 0]
     [0 0]
     [1 1]
     [1 0]
     [1 1]]
    '''

     

    T1.2、单变量的特征选择UFS——如卡方检验推断两个特征属性的相关性

       Univariate Feature Selection,单变量的特征选择是通过基于单变量的统计测试,来选择最好的特征。它可以当做是评估器的预处理步骤。Scikit-learn 将特征选择的内容作为实现了 transform 方法的对象。
    卡方检验的原理:经典的卡方检验,是检验定性自变量对定性因变量相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:

            A为实际值, E为理论值,求和值为理论值与实际值的差异程度。基本思想,是根据样本数据,推断总体的分布与期望分布是否有显著性差异,或者推断两个分类变量是否相关或者独立

    '''
    思路:可以使用 χ2(卡方检验)检验样本集来选择最好的两个特征
    SelectKBest       移除那些除了评分最高的 K个特征之外的所有特征
    SelectPercentile  移除除了用户指定的最高得分百分比之外的所有特征
    GenericUnivariateSelect  允许使用可配置方法来进行单变量特征选择。它允许超参数搜索评估器来选择最好的单变量特征。
    '''
    
    from sklearn.datasets import load_iris
    from sklearn.feature_selection import SelectKBest
    from sklearn.feature_selection import chi2
    iris = load_iris()
    X, y = iris.data, iris.target
    print(X.shape)  # (150, 4)
    
    X_new = SelectKBest(chi2, k=2).fit_transform(X, y)
    print(X_new.shape)   #(150, 2)

     

     

     

    T2、Wrapper包裹式——选择的是“量身定做”的特征子集——比过滤式更好但耗内存

           筛选各种特征子集,用模型评估效果。这类方法选择直接把最终将要使用学习器的性能,作为特征子集的评价准则。直接把最终将要使用的学习器的性能,作为特征子集的评价准则,选择的是“量身定做”的特征子集。
    (1)、从最终的学习器性能来看,包裹式特征选择比过滤式特征选择更好。但是,由于在特征选择过程中需多次训练学习期,因此包裹式特征选择的计算开销通常要更大

    案例理解:比如用LoR,怎么采用Wrapper呢?
    ①用全部特征跑一个模型;
    ②根据线性模型的系数(体现相关性),踢掉5~10%的弱特征,观察准确率/auc的变化;
    逐步进行,直至准确率/auc出现大的下滑停止;

    #(2)、Wrapper:筛选各种特征子集,用模型评估效果;常用的python包是
    from sklearn.feature_selection import RFE
    from sklearn.linear_model import LogisticRegression
    
    '''
    递归特征消除法,返回特征选择后的数据
    参数estimator为基模型
    参数n_features_to_select为选择的特征个数
    '''
    RFE(estimator=LogisticRegression(), n_features_to_select=2).fit_transform(iris.data, iris.target)
    
    from sklearn.feature_selection import RFE
    from sklearn.linear_model import LinearRegression
    from sklearn import datasets 
    
    boston = datasets.load_boston()
    X = boston["data"]
    Y = boston["target"]
    names = boston["feature_names"]
    
    #use linear regression as the model
    lr = LinearRegression()
    #rank all features, i.e continue the elimination until the last one
    rfe = RFE(lr, n_features_to_select=1)
    rfe.fit(X,Y)
    
    print("Features sorted by their rank:")
    print(sorted(zip(map(lambda x: round(x, 4), rfe.ranking_), names))) #相关度的排序
    

     

    T2.1、递归式特征消除RFE

          Recursive Feature Elimination Algorithm。给定一个外部的估计器,该估计起对特征赋予一定的权重(比如,线性模型的系数), RFE 通过处理越来越少的特征集合,来递归的选择特征。 
          首先,预测模型在原始特征上训练,每个特征指定一个权重。之后,那些拥有最小绝对值权重的特征被踢出特征集。如此往复递归,直至剩余的特征数量达到所需的特征数量。

    • 首先,评估器在初始的特征集合上面进行训练,并且每一个特征的重要程度,是通过一个诸如sklearn里的 coef_ 属性 或者 feature_importances_ 属性来获得。
    • 其次,从当前的特征集合中,移除最不重要的特征
    • 然后,在特征集合上不断的重复递归这个步骤,直到最终达到所需要的特征数量为止。
    '''
    使用RFE抽取5个最informative的特征
    从最终的学习器性能来看,包裹式特征选择比过滤式特征选择更好。
    但是另一方面,由于在特征选择过程中需多次训练学习期,因此包裹式特征选择的计算开销通常要大得多
    
    '''
    
    from sklearn.datasets import make_friedman1
    from sklearn.feature_selection import RFE
    from sklearn.svm import SVR
    
    X, y = make_friedman1(n_samples=50, n_features=10, random_state=0)
    estimator = SVR(kernel="linear")
    selector = RFE(estimator, 5, step=1)
    selector = selector.fit(X, y)
    print(selector.support_ )
    print(selector.ranking_)
    
    '''
    array([ True,  True,  True,  True,  True, False, False, False, False, False], dtype=bool)
    array([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])
    '''

     

     

    T3、Embedded嵌入式——融为一体,在学习的过程中自动进行特征选择

           前两种方法,是将“子集评价”与“子集选择”分开的,而嵌入法将两者融为一体,在同一个优化过程中完成,在学习训练的过程中,自动进行特征选择
          输入全特征,使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小自动选择特征。模型自己来分析特征的重要性(有别于上面的方式, 是从生产的模型权重等)。

     

     

    T3.1、采用正则化:L1的Lasso,L2的Ridge

    (1)、基于L1的特征选择(稀疏预测模型)案例——Lasso、LoR、LinearSVC

            基于L1的特征选择 (L1-based feature selection):最常见的方式为用正则化方式来做特征选择,正则化对权重具有截断作用即没有相关性直接去掉不用
    (1)、比如最早在电商用LR做CTR预估,在3-5亿维的系数 特征上用Li正则化的LR模型。利余2-3千万的feature,意味着其他的feature重要度不够。
    (2)、比如SelectFromModel是 基于L1的特征选择 (L1-based feature selection)。Linear models 使用 L1 正则化的线性模型会得到稀疏解:他们的许多系数为 0。 当目标是降低使用另一个分类器的数据集的维度, 它们可与 feature_selection.SelectFromModel一起使用来选择非零系数。

    sklearn.feature_selection.SelectFromModel(estimator, threshold=None, prefit=False, norm_order=1)  #SelectFromModel 是一个 meta-transformer(元转换器) ,它可以用来处理任何带有 coef_ 或者 feature_importances_ 属性的训练之后的评估器。 如果相关的coef_ 或者 feature_importances_ 属性值低于预先设置的阈值,这些特征将会被认为不重要并且移除掉。除了指定数值上的阈值之外,还可以通过给定字符串参数来使用内置的启发式方法找到一个合适的阈值。可以使用的启发式方法有 mean 、 median 以及使用浮点数乘以这些(例如,0.1*mean)

    #常用于此目的的稀疏预测模型有 linear_model.Lasso(岭回归), linear_model.LogisticRegression逻辑回归和 svm.LinearSVC(分类)

    '''
    (3)、Embedded嵌入式,比如SelectFromModel是 基于L1的特征选择 (L1-based feature selection)
    #常用于此目的的稀疏预测模型有 linear_model.Lasso(回归), linear_model.LogisticRegression 和 svm.LinearSVC(分类)
    '''
    
    from sklearn.svm import LinearSVC
    from sklearn.datasets import load_iris
    from sklearn.feature_selection import SelectFromModel
    
    iris = load_iris()
    X, y = iris.data, iris.target
    print('iris原始的维数',X.shape)  #得到150, 4
    
    lsvc = LinearSVC(C=0.01, penalty="l1", dual=False).fit(X, y) #像
    model = SelectFromModel(lsvc, prefit=True)
    X_new = model.transform(X)
    print('iris经过特征选择--SelectFromModel--后的维数',X_new.shape) 
    #得到150, 3;经过特征选择的Embedded的基于L1的特征选择方法,降为三维,

     

    T3.2、采用算法模型:DT(熵/增益信息)、深度学习算法

    (1)、基于树模型的特征选择案例——RF

          基于树的特征选择 (Tree-based feature selection)。基于树的 estimators 也可以用来计算特征的重要性,然后可以消除不相关的特征(当与 sklearn.feature_selection.SelectFromModel 等元转换器一同使用时)

    from sklearn.ensemble import RandomForestClassifier
    feat_labels = df_wine.columns[1:]
    forest = RandomForestClassifier(n_estimators=500,
                                    random_state=1)
    forest.fit(X_train, y_train)
    importances = forest.feature_importances_
    indices = np.argsort(importances)[::-1]
    for f in range(X_train.shape[1]):
        print("%2d) %-*s %f" % (f + 1, 30, 
                                feat_labels[indices[f]], 
                                importances[indices[f]]))

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 常用分类聚类算法

    千次阅读 2017-12-11 09:15:50
    什么是分类 分类任务就是明确对象属于哪个预定义的目标类。其中预定义的目标类是离散时为...(参考常用分类算法总结) 决策树 基于规则的分类算法 朴素贝叶斯 杂货铺 最近邻分类器 贝叶斯信念网络(BBN)

    什么是分类

    分类任务就是明确对象属于哪个预定义的目标类。其中预定义的目标类是离散时为分类,连续时为回归。

    有哪些分类方法

    常用的分类算法有决策树,基于规则的分类算法,神经网络,支持向量机和朴素贝叶斯分类法等。(参考常用分类算法总结

    • 决策树

    • 基于规则的分类算法

    • 朴素贝叶斯 杂货铺

    • 最近邻分类器

    • 贝叶斯信念网络(BBN)

    • 人工神经网络

    • 支持向量机的特征(SVM)

    什么是聚类

    聚类就是按照某个特定标准(如距离准则,即数据点之间的距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。

    有哪些聚类

    • 基于划分聚类算法(partition clustering)

    k-means: 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据 
    k-modes: K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度 
    k-prototypes: 结合了K-Means和K-Modes两种算法,能够处理混合型数据 
    k-medoids: 在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法 
    CLARA: CLARA算法在PAM的基础上采用了抽样技术,能够处理大规模数据 
    CLARANS: CLARANS算法融合了PAM和CLARA两者的优点,是第一个用于空间数据库的聚类算法 
    Focused CLARAN: 采用了空间索引技术提高了CLARANS算法的效率 
    PCM: 模糊集合理论引入聚类分析中并提出了PCM模糊聚类算法

    • 基于层次聚类算法

    CURE: 采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类 
    ROCK: 也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响 
    CHEMALOEN(变色龙算法): 首先由数据集构造成一个K-最近邻图Gk ,再通过一个图的划分算法将图Gk 划分成大量的子图,每个子图代表一个初始子簇,最后用一个凝聚的层次聚类算法反复合并子簇,找到真正的结果簇 
    SBAC: SBAC算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较高的权值 
    BIRCH: BIRCH算法利用树结构对数据集进行处理,叶结点存储一个聚类,用中心和半径表示,顺序处理每一个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程 
    BUBBLE: BUBBLE算法则把BIRCH算法的中心和半径概念推广到普通的距离空间 
    BUBBLE-FM: BUBBLE-FM算法通过减少距离的计算次数,提高了BUBBLE算法的效率

    • 基于密度聚类算法

    DBSCAN: DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇 
    GDBSCAN: 算法通过泛化DBSCAN算法中邻域的概念,以适应空间对象的特点 
    DBLASD:  
    OPTICS: OPTICS算法结合了聚类的自动性和交互性,先生成聚类的次序,可以对不同的聚类设置不同的参数,来得到用户满意的结果 
    FDC: FDC算法通过构造k-d tree把整个数据空间划分成若干个矩形空间,当空间维数较少时可以大大提高DBSCAN的效率

    • 基于网格的聚类算法

    STING: 利用网格单元保存数据统计信息,从而实现多分辨率的聚类 
    WaveCluster: 在聚类分析中引入了小波变换的原理,主要应用于信号处理领域。(备注:小波算法在信号处理,图形图像,加密解密等领域有重要应用,是一种比较高深和牛逼的东西) 
    CLIQUE: 是一种结合了网格和密度的聚类算法 
    OPTIGRID: 

    • 基于神经网络的聚类算法

    自组织神经网络SOM: 该方法的基本思想是–由外界输入不同的样本到人工的自组织映射网络中,一开始时,输入样本引起输出兴奋细胞的位置各不相同,但自组织后会形成一些细胞群,它们分别代表了输入样本,反映了输入样本的特征

    • 基于统计学的聚类算法

    COBWeb: COBWeb是一个通用的概念聚类方法,它用分类树的形式表现层次聚类 
    CLASSIT: 
    EM期望最大值算法,是在概率(probabilistic)模型中寻找参数最大似然估计的算法

    AutoClass: 是以概率混合模型为基础,利用属性的概率分布来描述聚类,该方法能够处理混合型的数据,但要求各属性相互独立

    参考

    http://blog.chinaunix.net/uid-10289334-id-3758310.html 
    http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html 
    http://blog.csdn.net/shouwangcc/article/details/48101761

    展开全文
  • 常用分类算法总结

    万次阅读 2015-08-30 09:13:56
    分类任务就是明确对象属于哪个预定义的目标类。...常用分类算法决策树分类法,基于规则的分类算法,神经网络,支持向量机和朴素贝叶斯分类法。 下面主要介绍各个算法的应用场景和一些优缺点 (1)决策树
  • 常用分类&聚类方法

    千次阅读 2017-09-08 10:03:42
    (参考常用分类算法总结) 决策树 基于规则的分类算法 朴素贝叶斯 杂货铺 最近邻分类器 贝叶斯信念网络(BBN) 人工神经网络 支持向量机的特征(SVM) 什么是聚类聚类就是按照某个特定标准(如距离准
  • ip地址的分类以及子网的划分

    万次阅读 2016-01-02 17:44:35
    给一个IP地址,如何划分为几个子网? 1、 基本知识介绍 1.1网络中的每一个主机或路由器至少一个IP地址; 在Internet中不允许两个设备具有同样的IP地址; 1.2IP地址采用分层结构; IP地址是由网络号...
  • 文章目录深度学习-07(PaddlePaddle图像分类)图像分类概述概述什么是图像分类图像分类粒度图像分类发展历程图像分类问题的挑战常用数据集介绍MNIST数据集CIFAR10数据集ImageNet数据集FDDB人脸数据集WIDER Face数据集...
  • 常用分类与预测算法

    万次阅读 2018-12-11 11:37:27
    自顶向下的递归方式,在内部节点进行属性值的比较,并根据不同的属性值从该节点下分支,最终得到的叶节点是学习划分的类 人工神经网络 输入与输出之间关系的模型 贝叶斯网络 不确定知识表达和推理领域最...
  • 常用神经网络的分类

    万次阅读 多人点赞 2018-03-05 16:05:19
    本文主要介绍了当前常用的神经网络,这些神经网络主要哪些用途,以及各种神经网络的优点和局限性。 1 BP神经网络 BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层...
  • 机器学习的常见分类常用算法

    千次阅读 2019-06-01 23:54:40
    目录 1. 机器学习的概述 2. 机器学习系统的特点 3.机器学习常见分类 ...专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已的知识结构使之不断改善自身的性能。...
  • R语言常用分类

    千次阅读 2018-01-03 16:09:27
    R语言常用函数包
  • MySQL语句分类(详细划分)

    千次阅读 2018-04-26 17:20:29
    Sql语句的分类详细总结一、 数据定义语言DDL(Data Ddefinition Language)SQL数据定义语言主要用来定义逻辑结构,包括定义基表,视图和索引。1、 定义定义表Create table&lt;表名&gt; (&lt;列名字&...
  • 分类算法常用的评价指标

    千次阅读 2019-06-18 16:23:27
    针对一个二分类问题,即将实例分成正类(positive)或负类(negative),在实际分类中会出现以下四种情况: (1)若一个实例是正类,并且被预测为正类,即为真正类(True Positive TP) (2)若一个实例是正类,但是...
  • 就比如关于网络划分的题,还有子网掩码的概念。) IP地址的概念: 整个互联网是一个单一的,抽象的网络。IP地址就是给互联网中的每一个主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位的标识符。 ...
  • R语言常用分类总结

    万次阅读 2016-05-10 19:46:34
    对R语言的常用包,金融包,可视化包,数据挖掘相关包进行分类整理。
  • 1、获取训练文档集合。训练文档的好坏对分了结果至关重要。一般是公认的,经过人工分类的库。...KNN,SVM是文本分类常用分类模型。当然,也可以选择bayes、回归模型等。 5、性能评估,参数调优。...
  • Linux-常用命令分类并举例

    千次阅读 2020-02-18 15:33:38
    故想学习并总结下Linux的常用命令。在正式介绍Linux命令之前,先介绍一些基本的概念。 计算机硬件=运算器+控制器+存储器+输入/输出设备 系统内核负责完成对硬件资源的分配、调度等管理任务 用户不直接接触硬件,也...
  • 数据集划分的三种常见方式

    千次阅读 2021-01-15 08:18:00
    公众号后台回复“图书“,了解更多号主新书内容作者:xiaoyi来源:小一的学习笔记今天分享一个比较简单的问题:数据集划分的三种方法。数据集划分算是在数据分析建模中比较重要的,模型的好坏不...
  • – 定义:训练是提供学习系统训练样本即样本对应标签,也城导师学习 – 最终目标:根据学习过程获得经验技能,对没学习过的问题也可作出正确解答,使计算机获得这种泛化能力 – 典型监督学习方法:决策树,支持...
  • 常用分类算法在不同样本下的选择

    千次阅读 2018-07-16 16:45:29
  • C++ 11 STL中常用容器分类和对比

    千次阅读 2018-06-23 19:53:29
    STL容器分类1,顺序容器 sequence containersarrayvectordequelistforward-list 2,关联容器 associative containerssetmultisetmapmultimap3,无序容器 unordered containers (非标准,也可以划分到关联容器)...
  • 分类算法中常用的评价指标

    千次阅读 2017-02-28 20:52:57
    转自: 分类算法中常用的评价指标 来自网络,备份勿忘! 对于分类器(分类算法),评价指标主要:1)Precision;2)Recall;3)F-score;4)Accuracy;5)ROC;6)AUC 1.首先,介绍混淆矩阵的概念。 ...
  • ML之FE:特征工程中常用的五大数据集划分方法(留1法/留p法、随机划分法、K折交叉验证法、自定义分割法、特殊类型数据分割法、自助采样法)讲解及其代码 导读:将整个数据集D划分为三个互斥的集合{训练集、验证集...
  • 根据不同感光芯片划分 我们知道感光芯片是摄像机的核心部件,目前摄像机常用的感光芯片CCD和CMOS两种: 1.CCD摄像机,CCD称为电荷耦合器件,CCD实际上只是一个把从图像半导体中出来的电子组织地储存起来的...
  • 机器学习分类算法常用评价指标

    千次阅读 2018-10-16 17:42:31
    目录 1. 准确率,召回率,精确率,F1-...3. Python3 sklearn实现分类评价指标 1. 准确率,召回率,精确率,F1-score,Fβ,ROC曲线,AUC值 为了评价模型以及在不同研究者之间进行性能比较,需要统一的评价标准。...
  • 对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(ture positive)、假正例(false positive)、真反例(ture negative)、假反例(false negative)四种情形,分别用 T P TP T P 、 F P...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,740
精华内容 37,896
关键字:

常用的分类划分方式有