CN112783890B - 一种生成数据透视表行的方法及装置 - Google Patents

一种生成数据透视表行的方法及装置 Download PDF

Info

Publication number
CN112783890B
CN112783890B CN201911087790.0A CN201911087790A CN112783890B CN 112783890 B CN112783890 B CN 112783890B CN 201911087790 A CN201911087790 A CN 201911087790A CN 112783890 B CN112783890 B CN 112783890B
Authority
CN
China
Prior art keywords
column
data
columns
self
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911087790.0A
Other languages
English (en)
Other versions
CN112783890A (zh
Inventor
苏奕虹
辛洋
皮霞林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Original Assignee
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Office Software Inc, Zhuhai Kingsoft Office Software Co Ltd filed Critical Beijing Kingsoft Office Software Inc
Priority to CN201911087790.0A priority Critical patent/CN112783890B/zh
Publication of CN112783890A publication Critical patent/CN112783890A/zh
Application granted granted Critical
Publication of CN112783890B publication Critical patent/CN112783890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种生成数据透视表行的方法,所述方法包括获取当前表格中被选中的数据列,分别获取该数据列的至少一个预定的特征值;将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果。本发明能够采用随机森林模型自动生成数据透视表行,帮助用户处理和分析数据,降低用户使用门槛,给用户提供更方便的途径。

Description

一种生成数据透视表行的方法及装置
技术领域
本文涉及计算机技术,尤指一种生成数据透视表行的方法及装置。
背景技术
表格软件中“数据透视表”是一个门槛较高的功能。表格用户中会使用该功能的不超过全部使用表格软件用户的百分之二。对于很多表格文档来说,用户需要对工作表中的列进行计数、求和、求平均值等操作。这些操作使用“数据透视表”最方便,但是由于该功能门槛高,所以很多用户只能使用笨拙的方法来完成。
发明内容
本申请提供了一种生成数据透视表行的方法及装置,能够帮助用户处理和分析数据,降低用户使用门槛,给用户提供更方便的途径。
本申请提供了一种生成数据透视表行的方法,所述方法包括当接收到针对当前表格建立数据透视表的指令后,获取当前表格中被选中的数据列,分别以预定的至少一个顺序遍历所述被选中的数据列,对于每个所述被选中的数据列,分别获取该数据列的至少一个预定的特征值;将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行。
在一个示例性实施例中,上述根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:将所述分析结果满足预设条件的数据列中内容相同的单元格的值进行合并,将合并后的每个值分别作为所述数据透视表的行标题。
在一个示例性实施例中,上述将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:将获取的每个数据列的所述预设的特征值分别输入预先生成的随机森林模型,计算每个数据列的预测行字段得分;根据所述预测行字段得分在预设范围内的数据列,生成作为所述数据透视表的行。
在一个示例性实施例中,上述预设随机森林模型,是通过采集多个数据透视表作为训练数据样本,提取至少一个特征按照决策树的生成步骤建立数据透视表行决策树,并根据数据透视表行决策树建立的。
在一个示例性实施例中,上述预定的至少一个顺序包括第一从左到右的顺序,当按照第一从左到右的顺序进行遍历时,所述获取的每个所述被选中的数据列的至少一个预定的特征值包括:整个数据列的列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差。
在一个示例性实施例中,上述预定的至少一个顺序包括从第二左到右的顺序,当按照第二从左到右的顺序进行遍历时,获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
在一个示例性实施例中,上述预定的至少一个顺序包括从右到左的顺序,当按照从右到左的顺序进行遍历时,获取的每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以右的各列含数字的列数,自身及自身以右的各列含中文、英文、日期的列数。
在一个示例性实施例中,上述将获取的每个数据列的至少一个预定的特征值分别输入预先生成的随机森林模型,包括:
将获取的每个数据列的整个数据列列数、索引值、整列含有的类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差、自身及自身以左的各列含数字的列数、自身及自身以左的各列含中文、英文、日期的列数、自身及自身以右的各列含数字的列数、自身及自身以右的各列含中文、英文、日期的列数依次输入随机森林模型对每列的列表进行分析。
本申请还提供了一种定向投放内容的装置,包括:获取模块,用于当接收到针对当前表格建立数据透视表的指令后,获取当前表格中被选中的数据列;分析模块,用于分别以预定的至少一个顺序遍历所述被选中的数据列,对于每个所述被选中的数据列,分别获取该数据列的至少一个预定的特征值;将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行。
本申请还提供了一种定向投放内容的装置,包括处理器和存储器,所述存储器中存储有用于定向投放内容的程序;所述处理器用于读取所述用于定向投放内容的程序,执行上述中任一项所述的方法。
与相关技术相比,本申请采用随机森林模型自动生成数据透视表行,帮助用户处理和分析数据,降低用户使用门槛,给用户提供更方便的途径。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例生成数据透视表行的方法流程图;
图2为本申请实施例一表格数据图;
图3为本申请实施例一采用现有技术数据中数据透视表操作提示示意图;
图4为本申请实施例一采用现有技术数据透视表行结果示意图;
图5为本申请实施例二表格数据图;
图6为本申请生成数据透视表行的方法具体工作流程图;
图7为本申请生成数据透视表行的装置模块示意图。
具体实施方式
本申请描述了至少一个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
如图1所示,本发明实施例提供一种生成数据透视表行的方法,包括如下步骤:
S101、当接收到针对当前表格建立数据透视表的指令后,获取当前表格中被选中的数据列;
S102、分别以预定的至少一个顺序遍历所述被选中的数据列,对于每个所述被选中的数据列,分别获取该数据列的至少一个预定的特征值;
S103、根据分析结果满足预设条件的数据列,生成所述数据透视表的行。
数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关,可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。
随机森林是一个包含至少一个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method"以建造决策树的集合。
在一个示例性实施例中,根据下列算法而建造每棵树:用N来表示训练用例(样本)的个数,M表示特征数目。输入特征数目m,用于确定决策树上一个节点的决策结果;其中m应远小于M。从N个训练用例(样本)中以有放回抽样的方式,取样N次,形成一个训练集(即bootstrap取样),并用未抽到的用例(样本)作预测,评估其误差。对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的。根据这m个特征,计算其最佳的分裂方式。每棵树都会完整成长而不会剪枝,这有可能在建完一棵正常树状分类器后会被采用。
在一个示例性实施例中,采用Microsoft Office Excel工作表中的数据作为表格数据列的列表的来源。
在一个示例性实施例中,步骤S101中,建立数据透视表的指令,可以是MicrosoftOffice Excel工作表中的预先设定的选项,当点击该选项,则触发建立数据透视表;也可以是当用户选中数据列时自动提示数据透视表。
在一个示例性实施例中,步骤S101中,获取表格中被选中的数据列,其中获取的数据列可以是直接选择的数据列,也可以是利用直接选择的数据列经过删减或者扩展后得到的数据列。
在一个示例性实施例中,步骤S101中,获取当前表格中被选中的数据列,其中数据列包括数据列的标题及对应标题的数据;也可以仅包括对应标题的数据。
在一个示例性实施例中,预先生成的随机森林模型,是通过采集至少一个数据透视表作为训练数据样本,提取至少一个特征按照决策树的生成步骤建立数据透视表行决策树,再根据数据透视表行决策树建立的。
在一个示例性实施例中,步骤S102中,所述将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:
将获取的每个数据列的至少一个预设的特征值分别输入预先生成的随机森林模型,计算每个数据列的预测行字段得分;根据所述预测行字段得分在预设范围内的数据列,生成作为所述数据透视表的行。在其他的实施方式中可采用逻辑运算的方式进行推理,比如模型直接输出“是”“否”。本实施例中仅是一个实例性的方式,在此不做限定。
在一个示例性实施例中,步骤S103中根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:
将所述分析结果满足预设条件的数据列中内容相同的单元格的值进行合并,将合并后的每个值分别作为所述数据透视表的行标题。例如图2所示,分析结果满足预设条件的数据列为“托管方式”,将相同的托管方式例如多个“午托”进行合并后作为所述数据透视表的其中一个行标题。
在一个示例性实施例中,所述预定的至少一个顺序包括第一从左到右的顺序,当按照第一从左到右的顺序进行遍历时,所述获取的所述每个所述被选中的数据列的至少一个预定的特征值包括:整个数据列列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差。
在一个示例性实施例中,所述预定的至少一个顺序包括第二从左到右的顺序,当按照从第二左到右的顺序进行遍历时,获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
上述第一从左到右的顺序和第二从左到右的顺序是指分别两次按照从左到右的顺序遍历上述不同的特征值,一次是得到整个数据列列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差;另一次是得到自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
在一个示例性实施例中,所述预定的至少一个顺序包括从右到左的顺序,当按照从右到左的顺序进行遍历时,获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以右的各列含数字的列数,自身及自身以右的各列含中文、英文、日期的列数。
上述实施例中的特征值可以通过预定的顺序进行获取,相对于计算机处理比较简单,当然本领域技术人员可以采用其他预定的顺序获取上述特征值,本申请的获取特征值的宗旨在于特征值的结果,而不在于获取的顺序,在此不做限定。
其中,特征值1:整个数据列列数,具体的,整个数据列列数为表格总的列数,同一个表格每一列这个特征值是一样的。
特征值2:索引值,具体的,索引值为这一列在整个表格中是第几列,从左计数。
特征值3:整列含有的类型,具体的,类型包括中文、英文、日期、数字,将整列中所有单元格出现过的类型统计出来,将这几个类型分别转换到一个特定的数字表示,然后将所有含有的类型对应的数字相加起来,得到该特征值。例如,如图2所示的数据列第一列特征值3具体是每个类型对应一个数字,将这些数字累加起来得到的整列含有的类型对应为322。又比如数字类型对应64,中文类型对应是128,则包含中文和数字的类型累加得到192。
特征值4:去掉重复单元后得到的个数,具体的,将一列所有单元格中内容有重复出现的去掉,计算单元格个数。
特征值5:重复单元格内容出现次数的方差,具体的,统计每个单元格内容在该列出现的次数,将这些出现次数计算方差,得到该特征值。
特征值6:单元格字符长度最大值,具体的,计算该列单元格内容字符长度最长的值,得到该特征值。
特征值7:单元格字符长度的方差,具体的,统计每个单元格字符长度,将这些数字计算方差,得到该特征值。
特征值8:自身及自身以左的各列含数字的列数,具体的,从左边第一列开始计算至当前列,计算包含数字的列的个数.
特征值9:自身及自身以左的各列含中文、英文、日期的列数,具体的,从左边第一列开始计算至当前列,计算包含中文、英文、日期的列的个数。
特征值10:自身及自身以右的各列含数字的列数,具体的,从右边第一列开始计算至当前列,计算包含数字的列的个数。
特征值11:自身及自身以右的各列含中文、英文、日期的列数,具体的,从右边第一列开始计算至当前列,计算包含中文、英文、日期的列的个数。
在一个示例性实施例中,步骤S102中所述将获取的每个数据列的至少一个预定的特征值分别输入预先生成的随机森林模型,包括:
将获取的每个数据列的整个数据列列数、索引值、整列含有的类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差、自身及自身以左的各列含数字的列数、自身及自身以左的各列含中文、英文、日期的列数、自身及自身以右的各列含数字的列数、自身及自身以右的各列含中文、英文、日期的列数依次输入随机森林模型对每列的列表进行分析。
本领域技术人员可以理解的是随机森林算法只需要提供正确的特征值和模型,就能够得到分数。随机森林中间过程是算法的封装,并不是该项专利的范畴。
本领域技术人员可以理解的是训练出来的随机森林模型需要对应特征值,顺序是不能随意修改的,除非是比如优化算法的时候,用新的用户数据重新训练模型,只要不增减特征值,则再次训练出来的模型相同且顺序不变。本申请采用该顺序能够得到相当精确的结果。
本申请通过随机森林模型对按照预定顺序获取的表格数据列的列表的至少一个特征值进行分析,为用户自动找到数据透视表的行所在的数据列,并确定给用户,从而降低用户使用门槛,给用户提供更方便的途径。
如图2所示,本申请实施例一表格数据列的列表包括A,B,C,D,E,共5列,每列的标题分别为“年级”、“姓名”、“托管方式”、“天数”、“老师天数”。用户期望把“托管方式”和“老师天数”进行求和。
如图3-4所示,现有技术采用数据透视表把“托管方式”和“老师天数”进行求和的操作方法。首先选中当前表格区域,点击插入,数据透视表,再在右上角把“托管方式”拖拽到右下角“行”,把“老师天数”拖拽到右下角的“值”,得到数据透视表后再进行数据分析。现有技术需要多步进行操作。
采用本申请确定数据透视表的方法,系统自动获取表格的至少一个特征值,本实施例中为11个特征值。如表1所示,以第一列为例:
第一列特征值1:整个数据列列数值为5列;
第一列特征值2:索引值为0;
第一列特征值3:整列含有的类型为322;
第一列特征值4:去除重复单元格后的单元格个数为0个;
第一列特征值5:重复单元格内容出现次数的方差为0;
第一列特征值6:单元格字符长度最大值为5;
第一列特征值7:单元格字符长度的方差为0.304543478;
第一列特征值8:自身及自身以左的各列含数字的列数0例;
第一列特征值9:自身及自身以左的各列含中文、英文、日期的列数0例;
第一列特征值10:自身及自身以右的各列含数字的列数2例;
第一列特征值11:自身及自身以右的各列含中文、英文、日期的列数为2例。
将上述11个特征值输入随机森林模型进行分析计算,得到计算结果预测行字段分数为0.1。本实施例阈值范围为分数介于0-1之间,当数据列的计算分数大于0.6时,可以根据该数据生成作为数据透视表的行。第一列的预测行字段分数为0.1小于0.6,故不能作为数据透视表的行。以此类推,预测行字段分数大于0.6且在0-1之间的是主题名称为“托管方式”的列,最终通过C列“托管方式”自动生成数据透视表的行。
表1
列标题 年级 姓名 托管方式 天数 老师天数
特征值1 5 5 5 5 5
特征值2 0 1 2 3 4
特征值3 322 320 256 64 64
特征值4 0 25 5 8 8
特征值5 0 0.366606056 6.493073232 3.471251471 3.699452718
特征值6 5 3 5 2 2
特征值7 0 0.304543478 1.283759343 0.405080694 0.405080694
特征值8 0 0 0 1 2
特征值9 0 1 2 2 2
特征值10 2 2 2 2 1
特征值11 2 2 1 0 0
预测行字段分数 0.1 0.0 0.8 0.0 0.0
如图5所示,本申请实施例二表格数据列的列表包括A,B,C,D,E,F,共6列,每列的标题分别为“站点名称”、“物资名称”、“单位”、“设计数量”、“施工用量”、“理核实数量”。
系统自动获取表格的至少一个特征值,本实施例中为11个特征值。如表2所示,以第一列为例:
第一列特征值1:数据列总列数值为6列;
第一列特征值2:索引值为0;
第一列特征值3:整列含有的类型为448;
第一列特征值4:去除重复单元格后的单元格个数为0;
第一列特征值5:重复单元格内容出现次数的方差为0;
第一列特征值6:单元格字符长度最大值为11;
第一列特征值7:单元格字符长度的方差为0;
第一列特征值8:自身及自身以左的各列含数字的列数0例;
第一列特征值9:自身及自身以左的各列含中文、英文、日期的列数0例;
第一列特征值10:自身及自身以右的各列含数字的列数3例;
第一列特征值11:自身及自身以右的各列含中文、英文、日期的列数为2例。
依次将上述特征值输入随机森林模型进行分析计算,得到第一列计算结果预测行字段分数为0.0。本实施例阈值范围为分数介于0-1之间,当数据列的计算分数大于0.6时,可以根据该数据生成作为数据透视表的行。第一列的预测行字段分数为0.0小于0.6,故第一列不能作为数据透视表的行。以此类推,预测行字段分数大于0.6且在0-1之间的是主题名称为“物资名称”的列,最终通过B列“物资名称”自动生成数据透视表的行。
表2
如图7所示,本发明定向投放内容的装置,包括:
获取模块10,用于当接收到针对当前表格建立数据透视表的指令后,获取当前表格中被选中的数据列;
本发明定向投放内容的装置还包括分析模块20,用于分别以预定的至少一个顺序遍历所述被选中的数据列,对于每个所述被选中的数据列,分别获取该数据列的至少一个预定的特征值;根据分析结果满足预设条件的数据列,生成所述数据透视表的行。
数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关,可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。
随机森林是一个包含至少一个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method"以建造决策树的集合。
在一个示例性实施例中,根据下列算法而建造每棵树:用N来表示训练用例(样本)的个数,M表示特征数目。输入特征数目m,用于确定决策树上一个节点的决策结果;其中m应远小于M。从N个训练用例(样本)中以有放回抽样的方式,取样N次,形成一个训练集(即bootstrap取样),并用未抽到的用例(样本)作预测,评估其误差。对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的。根据这m个特征,计算其最佳的分裂方式。每棵树都会完整成长而不会剪枝,这有可能在建完一棵正常树状分类器后会被采用。
在一个示例性实施例中,采用Microsoft Office Excel工作表中的数据作为表格数据列的列表的来源。
在一个示例性实施例中,建立数据透视表的指令,可以是Microsoft OfficeExcel工作表中的预先设定的选项,当点击该选项,则触发建立数据透视表;也可以是当用户选中数据列时自动提示数据透视表。
在一个示例性实施例中,获取模块10获取表格中被选中的数据列,其中获取的数据列可以是直接选择的数据列,也可以是利用直接选择的数据列经过删减或者扩展后得到的数据列。
在一个示例性实施例中,获取模块10获取当前表格中被选中的数据列包括数据列的标题及对应标题的数据;也可以仅包括对应标题的数据。
在一个示例性实施例中,预先生存的随机森林模型,是通过采集至少一个数据透视表作为训练数据样本,提取至少一个特征按照决策树的生成步骤建立数据透视表行决策树,再根据数据透视表行决策树建立的。
在一个示例性实施例中,分析模块20,将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行,是指:
将获取的每个数据列的至少一个预设的特征值分别输入预先生成的随机森林模型,计算每个数据列的预测行字段得分;根据所述预测行字段得分在预设范围内的列,生成作为所述数据透视表的行。在其他的实施方式中可采用逻辑运算的方式进行推理,比如模型直接输出“是”“否”。本实施例中仅是一个实例性的方式,在此不做限定。
分析模块20,用于根据分析结果满足预设条件的数据列,生成所述数据透视表的行,是指:将所述分析结果满足预设条件的数据列中内容相同的单元格的值进行合并,将合并后的每个值分别作为所述数据透视表的行标题。例如图2所示,分析结果满足预设条件的数据列为“托管方式”,将相同的托管方式例如多个“午托”等进行合并后作为所述数据透视表的行标题。
在一个示例性实施例中,所述预定的至少一个顺序包括第一从左到右的顺序,当按照第一从左到右的顺序进行遍历时,获取模块10获取的所述每个所述被选中的数据列的至少一个预定的特征值包括:整个数据列列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差。
在一个示例性实施例中,所述预定的至少一个顺序包括第二从左到右的顺序,当按照从左到右的顺序进行遍历时,获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以左的各列含从左到右的顺序,当按照第二从左到右的顺序进行遍历时,获取模块10获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
在一个示例性实施例中,所述预定的至少一个顺序包括从右到左的顺序,当按照从右到左的顺序进行遍历时,获取模块10获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以右的各列含数字的列数,自身及自身以右的各列含中文、英文、日期的列数。
上述第一从左到右的顺序和第二从左到右的顺序是指分别两次按照从左到右的顺序遍历上述不同的特征值,一次是得到整个数据列列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差,另一次时得到自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
上述实施例中的特征值可以通过预定的顺序进行获取,相对于计算机处理比较简单,当然本领域技术人员可以采用其他预定的顺序获取上述特征值,本申请的获取特征值的宗旨在于特征值的结果,而不在于获取的顺序,在此不做限定。
其中,特征1:整个数据列列数,具体的,整个数据列列数为表格总的列数,同一个表格每一列这个特征值是一样的。
特征2:索引值,具体的,索引值为这一列在整个表格中是第几列,从左计数。
特征3:整列含有的类型,具体的,类型包括中文、英文、日期、数字,将整列中所有单元格出现过的类型统计出来,将这几个类型分别转换到一个特定的数字表示,然后将所有含有的类型对应的数字相加起来,得到该特征值。例如,如图2所示的数据列第一列特征值3具体是每个类型对应一个数字,将这些数字累加起来得到的整列含有的类型对应为322。又比如数字类型对应64,中文类型对应是128,则包含中文和数字的类型累加得到192。
特征4:去掉重复单元后得到的个数,具体的,将一列所有单元格中内容有重复出现的去掉,计算单元格个数。
特征5:重复单元格内容出现次数的方差,具体的,统计每个单元格内容在该列出现的次数,将这些出现次数计算方差,得到该特征值。
特征6:单元格字符长度最大值,具体的,计算该列单元格内容字符长度最长的值,得到该特征值。
特征7:单元格字符长度的方差,具体的,统计每个单元格字符长度,将这些数字计算方差,得到该特征值。
特征8:自身及自身以左的各列含数字的列数,具体的,从左边第一列开始计算至当前列,计算包含数字的列的个数.
特征9:自身及自身以左的各列含中文、英文、日期的列数,具体的,从左边第一列开始计算至当前列,计算包含中文、英文、日期的列的个数。
特征10:自身及自身以右的各列含数字的列数,具体的,从右边第一列开始计算至当前列,计算包含数字的列的个数。
特征11:自身及自身以右的各列含中文、英文、日期的列数,具体的,从右边第一列开始计算至当前列,计算包含中文、英文、日期的列的个数。
在一个示例性实施例中,分析模块,用于所述将获取的每个数据列的至少一个预定的特征值分别输入预先生成的随机森林模型,包括:
分析模块10,用于将获取的每个数据列的整个数据列列数、索引值、整列含有的类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差、自身及自身以左的各列含数字的列数、自身及自身以左的各列含中文、英文、日期的列数、自身及自身以右的各列含数字的列数、自身及自身以右的各列含中文、英文、日期的列数依次输入随机森林模型对每列的列表进行分析。
本领域技术人员可以理解的是随机森林算法只需要提供正确的特征值和模型,就能够得到分数。随机森林中间过程是算法的封装,并不是该项专利的范畴。
本领域技术人员可以理解的是训练出来的随机森林模型需要对应特征值,顺序是不能随意修改的,除非是比如优化算法的时候,用新的用户数据重新训练模型,只要不增减特征值,则再次训练出来的模型相同的且顺序不变。本申请采用该顺序能够得到相当精确的结果。
本申请通过随机森林模型对按照预定顺序获取的表格数据列的列表的至少一个特征值进行分析,为用户自动找到数据透视表的行所在的列,并确定给用户,从而降低用户使用门槛,给用户提供更方便的途径。
如2所示,本申请实施例一表格数据列的列表包括A,B,C,D,E,共5列,每列的标题分别为“年级”、“姓名”、“托管方式”、“天数”、“老师天数”。用户期望把“托管方式”和“老师天数”进行求和。
如图3-4所示,现有技术采用数据透视表把“托管方式”和“老师天数”进行求和的操作方法。首先选中当前表格区域,点击插入,数据透视表,再在右上角把“托管方式”拖拽到右下角“行”,把“老师天数”拖拽到右下角的“值”,得到数据透视表后再进行数据分析。现有技术需要多步进行操作。
采用本申请确定数据透视表的方法,系统自动获取表格的至少一个特征值,本实施例中为11个特征值。如表1所示,以第一列为例:
第一列特征值1:数据列总列数值为5列;
第一列特征值2:索引值为0;
第一列特征值3:整列含有的类型为322;
第一列特征值4:去除重复单元格后的单元格个数为0;
第一列特征值5:重复单元格内容出现次数的方差为0;
第一列特征值6:单元格字符长度最大值为5;
第一列特征值7:单元格字符长度的方:0;
第一列特征值8:自身及自身以左的各列含数字的列数0例;
第一列特征值9:自身及自身以左的各列含中文、英文、日期的列数0例;
第一列特征值10:自身及自身以右的各列含数字的列数2例;
第一列特征值11:自身及自身以右的各列含中文、英文、日期的列数为2例。
将上述11个特征值输入随机森林模型进行分析计算,得到计算结果预测行字段分数为0.1。本实施例阈值范围为分数介于0-1之间,当数据列的计算分数大于0.6时,可以根据该数据生成数据透视表的行。第一列的预测行字段分数为0.1小于0.6,故不能作为数据透视表的行。以此类推,预测行字段分数大于0.6且在0-1之间的是主题名称为“托管方式”的列,最终通过C列“托管方式”自动生成数据透视表的行。
表1
列标题 年级 姓名 托管方式 天数 老师天数
特征值1 5 5 5 5 5
特征值2 0 1 2 3 4
特征值3 322 320 256 64 64
特征值4 0 25 5 8 8
特征值5 0 0.366606056 6.493073232 3.471251471 3.699452718
特征值6 5 3 5 2 2
特征值7 0 0.304543478 1.283759343 0.405080694 0.405080694
特征值8 0 0 0 1 2
特征值9 0 1 2 2 2
特征值10 2 2 2 2 1
特征值11 2 2 1 0 0
预测行字段分数 0.1 0.0 0.8 0.0 0.0
如5所示,本申请实施例二表格数据列的列表包括A,B,C,D,E,F,共6列,每列的标题分别为“站点名称”、“物资名称”、“单位、“设计数量”、“施工用量”、“理核实数量”。
系统自动获取表格的至少一个特征值,本实施例中为11个特征值。如表2所示,以第一列为例:
第一列特征值1:数据列总列数值为6列;
第一列特征值2:索引值为0;
第一列特征值3:整列含有的类型为448;
第一列特征值4:去除重复单元格后的单元格个数为0;
第一列特征值5:重复单元格内容出现次数的方差为0;
第一列特征值6:单元格字符长度最大值为11;
第一列特征值7:单元格字符长度的方为0;
第一列特征值8:自身及自身以左的各列含数字的列数0例;
第一列特征值9:自身及自身以左的各列含中文、英文、日期的列数0例;
第一列特征值10:自身及自身以右的各列含数字的列数3例;
第一列特征值11:自身及自身以右的各列含中文、英文、日期的列数为2例。
依次将上述特征值输入随机森林模型进行分析计算,得到计算结果预测行字段分数为0.0。本实施例阈值范围为分数介于0-1之间,当数据列的计算分数大于0.6时,可以根据该数据生成作为数据透视表的行。第一列的预测行字段分数为0.0小于0.6,故第一列不能作为数据透视表的行。以此类推,预测行字段分数大于0.6且在0-1之间的是主题名称为“物资名称”的列,最终通过B列“物资名称”自动生成数据透视表的行。
表2
如图6所示,本发明确定数据透视表值的方法,包括如下步骤:
1)开始;
2)获取表格数据列的列表以及每列的标题;
3)遍历所有数据列,获取每列的以下特征值:整个数据列列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差;
4)遍历所有数据列,获取每列的以下特征值:该列以左的各列含数字的列数(含本列),该列以左的各列含中文、英文、日期的列数(含本列);
5)遍历所有数据列,获取每列的以下特征值:该列以右的各列含数字的列数(含本列),该列以右的各列含中文、英文、日期的列数(含本列);
6)结束。
本申请还保护一种定向投放内容的装置,包括处理器和存储器,所述存储器中存储有用于定向投放内容的程序;所述处理器用于读取所述用于定向投放内容的程序,执行上述所有实施例中的任一个步骤方法。
本申请还保护一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所有实施例中的任意一个步骤方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有至少一个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (9)

