Weka库java:如何获取一个分类的前景?
Weka library java: how to get the prospect of a classification?
我目前正在使用以下代码执行分类。
DataSource source = new DataSource(caminhoDados);
//System.out.println(source.getStructure());
Instances data = source.getDataSet();
// setting class attribute if the data format does not provide this information
// For example, the XRFF format saves the class attribute information as well
if (data.classIndex() == -1)
data.setClassIndex(data.numAttributes() - 1);
//initialize svm classifier
LibSVM svm = new LibSVM();
String opts = "-S 0 -K 0 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.0010 -P 0.1 -seed 1";
svm.setOptions(weka.core.Utils.splitOptions(opts));
svm.buildClassifier(data);
Instance instancia = new Instance(5);
instancia.setDataset(data);
instancia.setValue(0, '1');
instancia.setValue(1, '1');
instancia.setValue(2, '0');
instancia.setValue(3, '0');
double resu = svm.classifyInstance(instancia);
System.out.println("Predição: " + resu);
此代码 return 是新实例收到的排序。
但是,我还需要 return 算法对分类的保证百分比。
例子:
检测到新实例有 80% 的机会被分类为阳性。
有人能帮帮我吗?
谢谢。
您可以使用 "distributionForInstance()"。这仅适用于能够输出分布预测的分类器。请参阅“How to get predication value for an instance in weka?”。
我目前正在使用以下代码执行分类。
DataSource source = new DataSource(caminhoDados);
//System.out.println(source.getStructure());
Instances data = source.getDataSet();
// setting class attribute if the data format does not provide this information
// For example, the XRFF format saves the class attribute information as well
if (data.classIndex() == -1)
data.setClassIndex(data.numAttributes() - 1);
//initialize svm classifier
LibSVM svm = new LibSVM();
String opts = "-S 0 -K 0 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.0010 -P 0.1 -seed 1";
svm.setOptions(weka.core.Utils.splitOptions(opts));
svm.buildClassifier(data);
Instance instancia = new Instance(5);
instancia.setDataset(data);
instancia.setValue(0, '1');
instancia.setValue(1, '1');
instancia.setValue(2, '0');
instancia.setValue(3, '0');
double resu = svm.classifyInstance(instancia);
System.out.println("Predição: " + resu);
此代码 return 是新实例收到的排序。 但是,我还需要 return 算法对分类的保证百分比。 例子: 检测到新实例有 80% 的机会被分类为阳性。
有人能帮帮我吗?
谢谢。
您可以使用 "distributionForInstance()"。这仅适用于能够输出分布预测的分类器。请参阅“How to get predication value for an instance in weka?”。