一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据模型导出方法及数据建模平台与流程

2022-03-04 23:19:07 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种数据模型导出方法及数据建模平台。


背景技术:

2.在大数据时代,各行各业的反欺诈仅仅依靠规则已经不能很好的为企业的风控把关,机器学习算法正在不断流行化。传统的规则配置与编写,各行业的业务人员基本可以熟练地运作,然而面对机器学习算法,业务人员很难上手。
3.专利cn107103050a公开一种大数据建模平台及方法,该技术存在以下不足:该技术中提供的分类、聚类算法种类少;该技术中没有涉及到集成学习算法、深度学习算法;该技术未提供模型导出与模型在线服务。可处理的数据文件类型以及数据库类型范围较少,即:适用范围窄,支持各种平台的数据存在一定的技术难度。决定模型效果最重要的是数据,其次是特征选择,再其次是模型的选择及模型参数调优。该技术没有在特征层面扩展衍生,而直接使用用户上传的字段特征,这将会直接影响到模型的效果;该技术需要用户自己构建流程图,然后对比选择最优模型,没有提供自动推荐模型的功能。
4.专利cn107423823b公开一种基于r语言的机器学习建模平台架构设计方法,该技术存在以下不足:该技术支持r语言的第三方机器学习库较少,该专利是基于r语言的,当前的机器学习库基本都是基于python语言的,只有少量库提供基于r语言,所以这是一个缺点。该技术中提供的分类、聚类算法种类少。该技术中没有涉及到集成学习算法;该技术中没有涉及到深度学习算法;该技术未提供模型导出与模型-在线服务。决定模型效果最重要的是数据,其次是特征选择,再其次是模型的选择及模型参数调优。该技术没有在特征层面扩展衍生,而直接使用用户上传的字段特征,这将会直接影响到模型的效果;该技术需要用户自己对比选择最优模型,没有提供自动推荐模型的功能。


技术实现要素:

