|
本帖最后由 chenwq 于 2014-4-8 16:37 编辑
实验室科研工作中有时候会遇到某些特征选择算法Weka本身不具备,要从其他软件中得到选择后的特征的情况。例如,MID/MIQ特征选择算法。此外,使用非Weka自带特征选择算法选择特征之后,又想使用Weka进行下一步分类,那么该怎么办?
1. 使用MID等做完特征选择之后,将特征索引位置提高给Weka,Weka按照指定特征的索引位置删除
完整代码示例见附件remove_feature_by_indices.java
2. 将做完特征选择后的数据另存为Arff文件,用于下一步使用
完整代码示例见附件save_load_from_arff.java
模型选择是分类任务的重要步骤,好的模型参数能够起到锦上添花的作用。Weka提供了方便的UI接口用于做暴力搜索(GridSearch)
1. 以我们经常使用的RandomForest为例: 从Weka的Classify->meta->CVParameterSearch,选择CVParameterSearch:
2. 设置搜索参数:
其中,I为RF的参数简称(这里表示使用多少棵树),"10 100 5"表示参数搜索范围从10到100,即[10, 100), 步长是5。也就是说I的取值遍历了10, 15, 20, 25, ..., 95, 99这个序列
注意,这里可以通过Add按钮设置多组搜索参数!!
多标记是我们实验室的一个研究工作,与多分类不大一样,多标记问题中一个样本可以同时具有多个类标。处理多标记问题时,有一个与Weka同样广为流行的工具,Mulan。
Mulan通过修改样本(问题转化法)或者拓展二分类算法本身来做多标记分类。输出结果与分类问题有所不同,多标记输出有3部分:
Confidence:abel0: 0.1628±0.0369 label1: 0.5250±0.1321 label2: 0.1679±0.0523 label3: 0.0923±0.010,其中的数值部分称为confidence,是预测该样本与相应label相关的概率(the probability of each label being positive)
Ranking: 将上述confidence排序之后,即为ranking的值。上面confidence对应的ranking为[2, 4, 3, 1]
Bipartition: 即样本与标记相关不相关,从上述对应confidence可以得到(设置概率阈值为0.5),Bipartition应为[0, 1, 0, 0]
相比Weka,Mulan的文档很少,但是Mulan提供了很方便的example代码以及在经典论文的实验部分代码,在experiments里面,通过修改部分参数或者代码,就能够迁移到我们的科研任务中了
这部分代码也可以在附件的Referenced Libraries里面也有提供。
Mulan的特征选择方法来自Weka,下面看看怎么使用GainRatio做特征选择:
可运行完整代码见附件gain_ratio_feature_selection.java
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|