首页> 中国专利> 一种基于机器学习的可视化数学建模方法和系统

一种基于机器学习的可视化数学建模方法和系统

摘要

本发明属于数学建模技术领域,公开了一种基于机器学习的可视化数学建模方法,包括:在显示界面展示至少一个节点组件;响应用户对于节点组件的拖拽指令,将节点组件移动到显示界面的视图窗口内;响应用户对于节点组件的参数设置指令,并根据各节点组件的链接关系完成组件链接,以获得流程视图;导入数据集,对数据集对应的算法进行训练、评估和特征参数调优,构建用户所需的算法模型。本发明的用户只需要在操作界面将需要用到的组件进行拖拽,然后做简单的参数设置,无需深入理解算法原理和技术细节,即可构建用户所需的算法模型,免去编码定义建模的过程,将开发模型到应用的周期大大缩短。

著录项

  • 公开/公告号CN112835570A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 深圳中科西力数字科技有限公司;

    申请/专利号CN202110276464.5

  • 发明设计人 李西前;谭力;陈林英;

    申请日2021-03-15

  • 分类号G06F8/34(20180101);

  • 代理机构51224 成都顶峰专利事务所(普通合伙);

  • 代理人曾凯

  • 地址 518000 广东省深圳市南山区桃源街道长源社区学苑大道1001号南山智园C2栋1801C区007

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本发明属于数学建模技术领域,具体涉及一种基于机器学习的可视化数学建模方法和系统。

背景技术

在计算机信息技术迅速发展的今天,大数据涉及到现代化生活的方方面面,在大数据时代,数据和算法是核心。随着大数据体量的不断增加、类型复杂,传统的统计建模方法已不能完全胜任。要做好大数据的应用,必须要有合理的数学模型作为支撑。

随着人工智能的飞速发展,通过机器学习平台,我们可以依据现有的数据获得合理的数学模型,利用这些数学模型不仅可以解决科学研究的一些问题,也可以应用到实际生活中的各个领域,积极地指导人们的生活生产等活动。机器学习平台通过创建并运行数学模型进行训练实验甚至多次反复地重复这个过程来改进、验证数学模型直至获得满意的模型项目,从而得到最终的数学项目。

现有技术中,在大数据建模过程中会运用到各种数据挖掘和数学建模工具,例如:SPSS、Watson Analytics、TempoAI、TipDM、PowerDesigner、ER/Studio、Sparx EnterpriseArchitect、CA Erwin、Teradata、RapidMiner等。然而,上述数据挖掘和数学建模工具基本都属于统计分析、统计图表范畴,主要是用于数据统计分析方面,而对于机器学习极其重要的数据探索这一前置步骤,上述工具则存在很大的不足;此外,上述工具都是面向数据分析从业人员、软件开发者,需要操作人员对业务非常专业才知道怎么操作,因此无法解决现有的大数据/人工智能领域“数据可视化、数据模式探索、预处理、数学建模及数学模型参数自动优化”对专业技能要求高、耗时长的难题。

发明内容

本发明的目的在于提供一种基于机器学习的可视化数学建模方法和系统,用以解决现有技术中的数学建模系统无法解决大数据/人工智能领域“数据可视化、数据模式探索、预处理、数学建模及数学模型参数自动优化”对专业技能要求高、耗时长的技术问题。

为了解决上述技术问题,本发明采用以下技术方案:

一种基于机器学习的可视化数学建模方法,所述方法包括:

在显示界面展示至少一个节点组件;其中,所述节点组件为图形化算法组件;

响应用户对于所述节点组件的拖拽指令,将所述节点组件移动到所述显示界面的视图窗口内;

响应用户对于所述节点组件的参数设置指令,并根据各所述节点组件的链接关系完成组件链接,以获得流程视图;

导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,构建用户所需的算法模型。

进一步的,所述导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,构建用户所需的算法模型,具体包括:

采集数据,对数据进行预处理,得到特征训练集,并利用随机分层抽样的方法得到交叉验证集;

根据所述特征训练集对算法进行训练并在所述视图窗口中画出训练中的算法图表,利用所述交叉验证集对训练后的算法进行评估;

通过不同随机种子、不同特征子集、不同预测比例以及不同算法进行多层次融合,以获得最佳融合权重,构建用户所需的算法模型。

进一步的,所述采集数据,对数据进行预处理,得到特征训练集,并利用随机分层抽样的方法得到交叉验证集,具体包括:

采集数据并生成原始数据表,将原始数据表转换为key-value格式;其中,key为数据ID,value为对应数据的完整记录;

对格式转换后的数据表进行数据清洗;

从不同维度进行特征提取,将其中互相关联的数据集转换为特征矩阵并进行特征聚合,以生成新特征;

将所述新特征进行预处理,得到特征训练集,并利用随机分层抽样的方法构建交叉验证集。

进一步的,所述利用所述交叉验证集对所述算法进行评估之后,还包括:

