CN114692871A - 决策树训练方法、运单类型识别方法及装置、设备、介质 - Google Patents
决策树训练方法、运单类型识别方法及装置、设备、介质 Download PDFInfo
- Publication number
- CN114692871A CN114692871A CN202210322056.3A CN202210322056A CN114692871A CN 114692871 A CN114692871 A CN 114692871A CN 202210322056 A CN202210322056 A CN 202210322056A CN 114692871 A CN114692871 A CN 114692871A
- Authority
- CN
- China
- Prior art keywords
- waybill
- decision tree
- segmentation
- target
- data
- 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.)
- Pending
Links
- 238000003066 decision tree Methods 0.000 title claims abstract description 153
- 238000012549 training Methods 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000011218 segmentation Effects 0.000 claims abstract description 151
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 64
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013138 pruning Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 9
- 238000010977 unit operation Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims 1
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000015654 memory Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Development Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及智慧物流技术领域,提供了一种决策树训练和运单类型识别方法及装置、设备、存储介质。该训练方法,包括:根据多条运单标志位数据生成目标训练样本集,其中,每条运单标志位数据包括多个特征位分别对应的数据;将目标训练样本集分配至决策树中的根节点;利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征;基于目标分割特征,对待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;迭代执行上述操作,直到满足预设分割终止条件,得到训练完成的决策树。
Description
技术领域
本公开涉及智慧物流技术领域,具体地涉及一种决策树训练方法和装置、运单类型识别方法和装置、电子设备、计算机存储介质和程序产品。
背景技术
在物流管理中,运单被分为多种运单类型,需要根据运单标志位识别运单类型。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在当前物流系统的运单类型识别方法中,主要通过人工观察运单标志位的特点,进行运单类型的识别,识别速度慢,数据量和运单类型的增加也会造成工作人员工作量的增加,难以在短期内完成运单识别工作。
发明内容
鉴于上述问题,本公开提供了一种决策树训练方法和装置、运单类型识别方法和装置、电子设备、计算机存储介质和程序产品。
根据本公开的第一个方面,提供了一种训练用于识别运单类型的决策树的方法,包括:
根据多条运单标志位数据生成目标训练样本集,其中,每条运单标志位数据包括多个特征位分别对应的数据,特征位用于识别运单类型;
将目标训练样本集分配至决策树中的根节点;
利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征,其中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割;
基于目标分割特征,对待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
迭代执行利用预设算法,对下一个待分配分割特征的子节点分配下一个目标分割特征,并基于下一个目标分割特征,对下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
根据本公开的实施例,其中,利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征包括:
利用预设算法,对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值;
将基尼值满足预设数值判别条件的特征位对应的数据确定为目标分割特征。
根据本公开的实施例,其中,对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值包括:
利用并行处理节点并行执行:对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值的操作,其中并行处理节点包括统计节点和多个计算节点,其中
单个计算节点用于:确定被分配至单个计算节点的运单标志位数据所包含的运单类型、以及每种运单类型的数量;
统计节点用于:汇总多个计算节点的计算结果以得到与待分配分割特征的子节点关联的每种运单类型的数量,并且根据与待分配分割特征的子节点关联的每种运单类型的数量,计算与待分配分割特征的子节点关联的每个特征位对应的基尼值。
根据本公开的实施例,上述方法还包括:
对训练完成的决策树进行剪枝,以得到目标决策树。
根据本公开的实施例,其中,对训练完成的决策树进行剪枝,以得到目标决策树包括:
利用并行处理节点并行执行:确定训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果,其中并行处理节点包括统计节点和多个计算节点,其中单个计算节点用于并行计算被分配至单个计算节点的每个叶子节点的识别结果,统计节点用于对同一叶子节点的识别结果进行汇总,以得到所述训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果;
根据每个叶子节点对运单标志位数据的识别结果、与每个叶子节点关联的运单标志位数据的实际运单类型,确定每个叶子节点的识别错误率;
将识别错误率大于预设错误率阈值的叶子节点去除,以得到目标决策树。
根据本公开的实施例,其中,根据多条运单标志位数据生成目标训练样本集包括:
对多条运单标志位数据进行离散化处理,以得到两个训练样本子集;
从两个训练样本子集中确定目标训练样本集。
根据本公开的实施例,其中,对多条运单标志位数据进行离散化处理,以得到两个训练样本子集包括:
对多条运单标志位数据进行排序,以得到样本序列;
利用并行处理节点并行执行确定样本序列的多个初始断点的操作;
根据多个初始断点确定目标断点;
根据目标断点将样本序列二分割,以得到两个训练样本子集。
本公开的第二方面提供了一种应用决策树进行运单类型识别方法,包括:
获取待识别运单标志位数据;
将待识别运单标志位数据输入利用上述方法训练得到的决策树;
利用决策树输出待识别运单标志位数据的运单类型。
本公开的第三方面提供了一种训练用于识别运单类型的决策树的装置,包括生成模块、第一分配模块、第二分配模块、分割模块和迭代模块。
其中,生成模块,用于根据多条运单标志位数据生成目标训练样本集,其中,每条运单标志位数据包括多个特征位分别对应的数据,特征位用于识别运单类型;
第一分配模块,用于将目标训练样本集分配至决策树中的根节点;
第二分配模块,用于利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征,其中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割;
分割模块,用于基于目标分割特征,对待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
迭代模块,用于迭代执行利用预设算法,对下一个待分配分割特征的子节点分配下一个目标分割特征,并基于下一个目标分割特征,对下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
根据本公开的实施例,其中,第二分配模块包括第一处理单元和第一确定单元。
其中,第一处理单元,用于利用预设算法,对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值;
第一确定单元,用于将基尼值满足预设数值判别条件的特征位对应的数据确定为目标分割特征。
根据本公开的实施例,其中,第一处理单元包括第一执行子单元。
其中,第一执行子单元,用于利用并行处理节点并行执行:对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值的操作,其中并行处理节点包括统计节点和多个计算节点,其中
单个计算节点用于:确定被分配至单个计算节点的运单标志位数据所包含的运单类型、以及每种运单类型的数量;
统计节点用于:汇总多个计算节点的计算结果以得到与待分配分割特征的子节点关联的每种运单类型的数量,并且根据与待分配分割特征的子节点关联的每种运单类型的数量,计算与待分配分割特征的子节点关联的每个特征位对应的基尼值。
根据本公开的实施例,上述装置还包括剪枝模块,用于对训练完成的决策树进行剪枝,以得到目标决策树。
根据本公开的实施例,其中,剪枝模块包括执行单元、第二确定单元和去除单元。
其中,执行单元,用于利用并行处理节点并行执行:确定训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果,其中并行处理节点包括统计节点和多个计算节点,其中单个计算节点用于并行计算被分配至单个计算节点的每个叶子节点的识别结果,统计节点用于对同一叶子节点的识别结果进行汇总,以得到所述训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果;
第二确定单元,用于根据每个叶子节点对运单标志位数据的识别结果、与每个叶子节点关联的运单标志位数据的实际运单类型,确定每个叶子节点的识别错误率;
去除单元,用于将识别错误率大于预设错误率阈值的叶子节点去除,以得到目标决策树。
根据本公开的实施例,其中,生成模块包括第二处理单元、第三确定单元。
第二处理单元,用于对多条运单标志位数据进行离散化处理,以得到两个训练样本子集;
第三确定单元,用于从两个训练样本子集中确定目标训练样本集。
根据本公开的实施例,其中,第二处理单元包括排序子单元、第二执行子单元、确定子单元和分割子单元。
其中,排序子单元,用于对多条运单标志位数据进行排序,以得到样本序列;
第二执行子单元,用于利用并行处理节点并行执行确定样本序列的多个初始断点的操作;
确定子单元,用于根据多个初始断点确定目标断点;
分割子单元,用于根据目标断点将样本序列二分割,以得到两个训练样本子集。
本公开的第四方面提供了一种应用决策树进行运单类型识别装置,包括获取模块、输入模块和输出模块。
其中,获取模块,用于获取待识别运单标志位数据;
输入模块,用于将待识别运单标志位数据输入利用上述方法训练得到的决策树;
输出模块,用于利用决策树输出待识别运单标志位数据的运单类型。
本公开的第五方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述训练用于识别运单类型的决策树的方法。
本公开的第六方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述训练用于识别运单类型的决策树的方法。
本公开的第七方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述训练用于识别运单类型的决策树的方法。
根据本公开的实施例,根据本公开的实施例,上述训练方法中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割,通过确定目标分割特征来进行训练决策树,可构建起适合本公开实施例的运单识别应用场景的决策树,且后续在利用训练好的决策树进行运单类型识别时,可以精确到利用运单标志位数据中的某一位来实现将运单进行层层分类,提高识别准确率,且可实现运单类型的自动化识别,提高识别效率,避免了人工识别方法识别效率低、运单标志未数据特征位较多的情况下难以识别、且易识别错误的问题。另外,相比于人工决策树,利用预设算法训练的决策树模型结构轻量化,不存在冗余节点,识别速度更快,且不易过拟合,同时训练速度也更快,具有较强的实用性,为物流体系中运单类型的识别提供了技术支撑。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的方法、装置、设备、介质和程序产品的应用场景图;
图2示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的方法的流程图;
图3示意性示出了根据本公开实施例的利用MapReduce对数据进行统计的示意图;
图4示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的方法的流程图;
图5示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的装置的结构框图;以及
图6示意性示出了根据本公开实施例的适于实现训练用于识别运单类型的决策树的方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在物流管理中,运单被分为多种运单类型,为对运单进行有效管理,需对运单进行运单标志位(WayBillSign)的打标操作,并且需要根据运单标志位识别运单类型。
在当前物流系统的运单类型识别方法中,主要通过人工观察运单标志位的特点,进行运单类型的识别,在当前物流系统的运单类型识别方法中,主要通过人工观察运单标志位的特点,进行运单类型的识别。该方法通过对不同运单类型的标志位进行分析比较,选择能够进行分类的标志位特征,进而进行运单类型的识别,具有实现简单、易于理解、方便修改等优点。
虽然人工判断的方案具有实现简单、易于理解等优点,但该方法也存在着一些缺点,例如:识别速度慢,数据量和运单类型的增加也会造成工作人员工作量的增加,难以在短期内完成运单识别工作,对于长度为n的运单标志位,若采用人工方法对特征进行特征筛选,则算法复杂度为o(2n),基本无法选出最合适的识别特征。并且由于人工识别主观性较强,随着运单数据量和运单类型的增多,人工在进行特征选择时,往往会忽略一些重要的特征,且忽略了各特征之间的关联性和互补性,易识别错误,当运单类型识别出错时,将对物流体系造成不容轻视的负面影响。
相关技术中例如可采用人工构建决策树的方法以解决全人工识别存在的问题,人工决策树存在着诸多问题,例如模型结构复杂、识别速度慢。同时,随着数据量的增加,决策树的构建也存在着诸多问题,例如过拟合等风险,且人工构建的决策数虽然实现简单,但在实现过程中会造成后台代码量的增加和代码实现的冗余,模型深度的增加对运行速度有一定的影响。
因此,开发一种准确率高、运行效率高、鲁棒性强的运单类型自动识别方法具有重要的应用价值和研究意义。
有鉴于此,本公开的实施例公开的一个方面,提供了一种训练用于识别运单类型的决策树的方法,包括:
根据多条运单标志位数据生成目标训练样本集,其中,每条运单标志位数据包括多个特征位分别对应的数据,特征位用于识别运单类型;
将目标训练样本集分配至决策树中的根节点;
利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征,其中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割;
基于目标分割特征,对待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
迭代执行利用预设算法,对下一个待分配分割特征的子节点分配下一个目标分割特征,并基于下一个目标分割特征,对下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
图1示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的方法、装置、设备、介质和程序产品的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
在本公开的应用场景下,用户可通过终端设备101、102、103通过网络104与服务器105交互,向服务器发起用于执行本公开实施例的训练用于识别运单类型的决策树的方法请求,例如用户可通过终端设备101、102、103输入各种训练所需的参数、并且向服务器105传递训练样本数据,响应于用户请求,服务器105执行本公开实施例的训练决策树的方法,例如:根据多条训练样本数据,即运单标志位数据生成目标训练样本集,将目标训练样本集分配至决策树中的各个节点,并对各个子节点迭代执行利用预设算法分配目标分割特征、以及基于目标分割特征,子节点中的运单标志位数据进行分割的操作,直到满足预设分割终止条件,得到训练完成的决策树。
需要说明的是,本公开实施例所提供的训练方法一般可以由服务器105执行。相应地,本公开实施例所提供的训练装置一般可以设置于服务器105中。本公开实施例所提供的训练方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的训练装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图6对公开实施例的训练用于识别运单类型的决策树的方法进行详细描述。
图2示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的方法的流程图。
如图2所示,该实施例的训练方法包括操作S210~操作S250。
在操作S210,根据多条运单标志位数据生成目标训练样本集,其中,每条运单标志位数据包括多个特征位分别对应的数据,特征位用于识别运单类型;
在操作S220,将目标训练样本集分配至决策树中的根节点;
在操作S230,利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征,其中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割;
在操作S240,基于目标分割特征,对待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
在操作S250,迭代执行利用预设算法,对下一个待分配分割特征的子节点分配下一个目标分割特征,并基于下一个目标分割特征,对下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
根据本公开的实施例,运单标志位数据是物流运单号中的一部分随机号,由数字和字母组成,例如:13567AB;每个运单都包含一个运单标志位数据,运单标志位数据可用于表征运单类型,通过识别某一运单标志位数据可得到该运单的运单类型。运单标志位数据可从运单数据库中导出。在物流管理中,运单被分为多种运单类型,例如:快递运单、快运运单、大件运单、冷链运单、航空运单、水运运单等等。
根据本公开的实施例,根据多条运单标志位数据生成目标训练样本集,例如可以是对多条运单标志位数据进行数据预处理得到目标训练样本集,数据预处理方法例如可以是通过数据清洗滤除脏数据、填充缺失数据、对数据进行离散化操作等等。
根据本公开的实施例,每条运单标志位数据包括多个特征位分别对应的数据,例如运单标志位数据13567AB包括7个特征位,7个特征位分别对应的数据为:第1个特征位对应“1”、第2个特征位对应“3”、第3个特征位对应“5”、第4个特征位对应“6”、第5个特征位对应“7”、第6个特征位对应“A”、第7个特征位对应“B”。其中,特征位用于识别运单类型,代表了该运单属于某一种类型运单的可能性,例如第4个特征位对应“6”代表运单类型可能为快递;例如第4个特征位对应“5”代表运单类型可能为快运等等,运单类型的确定可以是通过运单标志位数据中的多个特征位的数据综合确定的,本公开实施例的决策树可以通过多个特征位的层层识别,最终确定运单类型。
根据本公开的实施例,将目标训练样本集分配至决策树中的根节点后,通过对根节点进行分割得到下一层的子节点、再对下一层的子节点进行分割……直至终止条件,即得到训练好的决策树。训练该决策树的过程,即为对各个子节点迭代执行利用预设算法分配目标分割特征、以及基于目标分割特征对各个子节点中的运单标志位数据进行分割的操作的过程。
上述操作例如是:对根节点中包含的多个运单标志位数据进行分割,可通过预设算法确定对根节点分割的决策条件,即确定目标分割特征,例如目标分割特征可以是:第3位数等于5,则执行将第3位数等于5的运单标志位数据划分至下一层的其中一个子节点,将第3位数不等于5的特征划分至下一层的另一个子节点,如此对根节点的分割操作完成。
根据本公开的实施例,预设算法可以是适用于该运单类型识别场景的各种算法,例如可以是ID3决策树算法。
根据本公开的实施例,通过构建好的决策树,可用于对待识别的运单标志位数据进行分类,每个叶子节点中的数据属于同一运单类型。
根据本公开的实施例,上述训练方法中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割,通过确定目标分割特征来进行训练决策树,可构建起适合本公开实施例的运单识别应用场景的决策树,且后续在利用训练好的决策树进行运单类型识别时,可以精确到利用运单标志位数据中的某一位来实现将运单进行层层分类,提高识别准确率,且可实现运单类型的自动化识别,提高识别效率,避免了人工识别方法识别效率低、运单标志未数据特征位较多的情况下难以识别、且易识别错误的问题。另外,相比于人工决策树,利用预设算法训练的决策树模型结构轻量化,不存在冗余节点,计算机处理器执行识别速度更快,且不易过拟合,同时训练速度也更快,降低了对计算机设备硬件的要求,具有较强的实用性,为物流体系中运单类型的识别提供了技术支撑。
根据本公开的实施例,上述方法中,确定目标分割特征的预设算法可以是ID3算法,进一步地,利用预设算法(ID3算法)对决策树中待分配分割特征的子节点分配目标分割特征包括:
对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值;
将基尼值满足预设数值判别条件的特征位对应的数据确定为目标分割特征。
根据本公开的实施例,上述方法通过ID3算法遍历待执行子节点中包含的每个运单标志位数据,得到与该子节点关联的每个特征位对应的基尼值,例如可以是通过ID3算法计算得到:决策条件1(第1个特征位等于1)对应的基尼值为0.5,决策条件2(第2个特征位等于3)对应的基尼值为0.03,决策条件3(第4个特征位等于3)对应的基尼值为0.047……,之后将将基尼值满足预设数值判别条件,例如是基尼值最小的决策条件作为分隔决策条件,即将最终选定的该特征位对应的数据确定为目标分割特征。
根据本公开的实施例,ID3算法根据最大信息熵增益来选取当前最佳的特征来分割数据,并按照该特征的所有取值来切分,在建立决策树的过程中,根据特征属性划分数据,使得原本混乱的数据的熵(混乱度)减少,实现过程简单,且可迅速实现数据切分,因本公开实施例的场景下,运单标志位数据特征较多,且规律性较差,通过使用ID3算法在满足使用精度的前提下可提高训练的速度。
根据本公开的实施例,为了提高训练的速度,可在MapReduce框架下并行化实现决策树模型。具体地,在MapReduce框架下,利用MapReduce执行节点(并行处理节点)并行执行:对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值的操作。
其中MapReduce执行节点(并行处理节点)包括统计节点(Reduce端执行节点)和多个计算节点(Map端执行节点)。
其中,单个计算节点(Map端执行节点)用于:确定被分配至单个计算节点的运单标志位数据所包含的运单类型、以及每种运单类型的数量;统计节点(Reduce端执行节点)用于:汇总多个计算节点的计算结果以得到与待分配分割特征的子节点关联的每种运单类型的数量,并且根据与待分配分割特征的子节点关联的每种运单类型的数量,计算与待分配分割特征的子节点关联的每个特征位对应的基尼值。
图3示意性示出了根据本公开实施例的利用MapReduce对数据进行统计的示意图。
如图3所示,本公开的实施例将需要统计的数据分不到不同的服务器上面进行统计,并最终将统计的数据进行汇总。
具体地,在统计的过程中,Reduce将会接收到每个map端输出的<key,value>对。其中,key相同的数据会被划分到同一个Reduce中。在Reduce模块中,将根据输入<属性值,类别值>进行统计合算,形成计算信息增益需要的输出<属性值,类别值>。并计算整体信息嫡、属性信息嫡和分裂信息量,从而生成决策树。
在本公开实施例的应用场景下,上述操作可以是,每个map端通过利用ID3算法对map端中的运单标志位数据进行处理后,输出<运单类型,运单数量>,即map端中包含的运单类型、以及每种运单类型的数量,Reduce将会接收到每个map端输出的数据,将运单类型相同的数据会被划分到同一个Reduce中。Reduce汇总多个map端的计算结果,汇总得到与待执行子节点关联的多个运单标志位数据的识别汇总结果:<运单类型,运单数量>,即每种运单类型下的运单数量(运单数量为计算基尼值的中间参数),之后再利用求得的运单数量,依据ID3算法中计算基尼值的计算逻辑,求得与该子节点关联的每个特征位对应的基尼值(即在每个特征位下随机抽取两个样本,其类别不一致的概率)。
根据本公开的实施例,因决策树算法中较复杂的过程是进行数据属性值和属性值类别数量的统计,本公开的实施例通过MapReduce的并行化处理可以极大提高统计的速度,提高决策树训练的速度。
根据本公开的实施例,上述方法还包括:对训练完成的决策树进行剪枝,以得到目标决策树。通过对决策树进行剪枝操作,可防止过拟合。
根据本公开的实施例,为了提高剪枝的速度,可在MapReduce框架下并行化实现剪枝过程。
具体地,首先在MapReduce框架下,利用MapReduce执行节点(并行处理节点)并行执行:确定训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果。
其中MapReduce执行节点(并行处理节点)包括统计节点(Reduce端执行节点)和多个计算节点(Map端执行节点)。
其中,单个计算节点(Map端执行节点)用于:并行计算被分配至单个计算节点的每个叶子节点的识别结果,统计节点(Reduce端执行节点)用于对同一叶子节点的识别结果进行汇总,以得到所述训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果;
之后,根据每个叶子节点对运单标志位数据的识别结果、与每个叶子节点关联的运单标志位数据的实际运单类型,确定每个叶子节点的识别错误率;
最后,将识别错误率大于预设错误率阈值的叶子节点去除,以得到目标决策树。
上述过程中,利用MapReduce实现剪枝的具体处理逻辑如下:
首先,将利用Hadoop的分布模式将数据切割分布,发送到各服务器上,同时将初步建立的决策树结构传输到各个主机上。上述操作变将数据集进行了分离,以使数据独立分布。
然后,通过多个map计算被分配至每个map的每个叶子节点的识别结果(运单类别),map输出形成的<key,value>对,在每个map上面根据决策树对每个样本值进行数据决策的判断,根据预测是否正确输出形成如下的<key,value>对:<决策树树节点号,类别1>或<决策树树节点号,类别2>……。其中key值为判断的树节点编号,value值为识别的结果。
之后,Reduce模块接受map端的输出,同一个key值的数据会映射到相同的Reduce模块。根据相同的key,如果该节点是错误输入,则将此节点号的识别失败数加1,样本总数加1,否则只将此节点的总数加1,以此在Reduce模块可以统计每个树叶节点的识别错误率。
最后,根据最终的输出文件。对节点的错误率进行一个悲观估计,此结果会决定对决策树是否进行剪枝。根据本公开的实施例,由于计算量很大的统计操作己经完成,在决策树的节点数量不是特别大的情况下,计算错误率的工作也可以通过单机完成。
根据本公开的实施例,在决策树剪枝过程中,计算量比较大的是识别结果的统计,通过结合MapReduce的并行化处理,将计算量很大的统计工作由MapReduce并行完成,可提高处理的速度。
根据本公开的实施例,上述训练方法中,根据多条运单标志位数据生成目标训练样本集,例如可以是对多条运单标志位数据进行数据预处理得到目标训练样本集,数据预处理方法例如可以包括通过数据清洗滤除脏数据、填充缺失数据、对数据进行离散化操作等等。
具体地,对数据进行离散化操作例如可以是对多条运单标志位数据进行二分离散化处理,以得到两个训练样本子集;之后从两个训练样本子集中确定目标训练样本集。
根据本公开的实施例,上述对多条运单标志位数据进行离散化处理,以得到两个训练样本子集具体可包括:
首先对从数据库中获取的多条运单标志位数据进行数据清洗,以滤除脏数据,例如可以判断每条数据的属性是不是连续型属性,具体因运单标志位数据仅包括数字或/和字母,可通过判断数据集每列的属性的每一个字符是不是属于数字和字母,如果每个字符都是属于这个范围,可以确定数据属性属于连续型属性。
之后,对多条运单标志位数据进行排序,以得到样本序列;即将连续数据属性的所有值按升序排成一个序列,通过快速排序(时间复杂度为),形成序列S{S1,S2,...,Sn}。其中,n为连续值的数量。其中样本序列S中的每个数据Si代表其中一个运单标志位数据,样本序列S可以为按照升序或者降序将多个运单标志位数据排序形成的序列。
然后,确定样本序列的多个初始断点,例如,根据S序列形成断点s,其中,s=Si+Si +1(1≤i≤n-1),n个样本数据则形成有n-1个断点间隔s。
再然后,根据多个初始断点确定目标断点;具体地,可将将每个断点s分成两个子集,分别计算以其为属性划分标准计算信息增益率GainRatio,并求出增益率取的最大值时的断点s作为目标断点。
最后,根据目标断点将样本序列二分割,以得到两个训练样本子集,即根据多个断点s中的最大增益率断点将序列S进行二分,完成原始数据的二分离散化。
根据本公开的实施例,对多条运单标志位数据进行二分离散化处理得到两个训练样本子集后,从两个训练样本子集中确定目标训练样本集,例如可以是分别将两个训练样本子集中的一部分(例如四分之一合)并作为目标训练样本集,将两个训练样本子集中剩余部分(例如四分之三)合并作为测试样本集。
根据本公开的实施例,通过对条运单标志位数据进行离散化处理,可实现将数据特征离散化和分散化,提高训练样本的可用性,以处理后的数据训练决策树,可提高决策树预测的准确性。
根据本公开的实施例,上述操作中,确定样本序列的多个初始断点,也可以是在MapReduce框架下并行化实现多个断点间隔s的确定,即利用MapReduce执行节点(并行处理节点)并行执行确定样本序列的多个初始断点的操作。
其中MapReduce执行节点(并行处理节点)包括统计节点(Reduce端执行节点)和多个计算节点(Map端执行节点),具体执行的过程可参考本公开实施例中有关利用MapReduce实现决策树训练、以及利用MapReduc实现决策树剪枝的描述,在此不再赘述。
图4示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的方法的流程图。
如图4所示,该实施例的训练方法包括操作S410~操作S450。
在操作S410,从运单数据库中导出运单系统中的多条运单标志位数据。
在操作S420,利用MapReduce对上述多条运单标志位数据进行二分离散化处理,以得到两个训练样本子集;之后从两个训练样本子集中确定目标训练样本集和测试样本集。具体执行过程可参考上述本公开实施例中有关对根据多条运单标志位数据生成目标训练样本集,以及对多条运单标志位数据进行二分离散化处理的描述,在此不再赘述。
在操作S430,利用MapReduce,以目标训练样本集训练决策树,以构建决策树模型。具体操作可参考上述本公开实施例中有关训练决策树以及利用MapReduce并行执行对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值的描述,在此不再赘述。
在操作S440,利用MapReduce对构建的决策树进行剪枝,具体操作可参考上述本公开实施例中有关在MapReduce框架下并行化实现剪枝操作的描述,在此不再赘述。
在操作S450,利用测试样本集,对训练得到的决策树进行测试验证,以验证其进行数据识别分类的准确性。
本公开的上述实施例提供了一种基于并行化处理的训练用于识别运单类型的决策树的方法,该方法采用Java编写MapReduce对ID3决策树进行训练,为物流体系中运单类型的识别提供了技术支撑。
本公开的还提供了一种应用决策树进行运单类型识别方法,包括:
获取待识别运单标志位数据;
将待识别运单标志位数据输入利用本公开实施例上述训练方法得到的决策树;
利用决策树输出待识别运单标志位数据的运单类型。
根据本公开的实施例,通过利用上述方法训练好的决策树进行运单类型识别,可以精确到利用运单标志位数据中的某一位来实现将运单进行层层分类,提高了识别准确率,且可实现运单类型的自动化识别,提高识别效率,避免了人工识别方法识别效率低、运单标志未数据特征位较多的情况下难以识别、且易识别错误的问题。
基于上述训练方法,本公开还提供了一种训练用于识别运单类型的决策树的装置。
图5示意性示出了根据本公开实施例的训练用于识别运单类型的决策树的装置的结构框图。以下将结合图5对该装置进行详细描述。
如图5所示,该装置500,包括生成模块510、第一分配模块520、第二分配模块530、分割模块540和迭代模块550。
其中,生成模块510,用于根据多条运单标志位数据生成目标训练样本集,其中,每条运单标志位数据包括多个特征位分别对应的数据,特征位用于识别运单类型;
第一分配模块520,用于将目标训练样本集分配至决策树中的根节点;
第二分配模块530,用于利用预设算法对决策树中待分配分割特征的子节点分配目标分割特征,其中,目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割;
分割模块540,用于基于目标分割特征,对待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
迭代模块550,用于迭代执行利用预设算法,对下一个待分配分割特征的子节点分配下一个目标分割特征,并基于下一个目标分割特征,对下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
根据本公开的实施例,上述训练装置中,第二分配模块530确定的目标分割特征用于基于目标特征位对应的数据,对待分配分割特征的子节点中的运单标志位数据进行分割,通过第二分配模块530确定目标分割特征来进行训练决策树,可构建起适合本公开实施例的运单识别应用场景的决策树,且后续在利用训练好的决策树进行运单类型识别时,可以精确到利用运单标志位数据中的某一位来实现将运单进行层层分类,提高识别准确率,且可实现运单类型的自动化识别,提高识别效率,避免了人工识别方法识别效率低、运单标志未数据特征位较多的情况下难以识别、且易识别错误的问题。另外,通过该装置构建的决策树,相比于人工决策树结构轻量化,不存在冗余节点,识别速度更快,且不易过拟合,同时训练速度也更快,具有较强的实用性,为物流体系中运单类型的识别提供了技术支撑。
根据本公开的实施例,第二分配模块包括第一处理单元和第一确定单元。
其中,第一处理单元,用于利用预设算法,对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值;
第一确定单元,用于将基尼值满足预设数值判别条件的特征位对应的数据确定为目标分割特征。
根据本公开的实施例,第一处理单元包括第一执行子单元。
其中,第一执行子单元,用于利用并行处理节点并行执行:对待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与待分配分割特征的子节点关联的每个特征位对应的基尼值的操作,其中并行处理节点包括统计节点和多个计算节点,其中
单个计算节点用于:确定被分配至单个计算节点的运单标志位数据所包含的运单类型、以及每种运单类型的数量;
统计节点用于:汇总多个计算节点的计算结果以得到与待分配分割特征的子节点关联的每种运单类型的数量,并且根据与待分配分割特征的子节点关联的每种运单类型的数量,计算与待分配分割特征的子节点关联的每个特征位对应的基尼值。
根据本公开的实施例,上述装置还包括剪枝模块,用于对训练完成的决策树进行剪枝,以得到目标决策树。
根据本公开的实施例,剪枝模块包括执行单元、第二确定单元和去除单元。
其中,执行单元,用于利用并行处理节点并行执行:确定训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果,其中并行处理节点包括统计节点和多个计算节点,其中单个计算节点用于并行计算被分配至单个计算节点的每个叶子节点的识别结果,统计节点用于对同一叶子节点的识别结果进行汇总,以得到所述训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果;
第二确定单元,用于根据每个叶子节点对运单标志位数据的识别结果、与每个叶子节点关联的运单标志位数据的实际运单类型,确定每个叶子节点的识别错误率;
去除单元,用于将识别错误率大于预设错误率阈值的叶子节点去除,以得到目标决策树。
根据本公开的实施例,生成模块包括第二处理单元、第三确定单元。
第二处理单元,用于对多条运单标志位数据进行离散化处理,以得到两个训练样本子集;
第三确定单元,用于从两个训练样本子集中确定目标训练样本集。
根据本公开的实施例,第二处理单元包括排序子单元、第二执行子单元、确定子单元和分割子单元。
其中,排序子单元,用于对多条运单标志位数据进行排序,以得到样本序列;
第二执行子单元,用于利用并行处理节点并行执行确定样本序列的多个初始断点的操作;
确定子单元,用于根据多个初始断点确定目标断点;
分割子单元,用于根据目标断点将样本序列二分割,以得到两个训练样本子集。
本公开还提供了一种应用决策树进行运单类型识别的装置,包括获取模块、输入模块和输出模块。
其中,获取模块,用于获取待识别运单标志位数据;
输入模块,用于将待识别运单标志位数据输入利用上述训练方法训练得到的决策树;
输出模块,用于利用决策树输出待识别运单标志位数据的运单类型。
根据本公开的实施例,通过利用上述装置进行运单识别,可以精确到利用运单标志位数据中的某一位来实现将运单进行层层分类,提高了识别准确率,且可实现运单类型的自动化识别,提高识别效率,避免了人工识别方法识别效率低、运单标志未数据特征位较多的情况下难以识别、且易识别错误的问题。
根据本公开的实施例,生成模块510、第一分配模块520、第二分配模块530、分割模块540、迭代模块550、获取模块、输入模块、输出模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,生成模块510、第一分配模块520、第二分配模块530、分割模块540、迭代模块550、获取模块、输入模块、输出模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,生成模块510、第一分配模块520、第二分配模块530、分割模块540、迭代模块550、获取模块、输入模块、输出模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现训练用于识别运单类型的决策树的方法的电子设备的方框图。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的训练方法。
在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (13)
1.一种训练用于识别运单类型的决策树的方法,包括:
根据多条运单标志位数据生成目标训练样本集,其中,每条所述运单标志位数据包括多个特征位分别对应的数据,所述特征位用于识别运单类型;
将所述目标训练样本集分配至决策树中的根节点;
利用预设算法对所述决策树中待分配分割特征的子节点分配目标分割特征,其中,所述目标分割特征用于基于目标特征位对应的数据,对所述待分配分割特征的子节点中的所述运单标志位数据进行分割;
基于所述目标分割特征,对所述待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
迭代执行利用所述预设算法,对所述下一个待分配分割特征的子节点分配下一个目标分割特征,并基于所述下一个目标分割特征,对所述下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
2.根据权利要求1所述的方法,其中,所述利用预设算法对所述决策树中待分配分割特征的子节点分配目标分割特征包括:
利用所述预设算法,对所述待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与所述待分配分割特征的子节点关联的每个特征位对应的基尼值;
将基尼值满足预设数值判别条件的特征位对应的数据确定为所述目标分割特征。
3.根据权利要求2所述的方法,其中,所述对所述待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与所述待分配分割特征的子节点关联的每个特征位对应的基尼值包括:
利用并行处理节点并行执行:所述对所述待分配分割特征的子节点中包含的运单标志位数据进行处理,以得到与所述待分配分割特征的子节点关联的每个特征位对应的基尼值的操作,其中所述并行处理节点包括统计节点和多个计算节点,其中
单个计算节点用于:确定被分配至所述单个计算节点的运单标志位数据所包含的运单类型、以及每种运单类型的数量;
统计节点用于:汇总多个计算节点的计算结果以得到与所述待分配分割特征的子节点关联的每种运单类型的数量,并且根据与所述待分配分割特征的子节点关联的每种运单类型的数量,计算与所述待分配分割特征的子节点关联的每个特征位对应的基尼值。
4.根据权利要求1所述的方法,所述方法还包括:
对所述训练完成的决策树进行剪枝,以得到目标决策树。
5.根据权利要求4所述的方法,其中,所述对所述训练完成的决策树进行剪枝,以得到目标决策树包括:
利用并行处理节点并行执行:确定所述训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果,其中所述并行处理节点包括统计节点和多个计算节点,其中单个计算节点用于并行计算被分配至所述单个计算节点的每个叶子节点的识别结果,所述统计节点用于对同一叶子节点的识别结果进行汇总,以得到所述训练完成的决策树中,每个叶子节点对运单标志位数据的识别结果;
根据每个叶子节点对运单标志位数据的识别结果、与每个叶子节点关联的运单标志位数据的实际运单类型,确定所述每个叶子节点的识别错误率;
将识别错误率大于预设错误率阈值的叶子节点去除,以得到所述目标决策树。
6.根据权利要求1所述的方法,其中,所述根据多条运单标志位数据生成目标训练样本集包括:
对所述多条运单标志位数据进行离散化处理,以得到两个训练样本子集;
从所述两个训练样本子集中确定所述目标训练样本集。
7.根据权利要求6所述的方法,其中,所述对所述多条运单标志位数据进行离散化处理,以得到两个训练样本子集包括:
对所述多条运单标志位数据进行排序,以得到样本序列;
利用并行处理节点并行执行确定所述样本序列的多个初始断点的操作;
根据所述多个初始断点确定目标断点;
根据所述目标断点将所述样本序列二分割,以得到所述两个训练样本子集。
8.一种应用决策树进行运单类型识别的方法,包括:
获取待识别运单标志位数据;
将所述待识别运单标志位数据输入利用权利要求1~7中任一项所述的方法训练得到的决策树;
利用所述决策树输出所述待识别运单标志位数据的运单类型。
9.一种训练用于识别运单类型的决策树的装置,包括:
生成模块,用于根据多条运单标志位数据生成目标训练样本集,其中,每条所述运单标志位数据包括多个特征位分别对应的数据,所述特征位用于识别运单类型;
第一分配模块,用于将所述目标训练样本集分配至决策树中的根节点;
第二分配模块,用于利用预设算法对所述决策树中待分配分割特征的子节点分配目标分割特征,其中,所述目标分割特征用于基于目标特征位对应的数据,对所述待分配分割特征的子节点中的所述运单标志位数据进行分割;
分割模块,用于基于所述目标分割特征,对所述待分配分割特征的子节点中的运单标志位数据进行分割,以得到下一个待分配分割特征的子节点对应的运单标志位数据;
迭代模块,用于迭代执行利用所述预设算法,对所述下一个待分配分割特征的子节点分配下一个目标分割特征,并基于所述下一个目标分割特征,对所述下一个待分配分割特征的子节点中的运单标志位数据进行分割,直到满足预设分割终止条件,得到训练完成的决策树。
10.一种应用决策树进行运单类型识别的装置,包括:
获取模块,用于获取待识别运单标志位数据;
输入模块,用于将所述待识别运单标志位数据输入利用权利要求1~7中任一项所述的方法训练得到的决策树;
输出模块,用于利用所述决策树输出所述待识别运单标志位数据的运单类型。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210322056.3A CN114692871A (zh) | 2022-03-29 | 2022-03-29 | 决策树训练方法、运单类型识别方法及装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210322056.3A CN114692871A (zh) | 2022-03-29 | 2022-03-29 | 决策树训练方法、运单类型识别方法及装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114692871A true CN114692871A (zh) | 2022-07-01 |
Family
ID=82141735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210322056.3A Pending CN114692871A (zh) | 2022-03-29 | 2022-03-29 | 决策树训练方法、运单类型识别方法及装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114692871A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795289A (zh) * | 2022-12-01 | 2023-03-14 | 北京淘友天下技术有限公司 | 特征识别方法、装置、电子设备及存储介质 |
-
2022
- 2022-03-29 CN CN202210322056.3A patent/CN114692871A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795289A (zh) * | 2022-12-01 | 2023-03-14 | 北京淘友天下技术有限公司 | 特征识别方法、装置、电子设备及存储介质 |
CN115795289B (zh) * | 2022-12-01 | 2024-05-28 | 北京淘友天下技术有限公司 | 特征识别方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657267B (zh) | 产品潜在用户挖掘方法及装置 | |
CN106844407B (zh) | 基于数据集相关性的标签网络产生方法和系统 | |
CN106919957B (zh) | 处理数据的方法及装置 | |
CN111178380A (zh) | 数据分类方法、装置及电子设备 | |
CN108241867B (zh) | 一种分类方法及装置 | |
CN112199602B (zh) | 岗位推荐方法、推荐平台及服务器 | |
CN111489201A (zh) | 一种客户价值分析的方法、设备、存储介质 | |
CN112559371B (zh) | 一种自动驾驶测试方法、装置及电子设备 | |
CN110471999B (zh) | 轨迹处理方法、装置、设备和介质 | |
CN111191825A (zh) | 用户违约预测方法、装置及电子设备 | |
CN113159934A (zh) | 一种网点客流量的预测方法、系统、电子设备及存储介质 | |
CN114692871A (zh) | 决策树训练方法、运单类型识别方法及装置、设备、介质 | |
US20140351196A1 (en) | Methods and systems for using clustering for splitting tree nodes in classification decision trees | |
CN114036921A (zh) | 一种政策信息匹配方法和装置 | |
CN112231299A (zh) | 一种特征库动态调整的方法和装置 | |
CN115563522B (zh) | 交通数据的聚类方法、装置、设备及介质 | |
CN116089886A (zh) | 信息处理方法、装置、设备及存储介质 | |
US20230029218A1 (en) | Feature engineering using interactive learning between structured and unstructured data | |
US20230009237A1 (en) | Multi-dimensional data labeling | |
CN113626605B (zh) | 信息分类方法、装置、电子设备及可读存储介质 | |
CN115952258A (zh) | 政务标签库的生成方法、政务文本的标签确定方法和装置 | |
CN114358024A (zh) | 日志分析方法、装置、设备、介质和程序产品 | |
CN110968690B (zh) | 词语的聚类划分方法和装置、设备以及存储介质 | |
CN110781283B (zh) | 连锁品牌词库生成方法、装置以及电子设备 | |
CN113837216A (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 |