数据抽样方法和装置与流程

文档序号:11407231阅读:276来源:国知局
数据抽样方法和装置与流程

本发明涉及数据抽样领域,具体而言,涉及数据抽样的方法和装置。



背景技术:

目前,现有技术的数据抽样方法需要对抽样数据的领域知识有一定了解,通过所了解的领域知识作为分层抽样的标准,比如,在一张统计用户信息的excel数据表格中,直接用该数据表中显示的某些列,即使用“性别”、“年龄”、“身高”等属性作为分层的标准,“性别”、“年龄”、“身高”等这些属性就是已知的领域知识。

所以上述现有技术中数据抽样方法存在两个问题:

1)在对某组数据的领域知识不了解或者了解有限的情况下,无法进行准确的数据抽样。

2)无法根据隐藏的属性来进行数据分层,此不足将会影响数据抽样的应用范围。例如,无法在上述excel表格中的已知属性“身高”、“体重”等数据中,得知其数据的隐藏属性“兴趣点”“购买力”等。

针对现有技术中存在数据抽样方法分层不准确的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种数据抽样方法和装置。以解决现有技术中存在数据抽样方法分层不准确的问题。

根据本发明实施例的一个方面,提供了一种数据抽样方法,包括:获取多条数据;根据所述多条数据中每一条数据的一个或多个属性值对所述多条数据进行分层,其中,所述每一条数据的一个或多个属性值中包括至少一个特定属性值,所述特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的,所述其余属性值为一条数据中除特定属性值之外的其他属性值;从每一层数据中抽取至少一条数据作为抽样数据。

进一步地,上述特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的包括:所述特定属性值是对该数据的其余属性值中的部分或全部进行机器学习中的聚类分析算法得到的。

进一步地,根据所述多条数据中每一条数据的一个或多个属性值对所述多条数据进行分层之前,所述方法还包括:根据所述每一条数据的所述其余属性值中的部分或全部进行机器学习得到所述至少一个特定属性值。

进一步地,根据所述多条数据中每一条数据的一个或多个属性值对所述多条数据进行分层包括:获取所述每一条数据的所有属性值的优先级;根据每一个属性值的优先级从所述所有属性值中筛选出所述一个或多个属性值;根据筛选出的所述一个或多个属性值对所述多条数据进行分层。

进一步地,获取所述每一条数据的所有属性值的优先级包括:根据对每一条数据的其余属性值中的部分或全部进行机器学习时的聚类标准确定优先级或者根据每一条数据的所有属性值确定优先级。

根据本发明的另一方面,提供了一种数据抽样装置,包括:获取单元,用于获取多条数据;分层单元,用于根据所述多条数据中每一条数据的一个或多个属性值对所述多条数据进行分层,其中,所述每一条数据的一个或多个属性值中包括至少一个特定属性值,所述特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的,所述其余属性值为一条数据中除特定属性值之外的其他属性值;第一抽取单元,用于从每一层数据中抽取至少一条数据作为抽样数据。

进一步地,所述分层单元包括:聚类分析模块,用于所述数据的其余属性值中的部分或全部进行机器学习得到所述特定属性值。

进一步地,所述分层单元包括:第一获取模块,用于根据所述每一条数据的所述其余属性值中的部分或全部进行机器学习得到所述至少一个特定属性值。

进一步地,所述分层单元包括:第二获取模块,用于获取所述每一条数据的所有属性值的优先级;筛选模块,用于根据每一个属性值的优先级从所述所有属性值中筛选出所述一个或多个属性值;分层模块,用于根据筛选出的所述一个或多个属性值对所述多条数据进行分层。

进一步地,所述第二获取模块包括:优先级确定模块,用于根据对每一条数据的其余属性值中的部分或全部进行机器学习时的聚类标准确定优先级或者根据每一条数据的所有属性值确定优先级。

根据本发明的另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述方法。

在本发明实施例中,采用获取多条数据;根据所述多条数据中每一条数据的一个或多个属性值对所述多条数据进行分层,其中,所述每一条数据的一个或多个属性值中包括至少一个特定属性值,所述特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的,所述其余属性值为一条数据中除特定属性值之外的其他属性值;从每一层数据中抽取至少一条数据作为抽样数据的方式。通过本实施例,解决现有技术中存在数据抽样方法分层不准确的问题,使得分层更加细致准确。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限。在附图中:

图1是根据本发明实施例的一种数据抽样方法的流程图;

图2是根据本发明实施例的一种数据抽样装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种数据抽样方法,图1是根据本发明实施例的一种数据抽样方法的流程图。如图1所示,该方法包括步骤如下:

步骤s102:获取多条数据;

步骤s104:根据获取的多条数据中每一条数据的一个或多个属性值对获取的多条数据进行分层;其中,所述每一条数据的一个或多个属性值中包括至少一个特定属性值,所述特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的,所述其余属性值为一条数据中除特定属性值之外的其他属性值;