通过学习曲线判断所述算法是否过拟合或欠拟合,当存在过拟合或欠拟合时,返回到所述采集数据之后以及所述对数据预处理之前,重复执行当前流程。

进一步的,所述图形化算法组件包括以下组件中的一个或多个:

数据处理组件,用于定义算法的元数据并进行存储;

数据可视化组件,用于将所述元数据在所述视图窗口进行可视化多样展示;

算法封装组件,用于根据定义的元数据对算法进行封装;

模型训练和评估组件,用于对所述算法进行训练和评估;

建模组件,用于将一个或多个图形化算法组件进行实例化,并通过实例化后的图形化算法组件构建用户所需的算法模型。

进一步的,所述数据处理组件包括:

数据修饰组件,用于在二维画布上对采集的数据进行数据修饰;

属性选择组件,用于从行和列两个维度向数据集提供数据属性的选择方法;

排序组件,用于对数据集各属性进行排序,以使所述数据选择组件根据排序进一步选择属性;

数据合并组件,用于将不同属性的数据集合并生成新的数据集;

数据预处理组件,用于对数据进行离散化连续变量、连续离散变量、填充缺失的值、归一化、随机化、CUR矩阵分解处理,并选择不同评估参数对数据进行评估;

Python脚本组件,用于根据用户选择编写用户所需组件,并在所述Python脚本组件执行后得到相应的输出;

图浏览器组件,用于显示、更改数据集中的图片;

颜色组件,用于更改数据集中离散变量、数值变量的颜色;

特征构造组件,用于构建新的特征,得到新的数据集;

清理域组件,用于滤除属性中没有出现在数据中的包含值。

进一步的,所述数据可视化组件包括:

箱形图组件,用于显示属性值的分布,并能根据属性变量从不同分类上显示属性值的分布;

分布组件,用于显示连续变量和离散变量的值的分布,并能根据属性变量从不同分类上显示属性值的分布;

散点地图组件,用于显示两个属性在不同分类的关联性;

热图组件,用于展示每个分类中属性值的分布,通过k-means根据相似度合并数据,并能根据排序算法排序行和列;

线性投影组件,用于将多维的数据分布投影到二维数据分布;

筛图组件,用于显示两个属性各值之间相关的频率;

散点图组件,用于以二维坐标可视化连续或者离散属性;

韦恩图组件,用于显示一个或者多个数据集的韦恩图及显示数据集之间的关系。

进一步的,所述模型训练和评估组件包括:数据分类组件、数据回归组件以及数据评估组件;

其中,所述数据分类组件包括:

分类大多数预测组件,用于生成一个分类器并预测分类的大多数,然后与其他的分类器比较性能;

分类树组件,用于训练分类器算法模型,并将模型进行本地保存;

加载分类器组件,用于从文件加载分类器;

分类树浏览器组件,用于编辑分类树,并通过选中节点取消分类或者添加分类;

最近邻组件,用于训练KNN模型;

逻辑回归组件,用于训练逻辑回归模型;

朴素贝叶斯组件,用于训练朴素贝叶斯模型;

随机森林分类组件,用于训练随机森林分类模型;

支持向量机组件,用于训练支持向量机模型;

其中,所述数据回归组件包括:

平均学习组件,用于训练一个回归模型,并与其他回归模型进行比较;

随机梯度下降组件,用于训练随机梯度下降回归模型;

提供单变量回归组件,用于训练单变量回归模型;

其中,所述数据评估组件包括:

测试评分组件,用于给算法的效果进行打分;

预测组件,用于接受数据和分类器并分类数据;

混淆矩阵组件,用于显示分类的结果和正确的结果之间的比例;

ROC分析组件,用于绘制分类器的ROC曲线;

升程曲线组件,用于显示预测正确数与实例数之间的关系;

校正曲线组件,用于显示实际分类的概率和预测的概率的曲线之间的契合度。

进一步的,所述建模组件包括无监督算法组件、Spark Data组件和Spark ML组件;

其中,所述无监督算法组件包括:

距离矩阵组件,用于显示行之间或者列之间的距离矩阵;

距离地图组件,用于显示行之间或者列之间的距离;

分层聚类组件,用于对元素进行分层聚类;

K-Means组件,用于运行K-Means算法,给数据聚类;

PCA组件,用于使用主成分分析转化数据;

对应分析组件,用于将数据进行CA数据转换,分析变量取不同值之间的对应关系;

距离组件,用于计算行之间列之间的距离;

距离变换组件,用于对距离进行处理;

MDS组件,用于将观察到的数据用较少的维度表达;

其中,所述Spark Data组件包括:

Context组件,用于设置Spark的运行参数;

Hive Table组件,用于读取Hive的表;

Data Frame组件,用于执行Spark-sql获取数据;

ODBC组件,用于连接数据库和查询数据;

FillNa组件,用于替换数据集中空的值;

