【发布时间】:2018-06-28 09:10:44
【问题描述】:
我通过使用 Eclipse IDE 进行 Java 开发,将 weka 与 java 结合使用。版本:霓虹灯 4.6。
我想知道如何提取以下值:
为每个属性分配的相关排名。
SVM-RFE 排序属性和为每个属性分配的权重值
我想在屏幕上看到这些值。
我正在使用 weka: 我试过这段代码:
public class AttributeSelectionTest {
protected static void useRanker(Instances data) throws Exception {
SVMAttributeEval eval = new SVMAttributeEval();
eval.buildEvaluator(data);
Evaluation evaluation = new Evaluation(data);
System.out.println(eval.getPercentToEliminatePerIteration());
System.out.println(eval.attsToEliminatePerIterationTipText());
eval.getPercentToEliminatePerIteration();
for (int classInd = 0; classInd < data.numAttributes(); classInd++)
System.out.println(eval.rankBySVM(classInd,data));
System.out.println(evaluation.toSummaryString());
}
public static void main(String[] args) throws Exception {
// load data
System.out.println("\n0. Loading data");
DataSource source = new DataSource("data.arff");
Instances data = source.getDataSet();
if (data.classIndex() == -1)
data.setClassIndex(data.numAttributes() - 1);
useRanker(data);
}
}
【问题讨论】: