Machine learning 获取SVM分类中的属性权重/重要性
我尝试使用在weka库中实现的SVM分类对一些数据进行分类。我的分类代码如下所示:Machine learning 获取SVM分类中的属性权重/重要性,machine-learning,weka,Machine Learning,Weka,我尝试使用在weka库中实现的SVM分类对一些数据进行分类。我的分类代码如下所示: BufferedReader reader = new BufferedReader(new FileReader(arffDataFile)); Instances data = new Instances(reader); reader.close(); data.setClassIndex(0); NumericToNominal filter = new NumericToNominal(); S
BufferedReader reader = new BufferedReader(new FileReader(arffDataFile));
Instances data = new Instances(reader);
reader.close();
data.setClassIndex(0);
NumericToNominal filter = new NumericToNominal();
String[] options = new String[2];
options[0] = "-R";
options[1] = "1";
filter.setOptions(options);
filter.setInputFormat(data);
Instances newData = Filter.useFilter(data, filter);
newData.setClassIndex(0);
weka.classifiers.functions.LibSVM svm = new weka.classifiers.functions.LibSVM();
svm.buildClassifier(newData);
Evaluation eval = new Evaluation(newData);
eval.crossValidateModel(svm, newData, folds, new Random(1));
System.out.println(eval.toSummaryString("\nResults\n======\n", false));
System.out.println();
Arff数据文件由2973个实例组成,每个实例有27个属性
我的问题是,如何计算实例属性的权重我需要调查哪些属性在分类过程中最有用。
我是机器学习领域的初学者,所以简单的语言和示例代码将不胜感激
提前感谢您的帮助。Weka提供了从属性池中选择属性的选项。换句话说,它为您提供了对属性进行排序的方法。它们位于weka.attributeSelection中,您可以通过特定的搜索方法选择使用属性计算器。我个人对我的任务的偏好是使用InfoGainatTributeVal作为属性求值器,同时使用Ranker作为搜索方法。这取决于您要使用的任务组合 当您使用代码与Weka交互时,请参阅文档,以便在JavaAPI中使用属性计算器和搜索方法。就我个人而言,我使用GUI