Sample组件,用于按照不同需求采集数据;

Cache Dataframe组件,用于将Dataframe缓存到内存中;

Spark From XiLi组件,用于将Xili Dataframe转化成Spark Dataframe数据类型;

Spark To XiLi组件,用于将Spark Dataframe转化成Xili Dataframe数据类型;

Spark From Pandas组件,用于将Pandas Dataframe转化成Spark Dataframe数据类型;

Spark To Pandas组件,用于将Spark Dataframe转化成Pandas Dataframe数据类型;

Xili From Pandas组件,用于将Pandas Dataframe转化成Xili Dataframe数据类型;

Xili To Pandas组件,用于将Xili Dataframe转化成Pandas Dataframe数据类型;

其中,所述Spark ML组件包括:

Classification组件,用于训练分类模型;

Clustering组件,用于训练k-means模型;

Regression组件,用于训练回归算法模型;

Recommandation组件,用于训练ALS矩阵分解计算模型;

EDataset Builder组件,用于生成特征向量及标签;

Feature组件,用于对特征进行处理;

Model transformer组件,用于采用一个算法和输入的数据集,输出结果数据集;

提供Evaluation组件,用于对算法模型效果进行评估。

本发明还提供一种基于机器学习的可视化数学建模系统,所述系统包括:

组件展示模块,用于在显示界面展示至少一个节点组件;其中,所述节点组件为图形化算法组件;

拖拽模块,用于响应用户对于所述节点组件的拖拽指令,将所述节点组件移动到所述显示界面的视图窗口内;

组件链接模块,用于响应用户对于所述节点组件的参数设置指令,并根据各所述节点组件的链接关系完成组件链接,以获得流程视图;

模型构建模块,用于导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,得到用户所需的算法模型。

本发明的有益效果为:通过在显示界面展示至少一个节点组件;通过响应用户对于所述节点组件的拖拽指令,将所述节点组件移动到所述显示界面的视图窗口内;通过响应用户对于所述节点组件的参数设置指令,并根据各所述节点组件的链接关系完成组件链接,以获得流程视图;通过导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,构建用户所需的算法模型。通过本发明,用户只需要在操作界面将需要用到的组件进行拖拽,然后做简单的参数设置,系统会自动进行流程链接,然后通过导入数据集,系统自动验证算法、自动调整各个特征的参数直至满足用户需求,满足需求后就会直接得到算法的封装程序包,不再需要人为干预;此过程中,无需用户深入理解算法原理和技术细节,即可构建用户所需的算法模型,免去编码定义建模的过程,将开发模型到应用的周期大大缩短。

附图说明

图1是本发明实施例中的基于机器学习的可视化数学建模方法的流程图;

图2是本发明实施例中一个应用开发流程示意框图;

图3是本发明实施例中步骤S4的流程示意图;

图4是本发明实施例中步骤S4的流程场景图;

图5是本发明实施例中的步骤S4.1的流程示意图;

图6是本发明实施例中的基于机器学习的可视化数学建模系统的结构框图;

图7是本发明实施例中一个具体应用例的操作界面示意图;

图8是本发明实施例中另一个具体应用例的操作界面示意图。

具体实施方式

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

应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相对地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。

应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。

应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。

应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以不必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清。

实施例一

请具体参见图1-5,本发明实施例中的一种基于机器学习的可视化数学建模方法,所述方法包括:

步骤S1,在显示界面展示至少一个节点组件;其中,所述节点组件为图形化算法组件;

步骤S2,响应用户对于所述节点组件的拖拽指令,将所述节点组件移动到所述显示界面的视图窗口内;

步骤S3,响应用户对于所述节点组件的参数设置指令,并根据各所述节点组件的链接关系完成组件链接,以获得流程视图;

步骤S4,导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,构建用户所需的算法模型。

请参见图3,在本发明实施例中,优选的,所述步骤S4具体包括:

步骤S4.1,采集数据,对数据进行预处理,得到特征训练集,并利用随机分层抽样的方法得到交叉验证集;

其中,所步骤S4.1具体包括:

步骤S4.11,采集数据并生成原始数据表,将原始数据表转换为key-value格式;其中,key为数据ID,value为对应数据的完整记录,以方便之后快速进行数据清洗和特征抽取;

步骤S4.12,对格式转换后的数据表进行数据清洗,包括去除掉数据表中的重复条目,处理数据表不规整条目;

步骤S4.13,从不同维度进行特征提取,将其中互相关联的数据集转换为特征矩阵并进行特征聚合,以生成新特征;

步骤S4.14,将所述新特征进行预处理,得到特征训练集,并利用随机分层抽样的方法构建交叉验证集;其中,所述预处理包括但不限于特征进行标准化和归一化处理,清洗异常特征样本,处理不平衡数据,填充缺失值;