1.一种生成数据透视表行的方法,其特征在于,所述方法包括:
当接收到针对当前表格建立数据透视表的指令后,获取当前表格中被选中的数据列,分别以预定的至少一个顺序遍历所述被选中的数据列,对于每个所述被选中的数据列,分别获取该数据列的至少一个预定的特征值;
将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;
根据分析结果满足预设条件的数据列,生成所述数据透视表的行;
所述将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:
将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,计算每个数据列的预测行字段得分;根据所述预测行字段得分在预设范围内的数据列,生成作为所述数据透视表的行;
所述特征值包括以下至少之一:整个数据列列数,索引值,整列含有的数据类型,去除重复单元格后的单元格个数,重复单元格内容出现次数的方差,单元格字符长度最大值,单元格字符长度的方差,自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数,自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
2.根据权利要求1所述的方法,其特征在于,所述根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:
将所述分析结果满足预设条件的数据列中内容相同的单元格的值进行合并,将合并后的每个值分别作为所述数据透视表的行标题。
3.根据权利要求1所述的方法,其特征在于:所述随机森林模型,是通过采集多个数据透视表作为训练数据样本,提取至少一个特征按照决策树的生成步骤建立数据透视表行决策树,并根据数据透视表行决策树建立的。
4.根据权利要求1所述的方法,其特征在于,所述预定的至少一个顺序包括第一从左到右的顺序,当按照第一从左到右的顺序进行遍历时,所述获取的每个所述被选中的数据列的至少一个预定的特征值包括:整个数据列的列数、索引值、整列含有的数据类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差。
5.根据权利要求4所述的方法,其特征在于,所述预定的至少一个顺序包括从第二左到右的顺序,当按照第二从左到右的顺序进行遍历时,获取的所述每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
6.根据权利要求5所述的方法,其特征在于,所述预定的至少一个顺序包括从右到左的顺序,当按照从右到左的顺序进行遍历时,获取的每个所述被选中的数据列的至少一个预定的特征值还包括:自身及自身以右的各列含数字的列数,自身及自身以右的各列含中文、英文、日期的列数。
7.根据权利要求6所述的方法,其特征在于,所述将获取的每个数据列的至少一个预定的特征值分别输入预先生成的随机森林模型,包括:
将获取的每个数据列的整个数据列列数、索引值、整列含有的类型、去除重复单元格后的单元格个数、重复单元格内容出现次数的方差、单元格字符长度最大值、单元格字符长度的方差、自身及自身以左的各列含数字的列数、自身及自身以左的各列含中文、英文、日期的列数、自身及自身以右的各列含数字的列数、自身及自身以右的各列含中文、英文、日期的列数依次输入随机森林模型对每列的列表进行分析。
8.一种定向投放内容的装置,其特征在于,包括:
获取模块,用于当接收到针对当前表格建立数据透视表的指令后,获取当前表格中被选中的数据列;
分析模块,用于分别以预定的至少一个顺序遍历所述被选中的数据列,对于每个所述被选中的数据列,分别获取该数据列的至少一个预定的特征值;将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行;
所述将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,得到每个数据列对应所述预定的特征值的分析结果;根据分析结果满足预设条件的数据列,生成所述数据透视表的行,包括:
将获取的每个数据列的所述预定的特征值分别输入预先生成的随机森林模型,计算每个数据列的预测行字段得分;根据所述预测行字段得分在预设范围内的数据列,生成作为所述数据透视表的行;
所述特征值包括以下至少之一:整个数据列列数,索引值,整列含有的数据类型,去除重复单元格后的单元格个数,重复单元格内容出现次数的方差,单元格字符长度最大值,单元格字符长度的方差,自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数,自身及自身以左的各列含数字的列数,自身及自身以左的各列含中文、英文、日期的列数。
9.一种定向投放内容的装置,包括处理器和存储器,其特征在于,所述存储器中存储有用于定向投放内容的程序;所述处理器用于读取所述用于定向投放内容的程序,执行权利要求1-7中任一项所述的方法。
CN201911087790.0A 2019-11-08 2019-11-08 一种生成数据透视表行的方法及装置 Active CN112783890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911087790.0A CN112783890B (zh) 2019-11-08 2019-11-08 一种生成数据透视表行的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911087790.0A CN112783890B (zh) 2019-11-08 2019-11-08 一种生成数据透视表行的方法及装置