步骤s106:从每一层数据中抽取至少一条数据作为抽样数据。

下面举例对上述步骤进行说明:

表1是根据本发明实施例的一种数据抽样方法的待分层数据表,如表1所示,在该数据表中,有10名客户,每一横排代表一条数据(即一个客户的数据),每一条数据有很多列,既有很多属性,比如“gender”、“height”、“age”、“city”等,数据的每一个属性都有对应的属性值,每一条数据均由多个属性值构成。比如“id”为“1”的第一条数据的属性值有“1”、“165”、“55”、“1”、“1”,分别对应的属性为:“gender”、“height”、“age”、“city”、“occupation”。

表1

将表1中所示的数据表中属性值通过机器学习得到特定属性值,如表2学习后的数据表所示,特定属性值是表中的“cluster”。

表2是根据本发明实施例的一种数据抽样方法的补充特定属性值数据表。根据表2中多条数据中每一条客户的数据的属性值对客户进行聚类,每一条客户的数据的属性值可以为一个,也可以为多个,比如,可以使用“cluster”属性下对应的每个客户的属性值对客户进行聚类,也可以使用“cluster”、“age”、“city”等属性对客户进行聚类(分层)。

表2

表3是本发明实施例的一种数据抽样方法下运用抽样工具处理后的数据表,对客户进行聚类后,数据表如表3所示,在该数据表中,数据被分为四层数据,第一层数据包括:“id”为“1”、“2”、“3”的数据组;第二层数据包括:“id”为“4”、“5”的数据组;第三层数据包括:“id”为“6”、“9”、“10”的数据组;第四层数据包括:“id”为“7”、“8”的数据组。分别从第一层数据中抽取“id”为“2”的样板数据;从第二层数据中抽取“id”为“5”的样板数据;从第三层数据中抽取“id”为“9”的样样板数据;从第四层数据中抽取“id”为“7”的样板数据。

表3

由上可见,本实施例的数据抽样方法通过在分层时运用特定属性值进行分层,解决了现有技术中存在数据抽样方法分层不准确的问题,该分层方式不仅考虑到已有的属性值还考虑到隐藏属性值对分层的影响,从而进行了合理的分层,使分层更加准确和细致,并且使每一分层中客户的性质更为相似,客户的代表性更加合理和准确,客户的代表是指用其中一个客户去代表一类客户,而传统的数据抽样方法的结果,如表4所示,表4是根据本发明实施例的传统分层下的结果数据表。表4中传统数据抽样分层标准选取为excel表格第二列“gender”,因此在该数据表中,数据被分为两层数据,第一层包括:“id”为“1”、“2”、“3”、“4”、“5”的数据组,第二层包括:“id”为“6”、“7”、“8”、“9”、“10”的数据组。而数据抽样分别从两层数据中抽取了“id”为“5”和“id”为“7”的数据组,“id”为“5”和“id”为“7”的数据分别是每层客户数据中年龄最小的客户数据,可见,传统的数据抽样方法仅仅能够粗略的对数据进行聚类(分层),无法考虑其他属性,比如年龄、城市和职业等综合因素对客户分层的影响,所以传统的数据抽样方法无法使用隐藏的属性对数据表进行分层,影响抽样结果的准确性及代表性。上述步骤中的某条数据的特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的,该机器学习的方式可以有多种,第一种可选地实施方式是使用聚类分析算法对该数据的其余属性值中的部分或全部进行学习,得到特定属性值;第二种可选地实施方式是使用基于实例的算法对该数据的其余属性值中的部分或全部进行学习,得到特定属性值;第三种可选地实施方式是使用贝叶斯方法对该数据的其余属性值中的部分或全部进行学习,得到特定属性值。

表4

数据表中属性有多种,但是并不是每一种属性都作为分层的标准,在选取一些属性作为分层标准的同时势必会忽略另一些属性,这些被忽略的属性为隐藏属性,在一个可选的实施方式中,可以对数据表中已知的属性值进行分析,将数据表中全部的已知的属性值通过机器学习得到特定属性值,该特定属性值代表了全部已知的属性值,也包括那些被忽略的属性,在一种可选的实施方式中,可以将特定属性值作为分层的最佳标准,然后在特定属性值指定的空间下将数据划分为若干抽样单位,从而提高数据抽样的代表性。比如,如表2所示,表2中的“cluster”是特定属性值,“cluster”是由已知的所有属性值得到的,已知的所有属性值在图中为“age”、“gender”、“height”、“city”和“occupation”,还可以为图中没有显示的其他属性值。将“cluster”作为分层的最佳标准进行分层,然后在每一层中进行抽样。