步骤S4.2,根据所述特征训练集对算法进行训练并在所述视图窗口中画出训练中的算法图表,利用所述交叉验证集对训练后的算法进行评估;

其中,优选的,在所述利用所述交叉验证集对所述算法进行评估之后,还包括:通过学习曲线判断所述算法是否过拟合或欠拟合,当存在过拟合或欠拟合时,返回到所述采集数据之后以及所述对数据预处理之前,重复执行当前流程;即需要回到上述步骤,进行数据分析、特征工程等工作,再进行模型评估。

步骤S4.3,通过不同随机种子、不同特征子集、不同预测比例以及不同算法进行多层次融合,以获得最佳融合权重,构建用户所需的算法模型。

其中,需要说明的是,构建用户所需的算法模型之后进行封装,在进行算法封装时,根据实际情况,可以将一个算法封装为一个算法组件,也可以将多个算法封装为一个算法组件,具体不做限定。

本发明实施例通过在显示界面展示至少一个节点组件;通过响应用户对于所述节点组件的拖拽指令,将所述节点组件移动到所述显示界面的视图窗口内;通过响应用户对于所述节点组件的参数设置指令,并根据各所述节点组件的链接关系完成组件链接,以获得流程视图;通过导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,构建用户所需的算法模型。通过本发明,用户只需要在操作界面将需要用到的组件进行拖拽,然后做简单的参数设置,系统会自动进行流程链接,然后通过导入数据集,系统自动验证算法、自动调整各个特征的参数直至满足用户需求,满足需求后就会直接得到算法的封装程序包,不再需要人为干预;此过程中,无需用户深入理解算法原理和技术细节,即可构建用户所需的算法模型,免去编码定义建模的过程,将开发模型到应用的周期大大缩短。

实施例二

在实施例一的基础上,本实施例中的所述图形化算法组件包括以下组件中的一个或多个:

数据处理组件,用于定义算法的元数据并进行存储;

其中,需要说明的是,本实施例在获取数据时,通过以下方法获取:从文件读取数据和从网络获取数据,并提供SQL表功能用于连接数据库,数据提供固定比例采集、固定数量采集、交叉验证、分层采集,数据采集后显示数据载入信息。

其中,需要说明的是,在定义元数据时,可以对每一个算法的元数据分别进行定义,也可以将一些可以共用的参数定义为一个元数据,能够减少工作量,也有利于元数据复用;此外,各算法可以基于同一计算框架,也可以基于不同计算框架。

数据可视化组件,用于将所述元数据在所述视图窗口进行可视化多样展示;

算法封装组件,用于根据定义的元数据对算法进行封装;

其中,需要说明的是,在算法组件化后,不同的算法组件之间可能需要进行数据传输,为了实现这种需求,对于算法中一些较重要的元数据,例如算法中的输入输出的格式数据和参数的格式数据,需要单独进行定义。例如:需要使得算法组件的输出的格式与接收该数据的算法组件的输入的格式能够匹配,所述匹配可以指所述输出的格式与所述输入的格式相同或者能够自动转换。

模型训练和评估组件,用于对所述算法进行训练和评估;

建模组件,用于将一个或多个图形化算法组件进行实例化,并通过实例化后的图形化算法组件构建用户所需的算法模型。

实施例三

在实施例二的基础上,本实施例中的所述数据处理组件包括:

数据修饰组件,用于在二维画布上对采集的数据进行数据修饰;

其中,需要说明的是,所述数据修饰组件的功能包括:

1)根据实际需要编辑变量X轴、变量Y轴的名称;

2)根据实际需要选择放入的数据点的标签,同时可以添加标签或者删除选择的标签;

3)刷入数据、放入单个数据点、选择生成的数据点、在数据点中鼠标左键抖动数据点、将数据点吸引到一个点、清空生成的数据点,并且可以设置影响的半径和工具的强度;

5)输出修饰后生成的数据,也可以保存为图片,并且可以查看修饰后生成的数据集的详细信息描述。

属性选择组件,用于从行和列两个维度向数据集提供数据属性的选择方法;

其中,需要说明的是,所述属性选择组件的功能包括:

1)对数据集进行编辑,决定数据属性,编辑数据的域;

2)将可用变量移到特征,可用变量将出现在输出的数据集中;

3)将可用变量移到目标变量,输出的数据集将进行分类,如果为空,输出的数据为未分类的;

4)将可用变量移到元数据,则这些数据会出现在数据集中,也可以不采用;

5)数据集进行编辑,选择符合条件的行,并输出生成新的数据集;

6)通过添加、移除筛选条件对数据集进行编辑,并且可以通过移除未使用的特征和类来净化数据集。

排序组件,用于对数据集各属性进行排序,以使所述数据选择组件根据排序进一步选择属性;

其中,需要说明的是,所述排序组件的功能包括:

1)选择排序的算法,将选择后的数据提交得到新的数据集;

2)报告模块可以详细显示排序后数据集的详细信息描述。

