今天读文献,发现了一个与WEKA类似的的软件工具平台——KEEL,KEEL开源,并且使用纯JAVA语言开发,在我看来,KEEL是可以与WEKA媲美的数据挖掘和分析的软件工具,在某些任务中,KEEL甚至比WEKA更好用,所以有时候可以将两款工具结合在一起,共同服务于数据挖掘和机器学习任务。这篇文章对KEEL进行了一些简单的介绍,此介绍已提交百度百科审核。
- 中文名
- 基于进化学习的知识提取
- 外文名
- knowledge extraction based on evolutionary learning
- 简 称
- KEEL
简介
KEEL是knowledge extraction based on evolutionary learning的简称,它是一款开源的JAVA软件工具,遵循GNU的GPLv3许可,受西班牙科技部项目(项目编号TIN-2005-08386-C05-(01, 02, 03, 04 and 05))的支持。
KEEL能够用于大量不同的知识发现任务,它提供了一个简单的基于数据流的GUI,可以根据不同的数据集和计算智能算法(特别是进化算法)设计实验、评估算法。它包含了各种各样经典的知识提取算法、预处理技术(如训练集选择、特征选择、离散化、缺失值处理等)、计算智能的学习算法、混合模型、对比实验的统计方法等等,它允许对各种算法进行完整的分析、比较。
主要特征
-
突出了进化算法在模型预测、预处理(特征选择、训练集选择)、后期处理(模糊规则的进化调优)中的作用
-
实现了许多专业文献中的数据挖掘算法,如离散化、噪声滤波等
-
提供了一个统计库来分析算法结果,库中包含了一组统计测试,用于分析结果的正态性、异态性,比较含参和非参算法的结果
-
许多算法是基于JAVA类库进行开发的
-
提供了一个用户友好的界面,并且此界面是面向算法分析的
-
该工具的目标是设计包含多种数据集和多种算法的实验,并且实验会产生独立的脚本,能够在不同的机器上运行。
-
同时提供线下实验和线下实验,线上实验的设计目的是帮助学习者学习算法的操作。
-
包含知识提取算法库,其中整合了多种进化学习算法,也包含经典的学习算法
目标人群
KEEL的用户定位是研究者和学生
KEEL作为研究工具
对于研究者而言,KEEL常用于实验的自动化和结果的统计分析。通常,一个实验的设计包括了进化算法、统计和人工智能等相关技术,KEEL对实验的进程给予了特别的关注,从而能够让研究者对实验的流程进行评估,由于当前的机器学习需要进行大量的计算,所以该研究工具并不是提供算法的实时视图,而是生成一个脚本,然后交由计算机集群执行批处理。该工具允许研究者对大量数据进行预处理、实验、分析,并且将更多注意力放在结果的分析和总结上。
KEEL作为教育工具
学生的需求与研究者不同,一般而言,学生的目标不再是对各种算法进行统计意义上的比较,所以没必要进行进行多次重复性的实验。如果要在类中使用此工具,那么该工具的执行时间必须很短,而且要提供此算法执行的实时视图,学生需要的是学习如何调整算法中的参数。从这个意义上讲,教育工具是研究工具是简化版本,只有一些较相关的算法可用,并且算法的执行是实时的,用户对算法的运行有一个直观的反馈。
功能模块
数据管理
该模块由各种数据管理工具组成,执行各种数据管理任务,包括创建新数据集、导入、导出数据集、数据编辑、可视化、数据转换、数据抽取等
实验设计
该模块的任务是基于数据集和用户需要进行实验的设计,它提供了多种选择:学习类型(分类、回归、无监督学习等)、验证类型(交叉验证等)、.......
针对不平衡数据集的实验设计
该模型的任务与上一个模块(实验设计)相同,只不过该模型针对的是不平衡数据集,鉴于不平衡数据集的特殊性,该模型中的算法主要是针对不平衡数据集
多实例学习算法的实验
在该模块,研究者可以对多实例数据集进行分类,在这种分类情况下,研究者得到的结果不再是一组标记为正或负的实例,而是一组袋子,每个袋子中有多个实例,它们被标记为正或负。通常我们假设:如果一个袋子中的所有实例都是负的,那么这个袋子就被标记为负的,如果一个袋子中至少有一个实例是正的,则此袋子就被标记为正的。
半监督学习算法的实验
半监督学习主要用于一种数据集,这种数据集中的实例包含两种,一种是无类标,即没有类标签,第二种是有类标。在该模块,这种数据集被用于执行演绎和归纳分类。演绎分类的目标是预测数据集中无类标实例的类别,将有类标和无类标的实例结合在一起训练一个分类器;而归纳分类的目标是将所有实例视为训练集,训练后对新的数据进行分类。
统计测试
KEEL为研究者提供了一套完整的成对、多重比较的统计分析技术,该模块预设了一些含参和非参的统计分析过程,这有助于研究者的分析任务。
教育实验
与应用于研究者的实验模块的结构相似,此模型设计了一个可以逐步调试的实验流程,从而为学习者提供一个指导,通过使用具有教育目的的平台来展示特定模型或算法的执行过程。
算法
数据预处理算法
分类算法
包括基于规则学习的分类算法、基于实例学习的算法、神经网络、支持向量机、统计分类算法等
回归算法
基于规则的回归、基于神经网络的回归、基于统计的回归、基于支持向量机的回归、逻辑回归等
不平衡分类
针对不平衡数据集的分类算法,包括基于采样的算法、代价敏感分类、基于算法改进的不平衡分类
半监督学习
多实例学习
聚类算法
关联规则
统计测试
注:KEEL的二进制文件可以在KEEL的官网(http://www.keel.es/)或者github(https://github.com/SCI2SUGR/KEEL)上获取
KEEL的官网中包含有各种指导文档、javadoc等,可以自行获取
- 参考资料
-
- 1. KEEL Included Algorithms .KEEL[引用日期2017-11-16]
- 2. KEEL Description
- 3. KEEL: a software tool to assess evolutionary algorithms for data mining problems




