一种梯度提升机的可视化分析方法
文献发布时间:2023-06-19 13:45:04
技术领域
本发明属于计算技术领域,具体涉及一种梯度提升机的可视化分析方法。
背景技术
梯度提升机(GBM)是一种由许多独立的弱学习者组成的集合机器学习模型,已被证明在不同的领域得到了广泛的利用,如回归方法和分类;GBM是拟合实际分布的最佳传统机器学习算法之一。它是一种通过使用加法模型(即基本函数的线性组合)对数据进行分类或回归的算法,并不断减少训练过程中产生的误差。由于其有效性,GBM被应用于商业任务。在深度大行其道之前,GBM因其稳定的性能、多样化的应用和过滤特征的功能,在各种比赛中大放异彩。
尽管GBM应用广泛、效率高,但在实际应用中仍然存在功能缺陷和性能限制。第一个缺点是GBM的模型结构较为复杂,树的深度较大,数量较多,通常被当做黑盒使用。用户无法理解GBM的内部原理。第二缺点是与深度学习模型相比,GBM缺乏一定的编码器能力,故输出的特征组合可能冗余,影响预测结果;第三个缺点是GBM算法需要仔细调整参数,由于信息混乱,训练时间可能较长,这将影响到性能的分析。
发明内容
本发明公开了一种梯度提升机的可视化分析方法,拟解决背景技术中提到的用户无法快速理解GBM内部原理的技术问题。
为解决上述技术问题,本发明采用的技术方案如下:
一种梯度提升机的可视化分析方法,包括以下步骤:
步骤1:建立梯度提升机模型;
步骤2:对原始数据进行预处理,统计数据特征,并对特征进行分析,挖掘重要特征,给测试集数据打预测标签;
步骤3:提出可视化设计目标,通过对特征的重要性、部分依赖信息以及树结构进行可视化来揭示特征和模型预测之间关系、揭示模型内部机制、提供基于案例的分析;
步骤4:根据可视化设计目标来分析可视化任务,设计视图来帮助用户进行可视分析。
本发明通过分析可视化任务,设计视图来帮助用户进行可视分析,实现了用户对GBM模型的快速理解。
优选的,所述步骤1中建立的模型为混合模型,输入特征通过提升决策树方法进行转换,每棵树的输出被视为线性分类器的分类输入。
具体的,步骤1中的模型算法采用Lightgbm;其模型算法如下:
For m=1to M do:
其中,F
优选的,所述步骤4包括以下步骤:
步骤4.1:对特征的重要性进行编码;
步骤4.2:编码部分依赖性信息;
步骤4.3:编码分割点分布;
步骤4.4:审查训练数据值分布;当部分依赖信息和分割点分布不能正确反映特征和预测之间的关系时,通过查看模型训练结果的数据值分布也可以帮助分析。
步骤4.5:分析预测误差;
步骤4.6:对树的结构进行编码;
步骤4.7:提供模型的交互式检查。本发明提供了交互式可视化操作,用户可以通过点击视图来检查模型。
所述视图包括数据概览图、特征视图和数据流路径图;所述数据概览图总结了数据信息,并显示降维后的训练数据,以便让用户全面掌握所有数据。本发明使用的数据是多维的数据,故采用t-SNE降维技术来处理多维数据。t-SNE将多维数据降为二维,然后映射到可视化图表上。本发明还提供了搜索功能,使得用户能够了解单一数据并查看特征。
所述特征视图从多角度描述特征与预测结果之间的关系,用于可以看到单个特征的值,以分析特征和预测结果之间的关系。
所述数据流路径图展示了提升树的结构,使用户能够更清楚地了解模型在构建和预测期间的数据流,本发明旨在通过展示提升树的结构,让用户观察预测过程中的数据流,更直观的理解模型;此外用户还可以采用多图互动探索的工作机制。
优选的,所述步骤4.1采用Lightgbm算法中的feature_importance()方法计算出特征的重要性,其结果包含该特征在模型中使用的次数。特征重要性帮助用户建立对模型的理解。
优选的,所述步骤4.2通过使用pdpbox中的方法可以计算出特征的部分依赖信息。特征重要性是指某个特征对模型预测的影响,是一个数值,而部分依赖信息可以反映该特征如何影响预测。
优选的,所述步骤4.3通过直方图算法来分割特征,直方图算法的基本思想是将连续的特征值离散为k个整数,然后构建一个宽度为k的直方图。遍历数据时,离散化后的值会作为索引,在直方图中累积统计量。遍历一次数据后,直方图会累积所需的统计信息,然后算法根据直方图的离散值进行遍历,寻找最优分割点。
优选的,所述步骤4.5通过输出模型预测结果的混淆矩阵来分析预测误差。
优选的,所述步骤4.6通过GraphViz算法来可视化预测过程中生成的每一棵树的结构,包括树的深度、树的分支数、从根到叶子的路径上出现的特征以及每个节点中特征的分割阈值。
综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明通过三个层级帮助用户解释梯度提升机的模型和预测:概述层级、特征层级和预测层级;结合多样化的特征条形图设计,解释特征和预测之间的关系;使用特定场景和定性的用户研究,证明了GBMVis在不完整数据集上的有效性和实用性。并且本发明的步骤4.1到步骤4.4都针对输入特征和训练数据进行编码,可以有效的解决GBM的编码问题,通过将特征和训练数据可视化,可以帮助用户选择更优的特征组合,从而提高预测性能;通过对树的编码和对模型的交互式检查,帮助用户审查GBM模型的机构;并且用户可以通过交互式的检查模型以及分析预测误差,实现模型的诊断和参数的修改。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的流程示意图。
图2为本发明的梯度提升机模型结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图1和附图2对本发明的实施例作详细描述;
一种梯度提升机的可视化分析方法,包括以下步骤:
步骤1:建立梯度提升机模型;所述提升机模型为混合模型,输入特征通过提升决策树方法进行转换,每棵树的输出被视为线性分类器的分类输入。
提升机模型算法采用Lightgbm;其模型算法如下:
For m=1to M do:
其中,F
步骤2:对原始数据进行预处理,统计数据特征,并对特征进行分析,挖掘重要特征,给测试集数据打预测标签;
步骤3:提出可视化设计目标,通过对特征的重要性、部分依赖信息以及树结构进行可视化来揭示特征和模型预测之间关系、揭示模型内部机制、提供基于案例的分析;
步骤4:根据可视化设计目标来分析可视化任务,设计视图来帮助用户进行可视分析。
所述步骤4包括以下步骤:
步骤4.1:对特征的重要性进行编码;采用Lightgbm算法中的feature_importance()方法计算出特征的重要性,其结果包含该特征在模型中使用的次数。特征重要性帮助用户建立对模型的理解。
步骤4.2:编码部分依赖性信息;通过使用pdpbox中的方法可以计算出特征的部分依赖信息。特征重要性是指某个特征对模型预测的影响,是一个数值,而部分依赖信息可以反映该特征如何影响预测。
步骤4.3:编码分割点分布;通过直方图算法来分割特征,直方图算法的基本思想是将连续的特征值离散为k个整数,然后构建一个宽度为k的直方图。遍历数据时,离散化后的值会作为索引,在直方图中累积统计量。遍历一次数据后,直方图会累积所需的统计信息,然后算法根据直方图的离散值进行遍历,寻找最优分割点。
步骤4.4:审查训练数据值分布;当部分依赖信息和分割点分布不能正确反映特征和预测之间的关系时,通过查看模型训练结果的数据值分布也可以帮助分析。
步骤4.5:分析预测误差;通过输出模型预测结果的混淆矩阵来分析预测误差。
步骤4.6:对树的结构进行编码;通过GraphViz算法来可视化预测过程中生成的每一棵树的结构,包括树的深度、树的分支数、从根到叶子的路径上出现的特征以及每个节点中特征的分割阈值。
步骤4.7:提供模型的交互式检查。本发明提供了交互式可视化操作,用户可以通过点击视图来检查模型。
所述视图包括数据概览图、特征视图和数据流路径图;所述数据概览图总结了数据信息,并显示降维后的训练数据,以便让用户全面掌握所有数据。本发明使用的数据是多维的数据,故采用t-SNE降维技术来处理多维数据。t-SNE将多维数据降为二维,然后映射到可视化图表上。本发明还提供了搜索功能,使得用户能够了解单一数据并查看特征。
所述特征视图从多角度描述特征与预测结果之间的关系,用于可以看到单个特征的值,以分析特征和预测结果之间的关系。
所述数据流路径图展示了提升树的结构,使用户能够更清楚地了解模型在构建和预测期间的数据流,本发明旨在通过展示提升树的结构,让用户观察预测过程中的数据流,更直观的理解模型;此外用户还可以采用多图互动探索的工作机制。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
- 一种梯度提升机的可视化分析方法
- 一种基于梯度提升机的电网暂态稳定协调控制方法及系统