数据合并组件,用于将不同属性的数据集合并生成新的数据集;

其中,需要说明的是,所述数据合并组件的功能包括:

1)对不同的数据的域属性进行合并操作,合并后得到新的数据集,并将更改后的数据输出;

2)进行域合并时,可以合并在所有表中出现的属性,也可以取所有表属性的交集进行合并,并且可以给数据源添加一个I D用来识别数据源。

数据预处理组件,用于对数据进行离散化连续变量、连续离散变量、填充缺失的值、归一化、随机化、CUR矩阵分解处理,并选择不同评估参数对数据进行评估;

其中,需要说明的是,所述数据预处理组件的功能包括但不限于:

1)对数据集进行预处理操作,选择不同的与处理方式对数据集预处理后得到新的数据集,并将预处理后的数据输出;

2)输入数据集,选择离散化连续变量,拖拽到操作界面右侧,离散化表中的连续变量;

3)将连续离散变量拖拽到操作界面右侧,连续离散变量;

4)将填充缺失值拖到拖拽到操作界面右侧,选择相应的填充方式,填充缺失的值;

5)选择相关评估参数,选择固定前几位,或者前百分比;

6)选择归一化的中心,再选择归一化的规模,归一化表里的值;

7)选择将类随机化、特征随机化、元属性随机化,用于生成数据;

8)从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关,减少特征,获得更好的结果,提高模型速度;

9)CUR矩阵分解,将表分解为三个部分。

Python脚本组件,用于根据用户选择编写用户所需组件,并在所述Python脚本组件执行后得到相应的输出;

图浏览器组件,用于显示、更改数据集中的图片;

颜色组件,用于更改数据集中离散变量、数值变量的颜色;

特征构造组件,用于构建新的特征,得到新的数据集;

提供清理域组件,用于滤除属性中没有出现在数据中的包含值。

实施例四

在实施例二的基础上,本实施例中的所述数据可视化组件包括:

箱形图组件,用于显示属性值的分布,并能根据属性变量从不同分类上显示属性值的分布;

所述箱形图组件的功能包括但与限于:

1)用于显示数据集属性值的分布;

2)选择数据集变量属性,再选择分类,即可显示属性在分类上的分布,结果可以以图片方式进行保存;

3)报告模块可以详细显示数据集属性在分类上的箱型图分布的详细信息描述。

分布组件,用于显示连续变量和离散变量的值的分布,并能根据属性变量从不同分类上显示属性值的分布;

所述分布组件的功能主要包括:

1)本用于显示数据集连续变量和离散变量的值的分布,如果有分类则显示在分类上的分布;

2)选择数据集某个变量,即可显示其概率分布,同时可以调整显示的精度;

3)选择显示的分类,即可显示概率中选择变量的某个值,显示该值在某个属性的分布,左边y轴是属性与分类之间的相关度,右边y轴是概率,x轴是属性的值;

4)数据集连续变量、离散变量的值及分类的分布结果可以以图片方式进行保存,并且报告模块可以详细显示分布的详细信息描述。

散点地图组件,用于显示两个属性在不同分类的关联性;

所述散点地图组件的功能主要包括:

1)用于显示数据集两个属性在不同分类的关联性;

2)选择需要显示的属性,选择显示的标签及值,锐化数据点即可得到数据集两个属性在不同分类的关联性的散点地图;

3)散点地图可以以图片方式进行保存,并且报告模块可以详细显示散点地图的详细信息描述。

热图组件,用于展示每个分类中属性值的分布,通过k-means根据相似度合并数据,并能根据排序算法排序行和列;

线性投影组件,用于将多维的数据分布投影到二维数据分布;

所述线性投影组件的功能包括但不限于:

1)用于将数据集多维的数据分布投影到二维数据分布;

2)选择数据集要显示的属性,可拖拽选择,再调节绘图属性,即可将多维的数据分布投影到二维数据分布,并生成新的数据集;

3)线性投影可以以图片方式进行保存,并且报告模块可以详细显示线性投影的详细信息描述。

筛图组件,用于显示两个属性各值之间相关的频率;

散点图组件,用于以二维坐标可视化连续或者离散属性;

所述散点图组件的功能包括但不限于:

1)用于以二维坐标可视化连续或者离散数据集属性;

2)选择x轴、y轴表示的属性,选择一个类,用不同颜色表示不同的值,选择点的标签表示的属性,选择点的形状表示的属性,选择点的大小表示的属性,选择绘图需要的属性,选择对点的操作,即可以二维坐标可视化连续或者离散数据集属性;

3)散点图可以以图片方式进行保存,并且报告模块可以详细显示散点图的详细信息描述。

韦恩图组件,用于显示一个或者多个数据集的韦恩图及显示数据集之间的关系。

所述韦恩图组件的功能包括但不限于:

1)用于显示一个或者多个数据集的韦恩图,显示数据集之间的关系;