在另一种可选的实施方式中,将原有的属性值和特定属性值共同作为分层抽样的标准。比如,如表2所示,将“cluster”同“age”、“gender”、“height”、“city”和“occupation”中的任选的属性值共同进行分层。上述例子可以是针对在属性已知的情况进行的分层抽样方法,比如,在一张统计用户信息的excel数据表格中,直接用该数据表中显示的某些列,即使用“性别”、“年龄”、“身高”等属性作为分层的标准,“性别”、“年龄”、“身高”等这些属性就是已知的领域知识。在没有领域知识,或领域知识有限的情况下也可以通过无监督机器学习得到特定属性值,然后根据特定属性值对数据进行聚类。下面举例进行说明:

比如,一条数据为“date21date3monthxyz”,如果对于该条数据没有像上述统计用户信息的excel数据表格中有已知的列(属性),此时,在本实施例可以运用无监督机器学习算法直接对数据进行分析,也就是对该条数据进行聚类分析,以便找到该条数据的属性,每一类别即为该条数据的属性,经过聚类分析后可能将该条数据中“date”、“month”、“xyz”作为该条数据的属性,该属性可以作为数据抽样的分层标准。

再比如,有三条数据分别是“iloveapple”、“hewanttoeatapple”、“hehateorange”,对每一条数据可以先进行分词处理,得到“i”、“love”、“apple”“he”、“want”、“eat”、“hate”、“orange”这些属性值,然后根据这些分词进行聚类分析。

在获得特定属性值之后,将原有的属性值和特定属性值共同作为分层抽样的标准时,可以进行优先级的筛选。即获取所述每一条数据的所有属性值的优先级;根据每一个属性值的优先级从所述所有属性值中筛选出所述一个或多个属性值;根据筛选出的所述一个或多个属性值对所述多条数据进行分层。优先级可以根据需要自行设定,比如,根据对每一条数据的其余属性值中的部分或全部进行机器学习时的聚类标准确定优先级,也可以以最能代表数据特征的属性作为最高优先级,优先级还可以是根据聚类分析算法的划分标准选择的,即选择在聚类分析算法中,将聚类分析结果划分更为准确的划分标准作为高的优先级。

通过进一步地对数据属性值的优先级进行筛选,得到分层抽样的最佳分层标准,提高了每一层的区分度,从而使抽样结果的更加准确。

当比较特定属性值和其他属性值之间的优先级时,存在两种情况,第一种情况:优先级高的属性值是其他属性值;第二种情况:优先级高的属性值是特定属性值。

优先级高的特定属性值可以与优先级其次的其他属性值共同作为分层的标准,也可以单独作为分层的标准。本发明实施例还提供了一种数据抽样装置。该装置可以通过获取单元22、分层单元24、抽取单元26实现其功能。需要说明的是,本发明实施例的一种数据抽样装置可以用于执行本发明实施例所提供的一种数据抽样方法,本发明实施例的一种数据抽样方法也可以通过本发明实施例所提供的一种数据抽样装置来执行。

图2是根据本发明实施例的一种数据抽样装置的示意图,如图2所示,一种数据抽样装置包括:

获取单元22,用于获取多条数据;

分层单元24,连接获取单元22,用于根据获取单元22中每一条数据的一个或多个属性值对多条数据进行分层,其中,每一条数据的一个或多个属性值中包括至少一个特定属性值,特定属性值是对该数据的其余属性值中的部分或全部进行机器学习得到的,其余属性值为一条数据中除特定属性值之外的其他属性值;

抽取单元26,连接分层单元,用于根据分层单元的分层结果中抽取至少一条数据作为抽样数据。

在一个可选的实施方式中,分层单元24包括:聚类分析模块,用于数据的其余属性值中的部分或全部进行机器学习得到特定属性值。

在一个可选的实施方式中,分层单元24包括:第一获取模块,用于根据每一条数据的其余属性值中的部分或全部进行机器学习得到至少一个特定属性值。

在一个可选的实施方式中,分层单元24包括:第二获取模块,用于获取每一条数据的所有属性值的优先级;筛选模块,用于根据每一个属性值的优先级从所有属性值中筛选出一个或多个属性值;分层模块,用于根据筛选出的一个或多个属性值对多条数据进行分层。

在一个可选的实施方式中,第二获取模块包括:优先级确定模块,用于根据对每一条数据的其余属性值中的部分或全部进行机器学习时的聚类标准确定优先级或者根据每一条数据的所有属性值确定优先级。

在采用了根据包含特定属性值的一个或多个属性值对多条数据进行分层,从每一层数据中进行抽样。以达到对隐藏的属性进行分层,进而使抽样结果更具有准确性。这不同于现有抽样装置:分层标准是抽样数据的某些明显属性值。从而实现了提高抽样结果准确性的技术效果。

本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述方法。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1