5.本发明提供一种数据模型导出方法及数据建模平台,能够提供完整的机器学习算法模型使用流程,涵盖基本所有的机器学习算法,针对某些企业,其没有足够的技术人员与水平,但是又有模型需求的,其技术人员可以很容易的使用该建模平台;针对企业的业务人员,可以在无需了解技术的基础上,应用机器学习模型到日常工作中。
6.第一方面,本发明提供一种数据模型导出方法,包括:
7.接收上传的数据;
8.对所述数据进行预处理;
9.将预处理后的数据拆分为训练集和预测集;
10.对训练集和预测集的数据进行特征工程;
11.基于所述特征工程后的训练集的数据训练数据模型;
12.根据所述数据模型,对所述预测集以及特征工程后的预测集进行预测;
13.对所述数据模型在训练集和预测集上分别对各项评价指标进行评价;
14.针对所述数据模型在训练集和预测集上的各项评价指标,优化数据模型中的各个参数;
15.从多个维度对训练数据模型过程中的算法进行可视化;
16.将训练并且优化后的数据模型导出为模型文件;
17.接收用户上传的数据后,根据用户上传的数据,自动给用户进行数据模型推荐;
18.将所述模型文件发布至不同平台并提供api服务。
19.进一步地,所述上传的数据为本地文件、hdfs文件或数据库文件;所述本地文件包括文本文件和压缩文件;所述hdfs文件基于提供的hdfs路径上传,所述hdfs路径包含通配符以模糊匹配路径,所述hdfs文件包括文本文件和压缩文件;所述数据库文件包括关系型数据库和非关系型数据库。
20.进一步地,对所述数据进行预处理包括:
21.对所述数据各字段值的有效性进行校验;
22.对所述数据各字段缺失值进行处理,在某字段缺失值的占比大于或等于预设阈值时,直接剔除该字段;在某字段缺失值的占比小于预设阈值时,采用均值、众数、特殊值、或者机器学习算法预测缺失值;
23.对所述数据各字段异常值进行处理,采用统计分析或者箱型图分析方式,判断各字段是否存在异常值,如果存在异常值,则对异常值采用缺失值的处理方式进行处理。
24.进一步地,将预处理后的数据拆分为训练集和预测集的步骤中,根据指定字段按比例拆分、按照指定的规则拆分或者按照时间顺序拆分。
25.进一步地,对训练集和预测集的数据进行特征工程包括:
26.对训练集和预测集的数据进行特征筛选,剔除其中的冗余特征,通过卡方检验、f检验、互信息、包装法、潜入法中的一种或者多种选择重要的特征字段;
27.对训练集和预测集的数据进行新增特征字段,所述新增特征字段的方式包括特征归一化、枚举类特征离散化、多个字段融合、增加二值化特征、增加多个字段之间的多项式组合特征以及通过模型新增组合特征中的一种或者多种。
28.进一步地,基于所述特征工程后的训练集的数据训练数据模型的步骤中,如果给定的训练集的数据带标签,则选择分类算法或者集成学习算法训练数据模型;
29.如果给定的训练集的数据没有标签,则选择聚类算法训练数据模型;
30.如果当前的训练集的数据存在时间序列关系,则选择深度学习算法训练数据模型。
31.进一步地,对所述数据模型在训练集和预测集上分别对各项评价指标进行评价的步骤中,所述评价指标包含:准确率、召回率、f1值、roc曲线、auc、混淆矩阵、mae、mse、rmse、sse、r平方。
32.进一步地,针对所述数据模型在训练集和预测集上的各项评价指标,优化数据模型中的各个参数的步骤中,采用网格搜索的方式寻找最优参数值。
33.进一步地,将训练并且优化后的数据模型导出为模型文件的步骤中,将训练并且优化后的数据模型保存为pkl文件或者xml文件。
34.第二方面,本发明提供一种数据建模平台,包括:
35.接收单元,用于接收上传的数据;
system,分布式文件系统)文件或数据库文件;所述本地文件包括文本文件和压缩文件(如parquent格式文件);所述hdfs文件基于提供的hdfs路径上传,所述hdfs路径包含通配符以模糊匹配路径,所述hdfs文件包括文本文件和压缩文件;所述数据库文件包括关系型数据库和非关系型数据库。关系型数据库,如:mysql、oracle等,非关系型数据库,如:cassandra、hbase、redis、elastic search、solr等。
55.步骤s102,对所述数据进行预处理。
56.具体地,对所述数据进行预处理可以包括:对所述数据各字段值的有效性进行校验。对所述数据各字段缺失值进行处理,例如:在某字段缺失值的占比大于或等于预设阈值时,直接剔除该字段;在某字段缺失值的占比小于预设阈值时,可以考虑采用均值、众数、特殊值、或者机器学习算法预测缺失值。对所述数据各字段异常值进行处理,例如:采用基本的统计分析或者箱型图分析方式,判断各字段是否存在异常值,如果存在异常值,则对异常值采用缺失值的处理方式进行处理。
57.步骤s103,将预处理后的数据拆分为训练集和预测集。
58.具体地,针对经过预处理后的数据拆分成两部分,一部分用于模型的训练,另一部分用于模型的预测,具体的拆分方式如:根据指定字段按比例拆分、按照指定的规则拆分、按照时间顺序拆分等。
59.步骤s104,对训练集和预测集的数据进行特征工程。
60.针对用户提供的数据文件,其中包含的特征字段往往不能直接用于模型的训练,需要进行特征重要性的筛选以及增加新的特征字段,如:对训练集和预测集的数据进行特征筛选,各特征彼此之间是否存在着线性或非线性的关系,剔除其中的冗余特征,通过卡方检验、f检验、互信息、包装法、潜入法中的一种或者多种选择重要的特征字段。
61.训练集和预测集的数据进行新增特征字段,所述新增特征字段的方式包括特征归一化、枚举类特征离散化、多个字段融合、增加二值化特征、增加多个字段之间的多项式组合特征以及通过模型新增组合特征中的一种或者多种。
62.新增特征的方式有很多,通常需要具体问题具体分析,以下仅举例说明:
63.特征归一化:数据中包含的特征可能取值范围差异很大,如包括:身高、体重、年龄、消费金额等。此外针对大数值类的字段,如:金额,也可以考虑取log之类的操作。枚举类特征离散化:对于字符类枚举特征,通常需要转化成数值型,如:省份、城市等字段。时间类特征,可拓展出:具体所在的月份、天、小时、是否节假日、是否休息日、是否活动日等。标识身份类特征,如:手机号码、身份证号等,可拓展出:其所在的省份、城市、地区等。多个字段融合,如:交易金额和交易时间字段,如果在凌晨时间段内交易金额巨大,则可能存在的欺诈风险比单纯看交易金额字段大。增加二值化特征,如:某个特征值a缺失严重,则可以新增一个特征字段b:若a缺失,则b为1,不缺失为0;又如某特征值超过指定阈值为1,否则为0;若特征值缺失不严重,则可以对当前特征进行缺失值填充。增加多个字段之间的多项式组合特征。通过模型新增组合特征,比如:首先gradientboostingclassifier模型,然后通过遍历各树到叶子结点得到组合特征(梯度提升树)。
64.步骤s105,基于所述特征工程后的训练集的数据训练数据模型。
65.具体地,可选择合适的算法训练数据模型。根据具体的任务选择究竟是用分类、聚类、集成还是深度学习,对于每一类算法都包含很多具体的算法,比如:分类算法一共包含9
种,需要通过训练对比各个算法,最终确定哪个算法是合适的。如果给定的训练集的数据带标签,则选择分类算法或者集成学习算法训练数据模型;如果给定的训练集的数据没有标签,则选择聚类算法训练数据模型;如果当前的训练集的数据数据量很庞大,且存在时间序列关系,则选择深度学习算法训练数据模型。
66.目前实施例提供但不限于以下算法:
67.分类算法:逻辑回归,logistic regression;k最近邻算法,k-nearestneighbor;神经网络,neural network;支持向量机,support vector machine;决策树,decision tree;朴素贝叶斯,naive bayes;多层感知器,multi-layer perceptron classifier;基于决策树算法的分布式梯度提升框架(lightgbm);极度梯度提升,xgboost;
68.聚类算法:k均值,kmeans;小批量k均值,minibatchkmeans;ap聚类,affinitypropagation;合成聚类,agglomerativeclustering;综合层次聚类,birch;基于密度的聚类,dbscan;均值偏移,meanshift;谱聚类,spectralclustering;
69.集成学习:自适应提升分类、回归,adaboostclassifier、adaboostregressor;baggingclassifier、baggingregressor;极端随机树分类、回归,extratreesclassifier、extratreesregressor;随机森林分类、回归,randomforestclassifier、randomforestregressor;梯度提升决策树分类、回归,gradientboostingclassifier、gradientboostingregressor;随机树嵌入,randomtreeembedding;孤立森林,isolationforest;表决分类器,votingclassifier;
70.深度学习,目前提供的深度学习是基于tensorflow框架:循环神经网络、双向循环神经网络,rnn(recurrent neural network,循环神经网络)、birnn;长短期记忆网络、双向长短期记忆网络,lstm(long short-term memory,长短期记忆网络)、bilstm;循环门控单元、双向循环门控单元,gru(gated recurrent unit,循环门控单元)、bigru;编码器解码器,seq2seq(sequence to sequence,编码器解码器)。
71.步骤s106,根据所述数据模型,对所述预测集以及特征工程后的预测集进行预测。
72.步骤s107,对所述数据模型在训练集和预测集上分别对各项评价指标进行评价。
73.具体地,所述评价指标包含但不限于以下:准确率、召回率、f1值、roc(receiver operating characteristic curve,受试者工作特征曲线)、auc(area under curve,roc曲线下面积)、混淆矩阵、mae(mean absolute error,平均绝对误差)、mse(mean square error,均方误差)、rmse(root mean square error,均方根误差)、sse(the sum of squares due to error,误差平方和)、r平方等。
74.步骤s108,针对所述数据模型在训练集和预测集上的各项评价指标,优化数据模型中的各个参数。
75.具体地,针对模型在训练集和预测集上的各项评价指标,为提升模型的效果,可以优化模型中的各个参数,优化时可以采用网格搜索的方式(gridsearch)寻找最优参数值。
76.步骤s109,从多个维度对训练数据模型过程中的算法进行可视化。
77.具体地,可以从多个维度进行可视化,以便于从多个角度对比各个模型的效果。如:其中的树模型,可以采用多叉树的形式表示;可以从特征的维度,展示特征的箱线图、特征之间的散点图等。
78.步骤s110,将训练并且优化后的数据模型导出为模型文件。
79.具体地,针对前面已经训练并且优化好的模型,可以将文件保存成pkl(packing list file,序列化文件)或者xml(x extensive markup language;可扩展标示语言)文件,具体保存方式如下:
80.pkl文件:将模型序列化之后保存至文件。
81.xml文件:该文件是从pkl文件转换而来,主要包含以下部分:头信息、数据信息、挖掘目标、特征工程、模型信息。头信息主要是模型的描述信息;数据信息主要包含了变量的相关信息,包括变量名、类型、变量值等;挖掘目标主要包括特征变量以及目标变量;特征工程主要包括各特征字段进行的预处理操作,特征工程在xml文件中不是必要的,因为可以采用线上、线下分开实现;模型信息主要定义模型在接收到输入数据之后,具体的操作流程直至最终的模型输出。
82.步骤s111,接收用户上传的数据后,根据用户上传的数据,自动给用户进行数据模型推荐。
83.具体地,仅仅针对用户上传的数据,在无需任何交互的前提下,自动给用户推荐相对较优的模型,具体的实现步骤(数据预处理,特征工程,模型选择和模型参数优化)全部在后端完成。
84.步骤s112,将所述模型文件发布至不同平台并提供api服务。
85.具体地,模型应用主要基于两方面:针对导出的模型文件,可以直接发布至其他平台,如:反欺诈平台,从而更有效、及时的识别到新型的欺诈行为。本发明提供api服务,输入是待预测的源数据,输出是预测的结果。本发明提供模型导出和api的服务,可以方便其他需要使用模型的平台进行直接使用,比如:反欺诈平台、设备指纹平台等,方便现有平台直接对接使用,客户无需花费大量时间改版平台。可以帮助对技术完全不懂的人员使用机器学习算法,从而更有效、更及时地识别欺诈等行为,帮助企业挽回不必要的损失。
86.本发明提供了建模的整个流程,即:在上传数据之后,只需要通过简单的拖拽就可以实现复杂的建模流程;同时,也可以在没有任何交互的前提下推荐相对较优的模型;本发明中提供的算法广而全,技术人员可以简单的对比各个算法之间的效果,从而选出最优模型;本发明中得到的最优模型,可以以文件形式导出直接供其它平台使用,从而更有效的、及时的应用;本发明中提供了模型在线服务,技术人员直接调用api服务将待预测的源数据作为输入,输出就是待预测的结果,具体的各种数据预处理、特征工程均由api内部实现。
87.如图2所示,本发明还提供一种数据建模平台,包括:
88.接收单元21,用于接收上传的数据;
89.预处理单元22,用于对所述数据进行预处理;
90.拆分单元23,用于将预处理后的数据拆分为训练集和预测集;
91.特征工程单元24,用于对训练集和预测集的数据进行特征工程;
92.训练单元25,用于基于所述特征工程后的训练集的数据训练数据模型;
93.预测单元26,用于根据所述数据模型,对所述预测集以及特征工程后的预测集进行预测;
94.评价单元27,用于对所述数据模型在训练集和预测集上分别对各项评价指标进行评价;
95.优化单元28,用于针对所述数据模型在训练集和预测集上的各项评价指标,优化
数据模型中的各个参数;
96.可视化单元29,用于从多个维度对训练数据模型过程中的算法进行可视化;
97.导出单元30,用于将训练并且优化后的数据模型导出为模型文件;
98.推荐单元31,用于在接收用户上传的数据后,根据用户上传的数据,自动给用户进行数据模型推荐;
99.api服务单元32,用于将所述模型文件发布至不同平台并提供api服务。
100.本建模平台流程完善,且覆盖的机器学习算法范围广而全,包括:分类算法、聚类算法、集成学习、深度学习等;平台可以自动推荐相对较优模型;平台提供多样化特征工程方式;本建模平台训练出的模型,可以导出成xml文件或者pkl文件供其它平台直接调用;本建模平台提供了模型在线服务,直接对接原始待预测数据。
101.本发明实施例还提供一种存储介质,本发明实施例还提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现本发明提供的数据模型导出方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。
102.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
103.本说明书中各个实施例之间相同相似的部分互相参见即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献