2)数据集加载后,信息栏会显示载入数据集的信息描述;

3)选择相应的数据集数据实例标识符,在韦恩图选择相应部分,再选择并交,即可生成韦恩图,并生成和输出选择的数据集;

4)韦恩图可以以图片方式进行保存,并且报告模块可以详细显示韦恩图的详细信息描述。

实施例五

在实施例二的基础上,本实施例中的所述模型训练和评估组件包括:数据分类组件、数据回归组件以及数据评估组件;

其中,所述数据分类组件包括:

分类大多数预测组件,用于生成一个分类器并预测分类的大多数,然后与其他的分类器比较性能;

其中,需要说明的是,所述分类大多数预测组件的功能主要包括:

1)用于生成一个分类器,并总是预测分类的大多数,一般用来和其他的分类器来比较性能;

2)输入数据集,并输入分类器的名称,即可输出生成的分类器;

3)报告模块可以详细显示生成的分类器的详细信息描述。

分类树组件,用于训练分类器算法模型,并将模型进行本地保存;

其中,需要说明的是,所述分类树测组件的功能主要包括:

1)用于训练分类器算法模型;

2)输入分类器的名称,选择分类的标准,规定分类树的最少叶子节点数,规定当节点少于多少时这个节点停止分裂,限制树的深度,即可生成分类器算法模型;

3)报告模块可以详细显示生成的分类器算法模型的详细信息描述。

加载分类器组件,用于从文件加载分类器;

分类树浏览器组件,用于编辑分类树,并通过选中节点取消分类或者添加分类;

其中,需要说明的是,所述分类树浏览器组件的功能主要包括:

1)用于编辑分类树,可通过点击某个节点取消分类或者添加分类;

2)加载分类树模型后,系统会显示载入分类树模型的信息描述;

3)通过放大或缩小树的视图,调节树的宽度,设置显示树的深度,再选择分类的依据,即可生成选择的分类树节点的新的分类树模型;

4)分类树模型可以以图片方式进行保存,并且报告模块可以详细显示分类树模型的详细信息描述。

最近邻组件,用于训练KNN模型;

逻辑回归组件,用于训练逻辑回归模型;

朴素贝叶斯组件,用于训练朴素贝叶斯模型;

随机森林分类组件,用于训练随机森林分类模型;

支持向量机组件,用于训练支持向量机模型;

其中,所述数据回归组件包括:

平均学习组件,用于训练一个回归模型,并与其他回归模型进行比较;

其中,需要说明的是,所述平均学习组件的功能主要包括:

1)用于训练一个平均学习回归模型,用于与其他回归模型做比较;

2)输入数据集,设置回归模型的名称,即可得到回归模型;

3)报告模块可以详细显示平均学习回归模型的详细信息描述。

随机梯度下降组件,用于训练随机梯度下降回归模型;

其中,需要说明的是,所述随机梯度下降组件的功能主要包括:

1)用于训练随机梯度下降回归模型;

2)输入数据集,设置模型名称,设置损失计算函数,设置每一轮训练针对误差的处罚方法,设置学习率,设置公式的参数,设置迭代的次数,即可得到随机梯度下降回归模型;

3)报告模块可以详细显示随机梯度下降回归模型的详细信息描述。

提供单变量回归组件,用于训练单变量回归模型;

其中,所述数据评估组件包括:

测试评分组件,用于给算法的效果进行打分;

其中,需要说明的是,所述测试评分组件的功能主要包括:

1)本用于给算法的效果打分;

2)输入测试的数据、算法模型及训练的数据,将测试数据分为多个文件夹,其中一个用来训练,其他用来验证;或者每次测试一个样本,或者将数据随机采样成训练数据和测试数据,再选择分类的依据,即可完成对算法模型的评估,并输出测试结果;

3)报告模块可以详细显示算法模型评估的详细信息描述。

预测组件,用于接受数据和分类器并分类数据;

混淆矩阵组件,用于显示分类的结果和正确的结果之间的比例;

其中,需要说明的是,所述混淆矩阵组件的功能主要包括:

1)用于显示分类的结果和正确的结果之间的比例;

2)输入上述预测结果,选择一个学习器,选择显示的方式:个数或者百分比,选择分类正确的或错误的,再选择输出的数据,即可得到分类的结果和正确的结果之间的比例;

3)报告模块可以详细显示混淆矩阵的详细信息描述。

ROC分析组件,用于绘制分类器的ROC曲线;

升程曲线组件,用于显示预测正确数与实例数之间的关系;

校正曲线组件,用于显示实际分类的概率和预测的概率的曲线之间的契合度。

其中,需要说明的是,所述校正曲线组件的功能主要包括:

1)用于显示实际分类的概率和预测的概率的曲线之间的契合度,预测的概率的曲线和实际分类的概率的曲线越接近分类器的效果越好;

