我使用了Maven LibSVM版本1.0.6(链接)
如果在创建模型之前设置setProbabilityEstimates(true),那么在尝试对新实例进行分类时会得到NullPointerException。
我的代码:
LibSVM svm;
svm = new LibSVM();
svm.setProbabilityEstimates(true);
try {
svm.buildClassifier(training);
} catch (Exception e) {
e.printStackTrace();
}
svm.classifyInstance(newInstance);
异常堆栈跟踪:
在太阳下。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:62)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)。朗。反思。方法在weka调用(Method.java:497)。分类器。功能。LibSVM。weka的invokeMethod(LibSVM.java:1339)。分类器。功能。LibSVM。例如,bgu上的DistributionInstance(LibSVM.java:1497)。梅因。main(main.java:36)由:java引起。lang.ArrayIndexOutOfBoundsException:1位于libsvm。支持向量机。svm_获取_标签(svm.java:2296)。。。9更多
谢啦
问题的发生是因为训练集和测试集的头不一样。更深入地说,当test只有false时,trat有true和false类的实例。
问题内容: 我正在尝试为libsvm使用Java绑定: 我实现了一个“平凡的”示例,该示例很容易在y中线性分离。数据定义为: 第一个“功能”是班级,并且训练集也类似地定义。 训练模型: 然后评估我使用的模型: 传递的数组是测试集中的一点。 结果始终返回类0。确切的结果是: 有人可以解释为什么该分类器不起作用吗?有没有弄乱我的步骤,或者我错过了一个步骤? 谢谢 问题答案: 在我看来,您的评估方法是错
本文向大家介绍java 异常之手动抛出与自动抛出的实例讲解,包括了java 异常之手动抛出与自动抛出的实例讲解的使用技巧和注意事项,需要的朋友参考一下 java异常处理机制的两类 1、抓:异常的处理,有两种方式 ① try-catch-finally ② throws 2、抛: ① 自动抛出 可以理解为所有没有使用throw关键字的异常处理都是自动抛出,由jvm进行判断和抛出。 ②手动抛出 thr
我在生产者-消费者场景中使用 ConcurrentLinkedQueue。我的生产者是一个由我的应用程序中的所有方法调用的单例:Producer.getInstance().add(“foo”);add() 方法调用 ConcurrentLinkedQueue offer 方法。 否则,我会让我的消费者在另一个线程中运行,并简单地在生产者内部的并发链接队列上调用轮询方法。 编辑: 在if((缓冲区
我只是想杀一儆百。通用代码: 备选案文: 当然,我在这里做了一些假设: null null 免责声明:我的代码都不像建议的那样工作,我也不打算像这样管理异常,我只是在做一个“假设”的问题,这种好奇心是从视频的传入中产生的。我想:如果是在Scala中完成的,为什么不是在Java中?
问题内容: 当用Java实例化一个对象时,真正进入内存的是什么? 是否包含父级构造函数的副本? 投射时,为什么隐藏数据成员的行为与重写方法不同? 我理解为使您正确使用这些东西而通常给出的抽象解释,但是JVM如何真正做到这一点。 问题答案: 实例化对象时,实际上仅“静态”数据以及创建该对象的对象类型的引用被“创建”。 没有方法被复制过。 创建它的类的“引用”实际上是一个指针调度表。该类可用的每个方法
本文向大家介绍Java WebService 简单实例(附实例代码),包括了Java WebService 简单实例(附实例代码)的使用技巧和注意事项,需要的朋友参考一下 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作(以下为本实例使用工具) 1、MyEclipse10.7.1 2、JDK 1.6.0_22 二、创建服务端 1、创建【Web Ser