在Weka中提取重要属性

时间:2013-01-09 17:49:17

标签: java data-mining weka

这是一个相当新手的问题,所以请带着一点点盐。

我是数据挖掘领域的新手,并试图让我的脑袋围绕这一主题。现在我正在尝试改进我现有的模型,以便更好地对实例进行分类。问题是,我的模型有大约480个属性。我确信并非所有这些都是相关的,但我很难指出哪些确实很重要。

问题:拥有有效的培训和测试集,是否可以使用某种数据挖掘算法来丢弃属性这似乎对分类质量没有任何影响?

我正在使用Weka。

4 个答案:

答案 0 :(得分:1)

您应该使用 Weka 所拥有的一些分类器算法进行测试。

基本思路是使用交叉验证选项,这样您就可以看到哪种算法为您提供了最佳正确分类的实例值。

我可以举例说明我的一个训练集,使用交叉验证选项并选择折叠 10。

如您所见,使用 J48 分类器,我将:

Correctly Classified Instances        4310               83.2207 %
Incorrectly Classified Instances       869               16.7793 %

如果我将使用 NaiveBayes 算法,我会:

Correctly Classified Instances        1996               38.5403 %
Incorrectly Classified Instances      3183               61.4597 %

等等,这些值因算法而异。

所以,测试尽可能多的算法,看看哪一个给你最好的正确分类实例/消耗的时间。

答案 1 :(得分:0)

阅读有关聚类算法的主题(仅限您的训练集!)

答案 2 :(得分:0)

评论转换为OP建议的回答: 如果您使用weka 3.6.6 - 选择模块资源管理器 - >要转到“选择属性”选项卡并选择“属性评估程序”和“搜索方法”,您还可以选择使用完整数据集还是cv集,有关详细信息,请参阅例如http://forums.pentaho.com/showthread.php?68687-Selecting-Attributes-with-Wekahttp://weka.wikispaces.com/Performing+attribute+selection

答案 3 :(得分:0)

查看InfoGainAttributeEval类。 buildEvaluator()和evaluateAttribute(int index)函数应该有所帮助。