2)输入分类结果,选择分类的依据,再选择需要显示的分类,即可得到实际分类的概率和预测的概率的曲线之间的契合度;

3)实际分类的概率和预测的概率的曲线之间的契合度校正曲线可以保存为图片,报告模块可以详细显示校正曲线的详细信息描述。

实施例六

在实施例二的基础上,本实施例中的所述建模组件包括无监督算法组件、SparkData组件和Spark ML组件;

其中,所述无监督算法组件包括:

距离矩阵组件,用于显示行之间或者列之间的距离矩阵;

距离地图组件,用于显示行之间或者列之间的距离;

其中,需要说明的是,所述距离地图组件的功能主要包括:

1)用于显示数据集行之间或者列之间的距离,颜色越深距离越大;

2)输入数据集,再输入距离,选择显示元素的相似度,显示数据集中的所有数据,或者通过相似度聚类样本,或者最大化相邻点之间的相似度,调节显示的颜色,再选择注释的属性,即可得到数据集行之间或者列之间的距离地图;

3)数据集行之间或者列之间的距离地图可以保存为图片,报告模块可以详细显示距离地图的详细信息描述。

分层聚类组件,用于对元素进行分层聚类;

其中,需要说明的是,所述分层聚类组件的功能主要包括:

输入数据集,再输入距离,选择连接,Single:计算两个类最近的两个元素之间的距离,Average:计算两个类所有元素的平均距离,Weighted:使用WPGMA函数计算相似度,Complete:计算两个类最远的两个元素的距离,选择注释的属性,选不修剪,或者选择聚类的最大深度,选择手动使用鼠标点击聚类,或者选择树状图的高度比率的元素,或者选择最顶部的Top N,再选择输出名称和位置,即可完成对数据集元素的分层聚类。

K-Means组件,用于运行K-Means算法,给数据聚类;

其中,需要说明的是,所述K-Means组件给数据聚类具体包括:输入数据集,选择集群个数,指定固定的类的个数,或者选择多个个数为每个个数打分,设置初始化的方法,选择算法,设置算法跑的次数,设置K-Means的最大迭代次数,设置集群ID在表中的属性,设置输出的ID的列名称,即可得到K-Means算法的数据聚类。

PCA组件,用于使用主成分分析转化数据;具体包括:

输入数据集,选择一个显示的变量,选择x轴、y轴的成分个数,即可得到数据集变量取不同值之间的对应关系;数据集变量取不同值之间的对应关系可以保存为图片,报告模块可以详细显示数据集对应分析的详细信息描述。

对应分析组件,用于将数据进行CA数据转换,分析变量取不同值之间的对应关系;

距离组件,用于计算行之间列之间的距离;

距离变换组件,用于对距离进行处理;

MDS组件,用于将观察到的数据用较少的维度表达;

其中,所述Spark Data组件包括:

Context组件,用于设置Spark的运行参数;

Hive Table组件,用于读取Hive的表;

Data Frame组件,用于执行Spark-sql获取数据;

ODBC组件,用于连接数据库和查询数据;

FillNa组件,用于替换数据集中空的值;

Sample组件,用于按照不同需求采集数据;

Cache Dataframe组件,用于将Dataframe缓存到内存中;

Spark From XiLi组件,用于将Xili Dataframe转化成Spark Dataframe数据类型;

Spark To XiLi组件,用于将Spark Dataframe转化成Xili Dataframe数据类型;

Spark From Pandas组件,用于将Pandas Dataframe转化成Spark Dataframe数据类型;

Spark To Pandas组件,用于将Spark Dataframe转化成Pandas Dataframe数据类型;

Xili From Pandas组件,用于将Pandas Dataframe转化成Xili Dataframe数据类型;

Xili To Pandas组件,用于将Xili Dataframe转化成Pandas Dataframe数据类型;

其中,所述Spark ML组件包括:

Classification组件,用于训练分类模型;具体包括:

选择Decision Tree Classifier:选择特征向量,其在Dataset Builder组件生成,选择分类的标签列,选择预测结果的列名,缓存预测结果列名,设置树的最大深度和最大叶子节点数,设置分裂后每个孩子节点最少具有的实例数,设置分裂时每个节点获取的最小信息,设置用于汇总聚合的最大内存,设置是否缓存每个实例所属的Node ID,设置检查点的间隔,设置采集信息的标准,可选entropy、gini。

选择GBT Classifier:设置最小化误差函数,只能选logistic,设置最大迭代次数,设置最小化误差每次的步伐距离。

选择Logistic Regression:设置正则化参数,大于等于0,设置elasticNet混淆参数,设置算法收敛的最大误差,设置分类的阀值,设置多个类的分类阀值数组,预测的结果是p/t最大的类,p是预测的概率,t是阀值。

选择

选择Random Forest Classifier:设置树的个数,设置每次分裂考虑的特征数。

输入数据集,按上述流程设定参数后即可进行分类算法模型训练,在信息栏可看到分类算法模型训练的详细信息描述。

