精华内容
下载资源
问答
  • 子网掩码概念及子网划分规则

    千次阅读 2012-01-03 09:56:12
    子网掩码概念及子网划分规则 一、子网掩码概述  1.子网掩码的概念  子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识主机标识,并说明该IP地址是在局域网上,还是在远程网上。 ...
    子网掩码概念及子网划分规则

    一、子网掩码概述

      1.子网掩码的概念
      子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
      
      2.确定子网掩码数
      用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。
      
      定义子网掩码的步骤为:
      
      A、确定哪些组地址归我们使用。比如我们申请到的网络号为 “210.73.a.b”,该网络地址为c类IP地址,网络标识为“210.73”,主机标识为“a.b”。
      
      B、根据我们现在所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。比如我们现在需要12个子网,将来可能需要16个。用第三个字节的前四位确定子网掩码。前四位都置为“1”,即第三个字节为“11110000”,这个数我们暂且称作新的二进制子网掩码。
      
      C、把对应初始网络的各个位都置为“1”,即前两个字节都置为“1”,第四个字节都置为“0”,则子网掩码的间断二进制形式为:“11111111.11111111.11110000.00000000”
      
      D、把这个数转化为间断十进制形式为:“255.255.240.0”
      
      这个数为该网络的子网掩码。
      
      3.IP掩码的标注
      A、无子网的标注法
      
      对无子网的IP地址,可写成主机号为0的掩码。如IP地址210.73.140.5,掩码为255.255.255.0,也可以缺省掩码,只写IP地址。
      
      B、有子网的标注法
      
      有子网时,一定要二者配对出现。以C类地址为例。
      
      1.IP地址中的前3个字节表示网络号,后一个字节既表明子网号,又说明主机号,还说明两个IP地址是否属于一个网段。如果属于同一网络区间,这两个地址间的信息交换就不通过路由器。如果不属同一网络区间,也就是子网号不同,两个地址的信息交换就要通过路由器进行。例如:对于IP地址为210.73.140.5的主机来说,其主机标识为00000101,对于IP地址为210.73.140.16的主机来说它的主机标识为00010000,以上两个主机标识的前面三位全是000,说明这两个IP地址在同一个网络区域中,这两台主机在交换信息时不需要通过路由器进行10.73.60.1的主机标识为00000001,210.73.60.252的主机标识为11111100,这两个主机标识的前面三位000与011不同,说明二者在不同的网络区域,要交换信息需要通过路由器。其子网上主机号各为1和252。
      
      2.掩码的功用是说明有子网和有几个子网,但子网数只能表示为一个范围,不能确切讲具体几个子网,掩码不说明具体子网号,有子网的掩码格式(对C类地址)。

    二、子网掩码的用处之一

      便于网络设备尽快地区分本网段地址和非本网段的地址。
     
      主机A与主机B交互信息。
      
      主机A: IP地址:202.183.58.11
      
          子网掩码:255.255.255.0
      
          路由地址:202.183.58.1
      
      主机B: IP地址:202.183.56.5
      
          子网掩码:255.255.255.0
      
          路由地址:202.183.56.1
      
      路由器从端口202.183.58.1接收到主机A发往主机B的IP数据报文后,
      
      (1)首先用端口地址202.183.58.1与子网掩码地址255.255.255.0进行“逻辑与”,得到端口网段地址:202.183.58.0,
      
      (2)然后将目的地址202.183.56.5与子网掩码地址255.255.255.0进行“逻辑与”,得202.183.56.0,
      
      (3)将结果202.183.56.0与端口网段地址202.183.58.0比较,如果相同,则认为是本网段的,不予转发。如果不相同,则将该IP报文转发到端口202.183.56.1所对应的网段。

    三、子网掩码的用处之二

         将子网进一步划分,缩小子网地址空间。将一个网段划分多个子网段,便于网络管理。

      学校校园网信息中心可以将202.183.56.0(C类地址)分配给两个系,每个系约有120

         台计算机,则可以将子网掩码地址定义为:255.255.255.128
      
      这样将原来的一个网段分成两个独立的子网段,便于网络管理。
       
      系1的地址范围:202.183.56.1—202.183.56.126
      
      子网地址:11001010 10110111 00111000 0xxxxxxx
      
      系2的地址范围:202.183.56.129—202.183.56.254
      
      子网地址:11001010 10110111 00111000 1xxxxxxx


    四、子网掩码的算法 

          (一)、利用子网数来计算
      在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
      1)将子网数目转化为二进制来表示
      2)取得该二进制的位数,为 N
      3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。
      如欲将B类IP地址168.195.0.0划分成27个子网:
      1)27=11011
      2)该二进制为五位数,N = 5
      3)将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0
      即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。
      (二)、利用主机数来计算
      1)将主机数目转化为二进制来表示
      2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
      3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
      如欲将B(c)类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台(17):
      1) 700=1010111100
      2)该二进制为十位数,N = 10(1001)
      3)将该B类地址的子网掩码255.255.0.0的主机地址全部置 1,得到255.255.255.255
      然后再从后向前将后 10位置0,即为: 11111111.11111111.11111100.00000000
      即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。 

    五、子网的计算 

      在思科网络技术学院CCNA教学和考试当中,不少同学在进行IP地址规划时总是很头疼子网和掩码的计算。现在给大家一个小窍门,可以顺利解决这个问题。
      
      首先,我们看一个CCNA考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。
      
      常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159。

      CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
      
      10+1+1+1=13
      
      注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16(16等于2的4次方),所以主机位为4位。而
      
      256-16=240
      
      所以该子网掩码为255.255.255.240。
      
      如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:
      
      14+1+1+1=17
      
      17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。

    六、子网掩码及其应用 (综合)

      在TCP/IP协议中,SUBNET MASKS(子网掩码)的作用是用来区分网络上的主机是否在同一网络取段内。在大型网络中,CLASS A的SUBNET MASKS为255.0.0.0, CLASS B的SUBNET MASKS为255.255.0.0,CLASS C的SUBNET MASKS为255.255.255.0。
      
        假如某台主机的SUBNET MASKS为IP地址为202.119.115.78,它的SUBNET MASKS为255.255.255.0。将这两个数据作AND运算后,所得出的值中的非0的BYTE部分即为NETWORK ID 。运算步骤如下:
      
        202.119.115.78的二进制值为:
        11001010.01110111.01110011.01001110
        255.255.255.0的二进制值为:
        11111111.11111111.11111111.00000000
        AND后的结果为:  
        11001010.01110111.01110011.00000000
        转为二进制后即为:
        202.119.115.0
      
        它就是NETWORK ID,在IP地址中剩下的即为HOST ID,即为78,这样当有另一台主机  的IP 地址为202.119.115.83,它的SUBNET MASKS也是255.255.255.0,则其NETWORK ID  为202.119.115,HOST ID为83,因为这两台主机的NETWORK ID都是202.119.115,因此,这两台主机在同一网段内。
      
        但是,在实际应用中,可能会有多个分布与各地的网络,而且,每个网络的主机数量并不很多,如果申请多个NETWORK ID,会造成IP资源的浪费,而且很不经济,如果我们在SUBNET MASKS上动一下手脚,可以在只申请一个NETWORK ID的基础上解决这个问题。
      
        比如,我们有三个不同的子网,每个网络的HOST数量各为20、25和50,下面依次称为甲、乙和丙网,但只申请了一个NETWORK ID 就是202.119.115。首先我们把甲和乙网的SUBNET MASKS改为255.255.255.224,224的二进制为11100000,即它的SUBNET MASKS为:
      
        11111111.11111111.11111111.11100000
      
        这样,我们把HOST ID的高三位用来分割子网,这三位共有000、001、010、011、100、 101、110、111八种组合,除去000(代表本身)和111(代表广播),还有六个组合,也就是可提供六个子网,它们的IP地址分别为:(前三个字节还是202.119.115)
      
      
        00100001~00111110 即33~62为第一个子网
        01000001~01011110 即65~94为第二个子网
        01100001~01111110 即97~126为第三个子网  
        10000001~10011110 即129~158为第四个子网  
        10100001~10111110 即161~190为第五个子网  
        11000001~11011110 即193~222为第六个子网
        选用161~190段给甲网,193~222段给乙网,因为各个子网都支持30台主机,足以应付甲网和乙网20台和25台的需求。
      
        再来看丙网,由于丙网有50台主机,按上述分割方法无法满足它的IP需求,我们 可以将它的SUBNET MASKS设为255.255.255.192, 由于192的二进制值为11000000,按上述方法,它可以划分为两个子网,IP地址为:
      
        01000001~01111110 即65~126为第一个子网  
        10000001~10111110 即129~190为第二个子网
      
        这样每个子网有62个IP可用,将65~126分配丙网,多个子网用一个NETWORK ID 即告实现。
      
      
        如果将子网掩码设置过大,也就是说子网范围扩大。那么根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的相与结果而认为是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃。数据不能正确到达目的机,导致网络传输错误。如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,任意设置子网掩码是不对的,应该根据网络管理部门的规定进行设置。
      
        随着IP地址资源的日趋枯竭,可供分配的IP地址越来越少,往往一个拥 有几百台计算机规模的网络只能得到区区几个IP地址,于是,许多人开始采用其他技术来扩展IP空间。
      
        1.子网掩码设置
      
        如果你所分配的IP地址仅能满足对主机的需求,但远不能满足你欲在局 域网中再建若干子网的需要,设置子网掩码就是你不得不采取的措施了。
      
        子网掩码同样也以四个字节来表示,用来区分IP地址的网络号和主机号, 默认子网掩码如下表所示:
      
        子网掩码(以十进制表示)
        A类 255.0.0.0
        B类 255.255.0.0
        C类 255.255.255.0
      
        当IP地址与子网掩码相与时,非零部分即被确认为网络号。
      
        假如我们将子网掩码中第四字节最高位起的某些位由0修改成1,使本来应当属于主机号的 部分改变成为网络号,这样就实现了我们划分子网的目的。例如你得到了一个C类网络地址198.189.98,按常规,你所有的设备从198.189.98.0到198.189.98.254都将处于同一网络之中,但如果你需要将自己 的网络划分成5个子网以便管理,那就必须修改子网掩码255.255.255.0,将此 掩码的第四个字节中的前三位再拿出来充当子网掩码,即将第四字节的00000000 修改成11100000(十进制数为224),故应当将子网掩码设置为255.255.255.224。这样我们有001、010、011、100、101、110六种方式与之相与得到不同的网络号(除去000和111作为保留地址不能使用),各子网的前三个字节仍然是198.189.98。可以知道:如子网掩码的位数越多,能划分的子网数也就越多,但 是每个子网的主机数就会越少。子网掩码的划分设置也有一个缺点:划分的子网越多,损失的IP地址也会越多。因为每个子网都会保留全0或全1的两个地址而不能使用。
      
        2.动态IP地址设置
      
        DHCP(DynamicHostConfigurationProtocol)动态主机配置协议是一种 多个工作站共享IP地址的方法。当我们分配到的IP地址数目远小于一个网络工作站的数目时,如果为每个设备都分配一个固定的IP地址,则显然有一部分计 算机将不能连入网络。DHCP为我们提供了一个较好的解决方法,其前提条件是其中每一个设备都不是随时都需要连接入网,并且同一时刻上网的设备不会很多。动态IP地址,顾名思义就是每一个设备所取得的IP地址是非固定的,即计算机连入网络时自动申请取得一个合法的IP地址,断开网络时自动归还,以便其他计算机使用。这样,我们可以用较少的IP地址构建较大的网络,也可以 增加网络工作站的可移性,如果一台主机从一个子网移动到另一个子网时,由于网络号的不同将修改该计算机的IP地址,否则无法与其他主机通信,而如果我 们采用动态IP地址,就会减少网络管理的复杂性。现在DHCP已非常流行,所支持的软件很多,且可以运行于不同机器和平台。目前拨号上Internet的用户就基本上采用这种方法。
      
        3.非路由地址
      
        在IP地址范围内,IANA(InternetAssignedNumbersAuthority)将一部 分地址保留作为私人IP地址空间,专门用于内部局域网使用,这些地址如下表:
        类 IP地址范围             网络数
        A 10.0.0.0---10.255.255.255     1
        B 172.16.0.0---172.31.255.255    16
        C 192.168.0.0---192.168.255.255   255
      
        这些地址是不会被Internet分配的,因此它们在Internet上也从来不会被路由,虽然它们不能直接和Internet网连接,但仍旧可以被用来和Internet通讯,我们可以根据需要来选用适当的地址类,在内部局域网中大胆地将这些地址当作公用IP地址一样地使用。在Internet上,那些不需要与Internet通讯的设备,如打印机、可管理集线器等也可以使用这些地址,以节省IP地址资源。
      
        4.代理服务器
      
        代理服务器其实是Internet上的一台主机设备,它有一个固定的IP地址,当你需要上Internet时,就向该服务器提出请求,代理服务器接受请求并为你 建立连接,然后将你所需要的服务返回信息通知你,所有的数据信息和通讯处理 都是通过代理服务器的IP地址来完成。这种情况下,我们局域网内部的主机就应使用非路由地址,这样,即能保证内部主机之间的通讯,又能拒绝外来网络的 直接访问请求。
      

    展开全文
  • 初始化终止错误 测试步骤 为什么要设计测试用例 良好的测试用例可以缩短实施测试时间 确保测试的系统性、全面性 提高测试的可复用性 黑盒测试用例设计方法 等价类划分法 把...

    黑盒测试

    不考虑程序内部的结构与特性,只根据程序功能或程序的外部特性设计测试用例。
    最常见的是:边界值 等价类 错误推测法 场景法 因果图法 判定表组成法 正交实验设计

    黑盒测试主要发现的错误

    • 功能不正确或遗漏
    • 界面错误
    • 数据库访问错误
    • 性能错误
    • 初始化和终止错误

    测试步骤
    测试步骤

    为什么要设计测试用例

    • 良好的测试用例可以缩短实施测试时间
    • 确保测试的系统性、全面性
    • 提高测试的可复用性

    黑盒测试用例设计方法

    等价类划分法

    把程序的所有可能的输入数据划分为若干个子集,每一子集代表性数据在测试中的作用等价于这一子集的其他值,每一个子集就是一个等价类。
    等价类需要考虑有效等价类和无效等价类

    等价类划分法设计步骤

    1. 划分等价类
    2. 确定测试用例

    : 举例一:成绩等级
    等价类划分举例一
    输入不同的成绩会得出不同的成绩等级,通过需求可知,程序的所有可能输入数据可划分为4个子集,每一个子集就是一个等价类。我们通过选择每个等价类中的一个数据来代表该等价类的所有数据,若代表数据可输出预期结果,则该等价类测试通过,反之则该等价类测试不通过。
    有效等价类:0—100
    无效等价类:小于0、大于100、空数据、字符串

    以下是举例一等价类划分结果:
    举例一等价类划分结果

    举例二:Windows文件命名规则

    等价类划分举例二

    有效等价类:文件名不包含\ / : * ? " <> | 字符的的、文件名长度在1-255个字符之间的
    无效等价类:文件名包含\ / : * ? " <> | 字符的的、文件名长度小于1(即为空字符)的、文件名字符长度大于255个的

    以下是举例二等价类划分结果:
    举例二等价类划分结果

    举例三:判断三角形类别
    等价类划分举例三
    举例三等价类划分分析:
    以下是举例三等价类划分结果:
    举例三等价类划分结果(测试用例)

    边界值法

    长期测试经验表明:大量错误发生在输入或输出范围的边界上,而不是发生在输入输出范围内部。因此,对各种边界设计测试用例,能取得良好的效果。

    举例一:成绩等级判定

    在使用等价类划分法对等价类进行测试后,还要将边界值也设计到测试用例中,尽可能使测试全面。下面我们队上述的例子一的测试用例通过加入边界值法进行完善。
    以下是完善后的测试用例:

    边界值法

    判定表驱动法

    • 判定表是分析和表达较为复杂逻辑条件下软件状态和行为的有效工具。
    • 用它可以设计出完整的测试用例集合,将复杂问题的各种可能情况列出,使测试内容变得简单明了二避免遗漏。
      判定表

    判定表设计步骤:

    1. 确定规则数,条件数为n,规则个数=2n2^n2n
    2. 列出所有条件桩和动作桩
    3. 填入条件项
    4. 填入动作项
    5. 简化判定表,合并相似规则

    举例一
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    举例二
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 定义可以分为实质定义词语定义。 实质定义揭示概念所反映对象的固有属性或本质属性。其基本方法是: 被定义概念=属概念 + 种差;即先概括(找属概念)后限制(找种差)。 实质定义又可以分为: 性质定义:...

    概念的定义

    概念的定义:用精炼的语句将概念的内涵提示出来 , 即揭示概念所反映对象的特有属性或本质属性。

    定义可以分为实质定义和词语定义。

    实质定义揭示概念所反映对象的固有属性或本质属性。其基本方法是:

    被定义概念=属概念 + 种差;即先概括(找属概念)后限制(找种差)。

    实质定义又可以分为:

    性质定义:揭示概念所反映的对象的性质的定义。

    发生定义:揭示概念所反映的对象的产生或形成过程。

    功用定义:揭示概念所反映的对象的功能或作用的定义。

    关系定义:揭示概念所反映的对象与其他对象的关系的定义。

     

    语词定义揭示(说明或规定)语词的意义,只是类似于定义。包括:

    说明的语词定义:对已经确定的意义加以说明。如: 耄耋之年 表示八九十岁年纪。

    规定的语词定义:对尚不确定的意义进行规定。如: 四个现代化 一国两制

     

    定义的规则:

    定义项与被定义项的外延应是全同的。违反这条规则会导致 定义过宽 定义过窄

    定义项中不能直接或间接地包括被定义项。否则就会犯 同语反复 循环定义 的逻辑错误。

    定义项中不得包括含混的语词,不得用比喻。违反这条规则会犯 定义含混 以比喻代定义 的错误。

    定义一般不能否定。违反这条规则会犯 否定定义 的错误。

    概念的划分

    划分:指以对象一定属性作标准,将一个属概念的外延分成若干种概念以明确其外延的逻辑方法。划分是由母项、子项和根据三个部分构成。

           划分标准 是指划分所依据的对象的某个或某些属性

    划分与分解的区别:划分是把一个属概念分为若干个种概念,分解是把一个具体的事物肢解成许多构成部分。

     

           根据划分的层次可以分为一次划分(一层)和连续划分(多层)。

           按划分的子项的数目不同可以分为二分法划分和多分法划分。

           按照依据的属性是否为对象的本质属性可以分为科学划分和一般划分。

    划分应当遵守下列规则:

    划分必须是相应相称的。违反这条规则所犯的逻辑错误,或是 划分不全 ,或是 多出子项

    划分出的子项必须互相排斥,否则会犯 子项相容 的逻辑错误。

    每次划分必须按同一标准进行。违反这条规则会犯 标准不一 的逻辑错误。

    划分应当按层次逐级进行。违反这条规则会犯 层次不清 越级划分 的逻辑错误。

    概念的限制与概括

    概念的内涵和外延具有反变关系:外延愈大则内涵愈少;外延愈少则内涵俞多。

           概念的限制是指通过增加概念内涵而缩小其外延。限制是由属概念向其种概念的过渡。单独概念是限制的极限。

    概念的概括是指通过减少概念的内涵扩大其外延。概括是由种概念向属概念过渡。哲学范畴是概括的极限

           工人 可概括成 ,可以限制为 纺织工人

    展开全文
  • 因此,尽管规则{打篮球}——>{吃麦片}有着较高的置信度,缺是一个误导,因为打篮球反而会抑制早餐吃麦片,麦片销售商根据关联规则{打篮球}——>{吃麦片}去赞助篮球比赛可能是一个错误的商业行为 相关性分析...

    =====================================================================

      《机器学习实战》系列博客是博主阅读《机器学习实战》这本书的笔记也包含一些其他python实现的机器学习算法

        github 源码同步:https://github.com/Thinkgamer/Machine-Learning-With-Python

        算法实现均采用python              如需转载请注明出处,谢谢

    =====================================================================


    在上一篇博客中《使用Apriori算法和FP-growth算法进行关联分析(Python版)》详细介绍说明了关联规则中的Apriori算法和FP-growth算法的原理和代码实现,这一篇博客中我们来说一下非二元属性的关联规则挖掘和关联规则的评价

    一:非二元属性的关联规则挖掘

    在上一篇博客中讨论的关联规则算法是针对购物篮数据,其特点是数据的属性都是二元属性,现实数据集中往往有些属性值是标称或者连续的,无法直接利用上述算法挖掘相关规则,
    例如:
    笔记本销售数据集
    TID 年龄
    文化程度
    是否购买笔记本
    100 49
    研究生
    200 29
    研究生
    300 35
    研究生
    400 26
    本科
    500 31
    研究生
    对于数据集中年龄和文化程度的非二元属性可以利用数据预处理的方法,将他们转化成二元属性,再应用针对购物篮数据的相关规则挖掘算法
    有n个离散取值的标称属性可以转化为n个二元属性,例如针对上图,标称属性文化程度有高中,大学,研究生三个取值,可以转换为文化程度=高中,文化程度=大学,文化程度=研究生三个二元属性,连续属性先进行离散化处理,例如将年龄端分为0-20,20-40,40以上,转换后数据如下图示:

    TID 年龄0-20
    年龄20-40
    年龄40以上
    文化程度-高中
    文化程度-大学
    文化程度-研究生
    是否购买
    100




    200





    300





    400




    500




    如果设定支持度阀值为70%,置信度阀值为80%,利用之前关联规则挖掘算法,可以得到的关联规则{年龄在21-40}——>{购买笔记本},{文化程度为研究生}——>{购买笔记本}
    注意事项:
    (1):标称属性值过多。比如文化程度细化分为,小学,初中,高中,大学,研究生,博士,这样计算下来由于没有满足支持度阀值的频繁项集,因此无法发现任何关联规则,所以对于有较多可能取值的标称属性,最好利用概念分层将多个标称值聚合为一个二元属性
    (2):连续属性离散区间划分太窄或者太宽。区间划分太窄会不满足支持度,而无法发现关联规则。

    二:关联规则的评价

    在海量数据的商业数据集中进行关联规则的挖掘,往往会产生成百上千的关联规则,而其中大部分的关联规则是没有用的。如何筛选这些模式,以识别最有趣的模式是比较复杂的任务,因为一个人的垃圾可能是另一个人的财富,因此建立一套广泛接受的评价关联规则的标准是非常重要的。
    第一组理论可以通过统计论据建立,即客观兴趣度度量:涉及相互独立的项或覆盖少量事务的模式被认为是不令人感兴趣的,因为他们可能反应数据中的伪关系。这些模式可以使用客观兴趣度度量来排除,客观兴趣度度量使用从数据推导出的统计量来确定模式是否是有趣的。客观兴趣度度量包括支持度,置信度,和相关性
    第二组标准是可以通过主观论据建立,即主观兴趣度度量:一个模式被主观的认为是无趣的,除非他能解释料想不到的信息或者提供导致有意行动的信息。例如:规则{黄油}——>{面包}可能不是有趣的,尽管有很高的支持度和置信度,但是他表面的关系显而易见。另一方面,规则{Diaper}——>{Beer}是有趣的,因为这种联系十分出乎意料,并且可能为零售商提供新的交叉销售的机会。将主观知识加入到模式评价中是一项困难的任务,因为需求来自领域专家的大量先验信息

    下面我们来看兴趣度的客观度量,包括支持度,置信度,相关性的意义和局限性

    支持度和置信度 

    项集支持度:一个项集出现的次数与数据集所有事物数的百分比称为项集的支持度

    eg:support(A->B)=support_count(A并B) / N

    项集置信度(confidence):数据集中同时包含A,B的百分比

    eg:confidence(A->B) = support_count(A并B) / support_count(A)


    例1:早餐麦片的销售商调查在校的5000名学生早晨进行的活动,调查数据以相依表的形式实现如下表,设定支持度为40%,置信度60%,针对表中的数据进行关联分析


    打篮球 不打篮球
    吃麦片 2000 1750 3750
    不吃麦片 1000
    250
    1250

    3000
    2000
    5000
    关联规则{打篮球}——>{吃麦片}的支持度为 2000/5000 = 040%,,置信度为2000/3000=67%,这条规则是强关联规则,表明通常打篮球的同学通常也吃麦片,但是所有学生中吃麦片比例为75%,要大于67%,这说明一个学生如果打篮球,那么他吃麦片的可能性就从75%降到了67&。而且{不打篮球}——>{吃麦片}的可能性为1750/2000=87.5%。因此,尽管规则{打篮球}——>{吃麦片}有着较高的置信度,缺是一个误导,因为打篮球反而会抑制早餐吃麦片,麦片销售商根据关联规则{打篮球}——>{吃麦片}去赞助篮球比赛可能是一个错误的商业行为

    相关性分析 


    从上面可以看出支持度和置信度有一定的局限性,无法过滤掉一些无用的关联规则,因此可以在支持度和置信度的基础上增加相关性的度量,相关性度量可以采用提升度、相关系数、余弦度量等方法

    提升度(lift)是一种简单的相关度量。对于项集A,B,若P(A 并 B) = P(A)*P(B),则A,B是相互独立的,否则存在某种依赖关系,关联规则的前件项集A和后件项集B之间的依赖关系可以通过提升度计算:

                                  lift(A,B) = P(A 并 B)/ P(A)*P(B)=confidence(A—>B)/support(B)
    提升度可以评估项集A的出现是否能够促进项集B的出现。值大于1,表明二者存在正相关,小于1,表示负相关,等于1,表示无关
    对于二元变量,提升度等价于兴趣因子(interest factor)的客观度量,定义如下,其中N为记录总数:
                                   lift(A,B) = I(A,B)=support( A 并 B )/support(A)support(B)=Nf11/f1_f_1

    例:以上表的数据为例计算关联规则{打篮球}—>{吃麦片}的提升度

    P({打篮球} 并{吃麦片})= 2000/5000 = 0.4
    P({打篮球})=3000/5000 = 0.6
    P({吃麦片})=3700/5000 = 0.75
    lift({打篮球}—>{吃麦片}) = P({打篮球} 并{吃麦片})/( P({打篮球})*P({吃麦片}) )= 0.4 / ( 0.6 * 0.75) = 0.89
    由于{打篮球}—>{吃麦片}的提升度小于1,所以前后存在负相关关系,即推广打篮球不但不会提升吃麦片的人数,反而会更小

    项集间的关系也可以用相关系数度量 ,对于二元变量,相关系数 f定义为:
                  f = f11f00 - f01f10  /  sqrt(f1_ * f_1 * f0_ * f_0)
    相关系数为0表示不相关,大于0表示正相关,小于0表示负相关
    例:计算打篮球和吃麦片的相关系数

    f = (2000* 250 - 1000*1750)/ (sqrt(3750*3000*1250*2000)) =- 0.23

    相关系数小于0,说明打篮球和吃麦片负相关

    相关性的度量还可以用余弦度量 即:

              cosine(A,B) = P(A  B)/ sqrt(P(A)*P(B))=support( A 并 B )/sqrt(support(A)support(B))
     
    注:sqrt表示开根号

    余弦度量可以看作调合的提升度度量,余弦值仅受A,B和A并B的支持的影响,而不受事务总个数的影响

    辛普森悖论 

    在对数据集按照某个变量进行分组后,之前对整个数据集分析得到的关联规则分析可能并不适用于分组,这种现象就是所谓的辛普森悖论
    下面我们拿一组数据来具体说明
    例:P大和T大的物理学院和外语学院的人数和学校总人数的数据如下(这里假设P大和T大只有物理和外语两个学院)
    物理学院的数据:

    男生人数 女生人数 男:女
    P大 45 8 5.6:1
    T大 101
    51
    2.0:1

    外院的数据:

    男生人数 女生人数 男:女
    P大 50 201 0.25:1
    T大 9
    92
    0.10:1

    学校整体数据(上述两个专业之和):

    男生人数 女生人数 男:女
    P大 95 209 0.45:1
    T大 110
    143
    0.77:1
    数据可不会是骗人的,不信可以自己动手验算一下,真的出现了这种违背常理的情况!这种现象被称为“辛普森悖论”。虽然这么叫,但其实这不是个真正的悖论,它内部没有包含逻辑上的矛盾,只是有些违背人们的常理罢了

    可能有些人还是一头雾水,虽然数据是如此没错,可还是不能理解到底发生了什么使得结论如此古怪。让你构造一个类似的数据,恐怕你也很难直接想得出来吧!人们对几何图形的想象能力总是高于对数字和字母的想象,因此为了更直观地表现出辛普森悖论,我们看下面一幅向量图:
                                                    

    图中,黑色的线代表 P 大数据,红色的线代表 T 大的数据。A p 点的横坐标为 P 大外院女生人数,纵坐标为 P 大外院男生人数;B p 点的横纵坐标则分别为 P 大总女生人数和总男生人数。A t 和 B t 点的意义与之相对应。

    设坐标原点为 O,则 OA p 的斜率表示的就是 P 大外院的男女比例,A p B p 表示的是 P 大物院的男女比例,OB p 表示的则是 P 大总男女比例;T 大的各线段斜率意义与之对应。

    如此一来,一切都变得清晰起来了。辛普森悖论反映在这张图上,就成了一个显然的事实:在 P 大的外院、物院两个向量的斜率分别大于 T 大的两个向量的斜率的条件下,总人数向量的斜率当然不一定哪个大呀!根据这个直观的理解,你也可以随意编造能产生辛普森悖论的数据了吧!

    知道了辛普森悖论这一事实之后,我们以后对待统计数据就要更加小心了。在数学中,经常会出现这种出乎人们意料的惊人事实,所以还是一定要学好数学啊!


    展开全文
  • 一、等价类划分 定义:依据需求将输入划分成若干个等价类,从等价类中选定一个测试用例,如果该用例通过,则表明整个等价类通过。 适用范围:适用于有无限多种输入。 目的:使用较少的测试用例尽可能多的将功能...
  • 摘要 在前面一篇介绍了如何通过DDD的思想,来调整单体服务内的工程结构,为微服务的拆分做准备...同时为了保证领域的纯洁性,我们区分了领域服务,前台服务。领域服务就是领域逻辑,不直接对前端暴露。前台服务组...
  • 首先汇总日常最常用的三种方法:等价类划分、边界值分析法、错误推断法。 1.等价类划分 在软件测试中,穷举法虽然是最安全最保险的一种方法但成本代价高,一般是不可取的。我们可以通过等价类划分方法花费最小的...
  • 庄朝晖:计算和逻辑

    千次阅读 2011-11-12 16:47:23
    庄朝晖:计算和逻辑 (2011-10-09 11:08:34) 标签: 校园 分类: 工作篇 所谓计算模型是刻划计算这一概念的一种抽象的形式系统或数学系统,而算法是对计算过程步骤(或状态的一种刻划,...
  • 1、黑盒测试方法 1.1、等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的。为了减少工作量,需要对测试用例进行适当选取。...也就是说,如果某一类的一个用例发现了错误,这...
  • 2.软件软件分类 软件的分类 按层次划分(系统软件,应用软件) 系统软件与硬件关系最 密切 按组织划分 商业软件 开源软件 ​ 按结构划分 ​ 单机软件,分布式软件 软件缺陷的由来 Bug (虫子) Defect 计算机软件...
  • 概述:黑盒测试是一种功能测试,也称为“数据驱动测试”, 把程序看成一个完全封闭的黑盒子,在不考虑程序内部结构-逻辑处理过程情况下,根据规格说明书规定的功能来设计测试用例,检查程序是否符合规格说明的要求...
  • 如何建立评估数据仓库逻辑模型

    千次阅读 2006-07-18 16:46:00
    从最终应用的功能性能的角度来看,数据仓库的数据逻辑模型也许是整个项目最重要的方面,需要领域专家的参与。从内容上看,涉及的方面有确立主题域,粒度层次的划分,确定数据分割策略,关系模式的确定。 逻辑模型...
  • Oracle 错误总结及问题解决 ORA

    万次阅读 多人点赞 2012-07-08 22:28:45
    ORA 错误大全
  • 用Python实现逻辑回归建模
  • 等价类划分法测试用例设计举例

    万次阅读 多人点赞 2018-02-27 00:12:25
    等价类划分(Equivalance Partitioning)测试的思想:将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒(Blackbox Testing)测试用例...
  • drools -规则语法

    万次阅读 多人点赞 2016-12-25 21:29:51
    基础api在 Drools 当中,规则的编译与运行要通过Drools 提供的各种API 来实现,这些API 总体来讲可以分为三类:规则编译、规则收集和规则的执行。完成这些工作的API 主要有KnowledgeBuilder、KnowledgeBase、...
  • 程序编写规则

    千次阅读 2017-02-15 13:56:55
    不按照程序编写规则来写代码虽然不会发生程序编译错误,但是如果按照规则编写,对于程序的开发,调试维护,程序员之间的交流有很大的好处。尤其在开发大型程序时,确定统一合理的程序编写规则更是保证程序编写质量...
  • bug等级划分标准以及bug类型

    千次阅读 2019-04-21 21:25:13
    一:测试BUG等级划分标准 Blocker(崩溃):阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生...
  • 逻辑综合重点解析(Design Compiler篇)

    万次阅读 多人点赞 2019-02-02 17:54:54
    逻辑综合重点解析(Design Compiler篇) 前言 3 1、逻辑综合(Logic ...3、使用Design Compiler进行逻辑综合出现下述log,请问gtech.dbstandard.sldb包含哪些信息? 4 4、Design Compiler综合过程中,targ...
  • 第一部分 To B or not to ...B端产品即要符合商业组织的战略要求,能够满足商业用户需求,将已有商业运行逻辑进行系统化、信息化、高效化处理。两类都是为企业流程效率服务,让分散的、低效的个体,更好地连接合作,...
  • 软件测试--bug的等级划分

    千次阅读 2019-05-21 15:30:33
    2.与数据库连接错误或数据通讯错误,未考虑异常操作,功能错误等。 补充----- 1.常规操作下因程序问题导致系统崩溃,迫使整个系统无法使用(其中非程序问题有:系统配置、数据结构变动、session超时、网络中断...
  • –初始化终止错误; –接口上,能否正确接收输入数据,并产生正确的输出信息; –性能错误。 2.等价类划分法 等价类划分法: 依据需求对输入的范围进行细分,然后再分出的每一个区域内选取一个代表性的.
  • IP地址的划分及子网掩码

    千次阅读 2019-04-10 21:20:20
    IP是Internet协议的地址,是连接到Internet的设备的编号,每一个网络主机都是有一个逻辑地址,在进行数据交换时,IP的作用是防止网络上的发生错误。在一个网络内,每个IP具有唯一性,IP地址不重复。IP的长度位32位...
  • 关联规则挖掘

    千次阅读 2014-10-17 22:44:21
    有效地发现、理解运用关联规则是数据挖掘任务的一个重要手段。 在处理大量数据时,很重要的一点是要理解不同实体间相互关联的规律。通常,发现这些规律是个极为复杂的过程。关联规则是一种十分简单却功能强大的、
  • 规则引擎的架构设计与系统实现

    千次阅读 2020-12-17 16:32:41
    ruleEngine 业务规则、配置化编程、政策引擎、规则引擎 ...5.1. 功能模块划分 5.1.1. 公式推理器Calculator: 5.1.2. 指标解析器FormulaExecuter: 5.1.3. 动作执行器ActionExecuter: 5.1.4. 模型执行器.
  • 因为在测试阶段,ECOC编码对分类器的错误有一定的容忍修正能力。例如上图中对测试示例正确的预测编码是(-1,1,1,-1,1),但在预测时f2出错从而导致了错误的编码(-1, -1, 1, -1,1)。但是基于这个编码仍然...
  • 本篇文章详细讲解了逻辑回归模型的原理知识,结合Sklearn机器学习库的LogisticRegression算法分析了鸢尾花分类情况。更多知识点希望读者下来后进行拓展,也推荐大学从Sklearn开源知识官网学习最新的实例。 希望文章...
  • MVC架构的职责划分原则

    千次阅读 2016-12-23 10:30:55
    但是随着对业务逻辑理解的深入,我开始意识到问题的严重,我错误地理解了 MVC 中的 Controller,想当然地根据以往的经验,把所有的业务逻辑都放在 Controller 的 action 中去实现,于是,每一个 Controller 的代码都...
  • 软件设计之业务逻辑层设计

    千次阅读 2016-07-15 16:19:53
    业务逻辑层(Business Logic ...它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain )逻辑有关,很多时候,我们也将业务逻辑层称为领域层。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,582
精华内容 25,832
关键字:

划分的规则和逻辑错误