本发明涉及一种基于fp-growth算法的手机贴标检测数据分析方法,属于数据处理技术领域。
背景技术:
随着移动互联网的发展,手机已成为人们生活中必不可少的消费品。全球手机需求爆发性增长推动了整个手机产业的蓬勃发展。为了满足人们对手机的需求,手机制造商需要加快手机研发速度和生产速度。在手机的生产流水线上,手机制造商需要将多个标签附于手机上。但是,由于贴标人员的粗心,贴标人员往往会出现贴标不合格的情况。为了提高手机产品出厂合格率,需要对手机贴标进行检测。
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。随着手机生产量的迅速增加,手机贴标检测数据呈现爆发式增长,传统的数据统计分析方法已经不再适用于海量手机贴标检测数据的相关分析。而随着检测数据数量的增多,数据之间的相关关系也愈发明显,所以,亟需一种适用于海量检测数据的数据分析方法研究手机贴标不合格的关键因素。
技术实现要素:
本发明的主要目的是在于提供一种基于fp-growth算法的手机贴标检测数据分析方法,旨在对手机制造商手机贴标部门的检测数据进行数据挖掘和分析,从而为手机生产商贴标流水线的调整提供数据支持。
为了实现上述目的,本发明提供的一种基于fp-growth算法的手机贴标检测数据分析方法,包括以下步骤:
s1,对手机贴标检测系统检测结果数据库进行预处理;具体如下:
s11,剔除手机贴标检测合格的相关结果,保留手机贴标检测不合格的相关结果;
s12,提取检测结果中贴标不合格的类型及相关的贴标人员年龄、性别、工位编号以及贴标时间等信息;
s13,将提取的数据进行处理,具体包括对缺失值和异常值的整条数据记录删除。
s14,将处理后的数据通过olap数据建模工具workbench生成一个五维数据立方体。该数据立方体由贴标人员年龄、贴标人员性别、时间、工位和贴标不合格类型五维组成。其中,贴标不合格类型维具有漏贴、偏贴、褶皱、标签有缺陷四个成员。
s15,对得到的五维数据立方体按照不合格类型维中的成员进行olap切片操作,得到每个不合格类型维成员所对应的四维子数据立方体。
s2,对每个子数据立方体应用fp-growth算法统计识别出每个子数据立方体的频繁谓词集;
基于fp-growth算法的子数据立方体的频繁谓词集的统计识别步骤如下:
s21,设定fp-growth算法的最小支持度;
s22,第一次扫描子数据立方体,计算每个维成员的支持度,并与设定的最小支持度比较得到1-项频繁谓词集;
s23,第二次扫描子数据立方体,创建fp-tree。
首先创建fp-tree的根节点,标记为“null”,然后读入子数据立方体上的记录,并对每个记录创建一个分支,当为一个记录增加分支时,重叠路径上的节点计数增加相应的count值,不重叠的部分创建新的节点并创建链接指向前缀;直到所有记录都映射到fp-tree路径上;
s24,从fp-tree中挖掘子数据立方体的频繁谓词集。
s241,构造1-项频繁谓词集的条件模式基,把条件模式基当做事务集构造条件fp-tree;
s242,根据条件fp-tree找到条件频繁谓词集,然后与后缀模式合并,得到频繁谓词集。
s243,在条件fp-tree上迭代步骤s241和步骤s242,直至树包含一个谓词为止,从而统
计识别出子数据立方体的频繁谓词集。
s3,将上述步骤得到的多个子数据立方体的频繁谓词集合并为数据立方体的频繁谓词集;
s31,遍历每个子数据立方体的频繁谓词集列表,若子数据立方体的频繁谓词集列表存在相同的频繁谓词集,则将该频繁谓词集的支持度相加,得到只包含不合格因素的频繁谓词集;
s32,将每个子数据立方体的频繁谓词集加上对应的不合格类型组成新的频繁谓词集,即包含有不合格因素和不合格类型的频繁谓词集。
s4,得到数据立方体的频繁谓词集后,通过计算判定不合格类型b与不合格因素a的关系强弱。
s41,设定最小置信度min_conf;
s42,通过以下公式计算不合格类型b与不合格因素a的置信度conf:
其中,num(a)为仅有不合格因素a组成的频繁谓词集的支持度;num(a|b)为由不合格因素a和不合格类型b组成的频繁谓词集的支持度;
s43,判断置信度conf是否大于设定的最小置信度min_conf,若是,则认为该不合格类型b与a中所述的不合格因素有强关联关系。
s44,遍历所有的频繁谓词集,计算结果按照置信度由高到低排列后输出。
本发明的有益效果:
(1)本发明涉及的手机贴标数据检测方法可处理海量历史数据,其结果全面、真实、可靠;
(2)借助数据立方体的聚合值获得支持度,大大简化了计算。
(3)将fp-growth算法进行改造,使之只能产生不合格类型与不合格因素之间的强关联关系,而不产生不合格因素与不合格因素之间的强关联关系,大大加快了系统的运行速度。
附图说明
图1为本发明数据分析方法的整体流程示意图。
图2为本发明方法中数据预处理的流程示意图。
图3为频繁谓词集的流程示意图。
具体实施方式
为了具体的描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
本实施例的手机贴标检测结果的相关数据存储在mysql数据库。该数据库中共包含500万条手机贴标检测信息。每条数据有6个属性。其中,表1给出数据库的各个属性及其值域。
表2给出了数据库中的部分数据内容。
表1
表2
如图1所示,首先,将手机贴标检测系统检测结果数据库中的数据进行预处理操作;其次,对每个子数据立方体运行fp-growth算法统计识别出子数据立方体的频繁谓词集;然后,将子数据立方体的频繁谓词集合并成数据立方体的频繁谓词集;最后,根据设定的最小置信度,挖掘不合格类型与不合格因素之间的强关联关系。具体步骤如下:
如步骤s1所述,对手机贴标检测系统检测结果数据库进行预处理。如图2所示,首先剔除手机贴标检测合格的相关结果,保留手机贴标检测不合格的相关结果。然后提取检测结果中贴标不合格类型及相关的贴标人员年龄、性别、工位编号以及贴标时间等信息。其中,一共提取到48662条手机贴标检测不合格结果。
将提取的手机贴标检测不合格结果中具有缺失值的整条数据记录删除,将数据库中具有“+-:”“?”这样的无意义的字符的整条数据记录删除。并将信息中的描述性信息转化为数值性信息。最后,将处理后的数据通过olap数据建模工具workbench生成一个五维数据立方体。将数据立方体转化为对应的数据立方体表,如下表3所示。
表3
其中,不合格类型成员“漏贴”、“偏贴”、“褶皱”、“标签有缺陷”分别用a1、a2、a3、a4表示。时间成员“8:00-10:00”、“10:00-12:00”、“13:00-15:00”、“15:00-17:00”分别用b1、b2、b3、b4表示。工位编号成员1、2、3分别用c1、c2、c3表示。年龄成员“20-30”、“30-40”、“40-50”分别用d1、d2、d3表示。性别成员“男”“女”分别用e1、e2表示。
对得到的五维数据立方体按照不合格类型维中的成员进行olap切片操作,得到每个不合格类型维成员所对应的四维子数据立方体。
a1情况下的子数据立方体表见表4。a2情况下的子数据立方体表见表5。a3情况下的子数据立方体表见表6。a4情况下的子数据立方体表见表7。
表4
表5
表6
表7
如步骤s2所述,将每个子数据立方体运行fp-growth算法。设支持度阈值min_sup=1000;
输入:子数据立方体,支持度阈值min_sup
输出:子数据立方体的频繁谓词集
(1)按照以下步骤构造fp-tree
(a)第一次扫描子数据立方体,计算每一个谓词的支持度,按递减顺序排序,与min_sup比较得到频繁1-项集,丢弃非频繁项集。
(b)第二次扫描子数据立方体,创建fp-tree。首先创建fp-tree的根节点,标记为“null”,依次读入子数据立方体上的记录,并对每个记录创建一个分支,当为一个记录增加分枝时,重叠路径上的节点计数增加相应的count值,不重叠的部分创建新的节点并创建链接指向前缀。直到所有记录都映射到fp-tree路径上。
(2)fp-tree的挖掘通过调用过程fp-growth(fp-tree,null)实现。
//该过程实现如下
procedurefp-growth(tree,α)
1)iftree包含单个路径pthen
2)for路径p的每个节点组合(记为β)
3)产生模式β∪α,支持度support=β中节点的最小支持度;
4)elseforeachai在tree的头部{
5)产生模式β=ai∪β,其支持度support=ai。support
6)构造模式β的条件模式基,并构造β的条件fp-tree
7)if
8)调用fp-growth(tree,β);}
运行fp-growth算法后得到每个子数据立方体的频繁谓词集如表8(a1情况下的子数据立方体产生的频繁谓词集),表9(a2情况下的子数据立方体产生的频繁谓词集),表10(a3情况下的子数据立方体产生的频繁谓词集),表11(a4情况下的子数据立方体产生的频繁谓词集)所示。
表8
表9
表10
表11
如步骤s3所述,将上述步骤得到的多个子数据立方体的频繁谓词集合并为数据立方体的频繁谓词集。如图3所示,依次遍历各子数据立方体的频繁谓词集列表,若不同频繁谓词集列表存在相同的频繁谓词集,则将该频繁谓词集的支持度相加,得到只包含不合格因素的频繁谓词集及其支持度;将每个子数据立方体的频繁谓词集加上对应的不合格类型组成新的频繁谓词集,即包含有不合格因素和不合格类型的频繁谓词集及其支持度。五维数据立方体的频繁谓词集列表见表12。
表12
如步骤s4所述,设定的最小置信度min_conf=0.6,按照公式
计算当前关联关系的置信度。如果通过上式计算得到的置信度conf大于设定的最小置信度min_conf,则可以说明此不合格类型与该关联因素有较强的关系。
按照以上步骤进行强关联关系挖掘,结果见表13。
表13
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围。凡是根据本发明的揭示,对实施例做出的任何改进和修改都应该在本发明的保护范围之内。