【发布时间】:2015-12-04 13:04:31
【问题描述】:
我有一个包含 148 个输入特征的分类数据集(其中 20 个是二进制的,其余的在 [0,1] 范围内是连续的)。数据集有66171个负例,只有71个正例。
数据集(arff 文本文件)可从此保管箱链接下载:https://dl.dropboxusercontent.com/u/26064635/SDataset.arff。
在 Weka 套件中,当我使用 CfsSubsetEval 和 GreedyStepwise(setSearchBackwards() 设置为 true 和 false)时,所选功能集仅包含 2 个功能(即 79 和 @987654329 @)!不用说,这两个特征的分类性能非常糟糕。
使用ConsistencySubsetEval(在 Weka 中也是如此)导致选择零特征!当使用特征排序方法并选择最佳(例如 12 个)特征时,可以获得更好的分类性能。
我有两个问题:
首先,导致选择这么几个特征的数据集是什么?是因为正反例数不平衡?
其次,更重要的是,有没有其他的子集选择方法(在 Matlab 中或其他)我可以尝试并可能导致选择更多特征?
【问题讨论】:
标签: matlab classification weka feature-selection dimensionality-reduction