6. 实验包
支持运行实验,涉及在多个数据集上对数据集的重复随机化评估分类器(除此之外,您可以做更多的事情)。这个类位于weka.experiment包中。基本体系结构是ResultProducer(在数据集的某些随机化上生成结果)将结果发送到ResultListener(它负责声明它是否已经有结果,否则存储结果)。
示例ResultListeners包括:
weka.experiment.CSVResultListener:将结果输出为逗号分隔值文件。
weka.experiment.InstancesResultListener:将结果转换为一组实例。
weka.experiment.DatabaseResultListener:通过JDBC将结果发送到数据库。
示例ResultProducers包括:
weka.experiment.RandomSplitResultProducer: 对%split进行训练/测试
weka.experiment.CrossValidationResultProducer: n折交叉验证
weka.experiment.AveragingResultProducer: 平均来自另一个ResultPoducer的结果
weka.experiment.DatabaseResultProducer: 充当结果的缓存,将它们存储在数据库中
RandomSplitResultProducer和CrossValidationResultProducer使用SplitEvaluator获取特定拆分的实际结果,提供ClassifierSplitEvaluator(用于名义分类)和RegressionSplitEvaluator(用于数字分类)。
其中,每个都使用分类器来生成实际结果。
因此,您可能有一个DatabaseResultListener,它是从AveragingResultProducer发送的结果,它产生n次CrossValidationResultProducer每次运行产生的n个结果的平均值,而这个结果又通过ClassifierSplitEvaluator进行名义分类,后者使用OneR进行预测。但是你可以把这些东西结合在一起,做你想做的任何事情。您可能希望编写一个LearningRateResultProducer,将数据集拆分为越来越多的训练实例。
要从命令行运行简单实验,请尝试:
java weka.experiment.Experiment -r -T datasets/UCI/iris.arff \
-D weka.experiment.InstancesResultListener \
-P weka.experiment.RandomSplitResultProducer -- \
-W weka.experiment.ClassifierSplitEvaluator -- \
-W weka.classifiers.rules.OneR
(尝试“java weka.experiment.Experiment -h”以找出这些选项的含义)如果将结果作为一组实例,则可以使用weka.experiment.PairedTTester执行配对t检验(使用-h选项)找出它需要的选项)。
如果您使用Experimenter GUI,这一切都会更容易。
7. Weka手册
一本涵盖Weka图形和命令行用户界面的综合手册。 $ WEKAINSTALL / WekaManual.pdf
8. 源代码
WEKA的源代码是在$ WEKAINSTALL / weka-src.jar中。要扩展它,请使用每个Java发行版(或任何可以处理ZIP文件的文件存档器)中的jar实用程序。
9. 贡献者列表
请参阅网页以获取贡献者列表:
http://www.cs.waikato.ac.nz/~ml/weka/
10. 调用代码和错误报告
如果您已实施学习方案,请跳过,应用程序,可视化工具等,使用WEKA类,您希望将它提供给社区,然后创建一个Weka“包”并将您的包的“Description.props”文件提交给我们。我们将检查包以确保它按照所宣传的方式工作,并且不包含任何“恶意”,然后将Description.props添加到Sourceforge上托管的中央包元数据存储库。托管可下载软件包是贡献者的责任。
新分类器(一般的方案)的条件是,首先,它们必须在著名会议(例如,ICML)的会议记录中发布,或者作为核心期刊(例如,机器学习)的文章发布,其次,它们优于其他标准方案(例如,J48 / C4.5)。
有关为Weka做出贡献以及如何创建Weka包的更多信息,请参阅Weka手册($ WEKAINSTALL / WekaManual.pdf)。
如果您发现任何错误,请向wekalist邮件列表发送错误报告。
1)对于核心Weka组件,即主weka.jar文件中的所有内容(不包括包),向wekalist邮件列表发送错误报告。
2)对于包,检查包描述(在Sourceforge在线或使用包管理系统)并直接联系包的维护者。
11. 版权
核心WEKA系统是根据GNU公共许可证分发的。请阅读文件COPYING。
软件包可以在各种许可下分发 - 有关许可证的详细信息,请查看相关软件包的说明。