Publications (2)

Publication Number Publication Date
CN112783890A CN112783890A (zh) 2021-05-11
CN112783890B true CN112783890B (zh) 2024-05-07

Family

ID=75748472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911087790.0A Active CN112783890B (zh) 2019-11-08 2019-11-08 一种生成数据透视表行的方法及装置

Country Status (1)

Country Link
CN (1) CN112783890B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684068A (zh) * 2004-04-14 2005-10-19 微软公司 目标变量的自动数据透视生成
CN105631398A (zh) * 2014-11-24 2016-06-01 三星电子株式会社 识别对象的方法和设备以及训练识别器的方法和设备
WO2018075995A1 (en) * 2016-10-21 2018-04-26 DataRobot, Inc. Systems for predictive data analytics, and related methods and apparatus
CN108140141A (zh) * 2015-08-15 2018-06-08 易享信息技术有限公司 采用3d批归一化的三维(3d)卷积

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260578A1 (en) * 2006-05-04 2007-11-08 Microsoft Corporation Pivot table without server side on-line analytical processing service
US8437506B2 (en) * 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
US11079897B2 (en) * 2018-05-24 2021-08-03 The Calany Holding S. À R.L. Two-way real-time 3D interactive operations of real-time 3D virtual objects within a real-time 3D virtual world representing the real world

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684068A (zh) * 2004-04-14 2005-10-19 微软公司 目标变量的自动数据透视生成
CN105631398A (zh) * 2014-11-24 2016-06-01 三星电子株式会社 识别对象的方法和设备以及训练识别器的方法和设备
CN108140141A (zh) * 2015-08-15 2018-06-08 易享信息技术有限公司 采用3d批归一化的三维(3d)卷积
WO2018075995A1 (en) * 2016-10-21 2018-04-26 DataRobot, Inc. Systems for predictive data analytics, and related methods and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OpenStreetMap数据在城市土地利用制图应用中的研究;王忠芳;《中国优秀硕士学位论文全文数据库》;A008-45 *
基于随机森林的工控企业网络安全智能故障诊断研究;杨东英;《现代计算机》;第70-73页 *