Clustering组件,用于训练k-means模型;具体包括:

输入数据集,设置K-means特征的向量,在Dataset Builder中生成,设置预测结果存放的列的名称,设置簇的个数,设置点初始化的方法,设置初始化的步数,如果初始化多次则取平均值,设置算法停止的最大误差,设置迭代的次数。设定参数后即可进行K-means算法模型训练,在信息栏可看到K-means算法模型训练的详细信息描述。

Regression组件,用于训练回归算法模型;具体包括:

选择Decision Tree Regressor:选择特征向量,其在Dataset Builder组件生成,选择分类的标签列,选择预测结果的列名,缓存预测结果列名,设置树的最大深度和最大叶子节点数,设置分裂后每个孩子节点最少具有的实例数,设置分裂时每个节点获取的最小信息,设置用于汇总聚合的最大内存,设置是否缓存每个实例所属的Node ID,设置检查点的间隔,设置采集信息的标准,可选entropy、gini。

选择GBT Regressor:设置最小化误差函数,只能选logistic,设置最大迭代次数,设置最小化误差每次的步伐距离。

选择Logistic Regression:设置正则化参数,大于等于0,设置elasticNet混淆参数,设置算法收敛的最大误差,设置分类的阀值,设置多个类的分类阀值数组,预测的结果是p/t最大的类,p是预测的概率,t是阀值。

选择

选择Random Forest Regressor:设置树的个数,设置每次分裂考虑的特征数。

输入数据集,按上述流程设定参数后即可进行回归算法模型训练,在信息栏可看到回归算法模型训练的详细信息描述。

Recommandation组件,用于训练ALS矩阵分解计算模型;具体包括:

输入数据集,设置分解的列的维度,设置迭代的次数,设置正则化参数,设置用户矩阵的分块,设置物品矩阵的分块个数,设置是否使用隐含偏好,设置隐含偏好的参数,设置User ID所在的列的名称,设置Item ID所在的列的名称,设置随机数种子,设置Ratings列的名称,设置数值非负。设定参数后即可进行ALS矩阵分解计算模型训练,在信息栏可看到ALS矩阵分解计算模型训练的详细信息描述。

EDataset Builder组件,用于生成特征向量及标签;具体包括:

输入数据集,Available Variables中的变量将不会出现在输出的数据中,把变量选择到Features中将组成特征向量,把变量选择到Labels中将组成标签向量,把变量选择到Meta中将被包含在数据文件中。

Feature组件,用于对特征进行处理;

Model transformer组件,用于采用一个算法和输入的数据集,输出结果数据集;

提供Evaluation组件,用于对算法模型效果进行评估。具体包括:

选择评估一个二分分类器Binary Classification Evaluation,或者选择评估一个有多个分类值的分类器Multiclass Classification Evaluation,或者选择评估一个线性分类器Regression Evaluator。设定参数后执行就能对模型效果进行评估,在信息栏可看到模型效果评估的详细信息描述。

实施例七

参见图6,本发明还提供一种基于机器学习的可视化数学建模系统,100,所述系统100包括:

组件展示模块1,用于在显示界面展示至少一个节点组件;其中,所述节点组件为图形化算法组件;

拖拽模块2,用于响应用户对于所述节点组件的拖拽指令,将所述节点组件移动到所述显示界面的视图窗口内;

组件链接模块3,用于响应用户对于所述节点组件的参数设置指令,并根据各所述节点组件的链接关系完成组件链接,以获得流程视图;

模型构建模块4,用于导入数据集,对所述数据集对应的算法进行训练、评估和特征参数调优,得到用户所需的算法模型。

应用例一

参见图7,应用例一是应用于广告检测算法模型构建,目的是通过网页的图片的各种特征,判断图片是否为广告,具体包括:

使用文件组件从文件读取数据,使用数据采集组件对数据集进行切分,分为训练数据集和测试数据集,选择列,确定训练用到的特征和标签。训练数据集输入支持向量机组件中进行算法模型训练,将训练好的模型连接到预测组件,同时将测试数据集连接到预测组件,得到预测结果,使用散点图和分布可视化预测结果。预测结果满足实际需要即完成算法模型构建,得到最终的广告检测算法模型。

应用例二

参见图8,应用例二应用于肿瘤检测算法模型构建,目的是从检测的各种指标,如细胞壁厚度等预测肿瘤是良性还是恶性,具体包括:

使用文件组件从文件读取数据,使用数据采集组件对数据集进行切分,分为训练数据集和测试数据集,选择列,确定训练用到的特征和标签。训练数据集输入支持最近邻组件中进行算法模型训练,将训练好的模型连接到预测组件,同时将测试数据集连接到预测组件,得到预测结果,使用散点图和分布可视化预测结果。预测结果满足实际需要即完成算法模型构建,得到最终的肿瘤检测算法模型。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号