-1
Ich möchte die Klasse einer Instanz vorhersagen. Aber mein Code scheint nicht zu funktionieren. Ich folge der Dokumentation in Sourceforge über Weka.Verwenden Sie weka.jar in Java
public class Main{
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(
new FileReader("file.arff"));
Instances data = new Instances(reader)
data.setClassIndex(data.numAttributes() - 1);
Instance i1=data.instance(0);
data.delete(0);
Classifier ibk = new IBk();
ibk.buildClassifier(data);
double class1 = ibk.classifyInstance(i1);
System.out.println("Classification ==================>");
System.out.println("Instance 1 " + class1);
}
Ein Problem tritt auf, wenn ich die buildClassifier-Funktion aufrufen.
Exception in thread "main" java.lang.NoClassDefFoundError: org/bounce/net/DefaultAuthenticator
at weka.core.WekaPackageManager.<clinit>(WekaPackageManager.java:99)
at weka.core.Utils.readProperties(Utils.java:174)
at weka.core.Capabilities.<init>(Capabilities.java:275)
at weka.classifiers.AbstractClassifier.getCapabilities(AbstractClassifier.java:508)
at weka.classifiers.lazy.IBk.getCapabilities(IBk.java:458)
at weka.classifiers.lazy.IBk.buildClassifier(IBk.java:488)
at weka.netbeans.Main.main(Main.java:33)
Caused by: java.lang.ClassNotFoundException: org.bounce.net.DefaultAuthenticator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Darf ich vorschlagen, dass Sie ein Abhängigkeitsmanagement-Framework wie Gradle oder Maven verwenden, so dass Sie Wekas Abhängigkeiten automatisch einbinden. –
Ich habe das fehlende Glas hinzugefügt, aber es funktioniert immer noch nicht – sali333