Also Published As

Publication number Publication date
CN112783890A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN108170792B (zh) 基于人工智能的问答引导方法、装置和计算机设备
Hofmann et al. Text mining and visualization: Case studies using open-source tools
Creutz et al. Unsupervised morpheme segmentation and morphology induction from text corpora using Morfessor 1.0
BenSaïda et al. The shifting dependence dynamics between the G7 stock markets
US11416684B2 (en) Automated identification of concept labels for a set of documents
US20150026556A1 (en) Systems and Methods for Extracting Table Information from Documents
CN103699521A (zh) 文本分析方法及装置
US9152705B2 (en) Automatic taxonomy merge
CN112784549A (zh) 一种生成图表的方法、装置、及存储介质
CN112783890B (zh) 一种生成数据透视表行的方法及装置
CN112784556B (zh) 一种生成数据透视表值的方法及装置
US11514233B2 (en) Automated nonparametric content analysis for information management and retrieval
CN112784557B (zh) 一种确定数据透视表的方法及装置
CN116049644A (zh) 特征筛选和聚类分箱方法、装置、电子设备及存储介质
CN114840642A (zh) 事件抽取方法、装置、设备及存储介质
CN110413899B (zh) 服务器存储新闻的存储资源优化方法及系统
CN114238597A (zh) 一种信息抽取方法、装置、设备及存储介质
CN113449004A (zh) 数据匹配方法及装置
CN112784555B (zh) 一种生成数据透视图的方法及装置
Brant et al. The fraud loss for selecting the model complexity in fraud detection
CN114037857B (zh) 图像分类精度提升方法
CN112364135B (zh) 基于多源数据的对象推送方法、装置、设备及存储介质
Yuan et al. CEMA–Cost-Efficient Machine-Assisted Document Annotations
Burkhardt Online Multi-label Text Classification Using Topic Models
CN114757275A (zh) 业务规则提取方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant