Код C# для запуска WEKA
я использую тот же код в C# (visual studio 2017) и включил IKVM.OpenJDK.*.dll (последняя версия )и weka.dll в проекте.
код:
private void button1_Click(object sender, EventArgs e) { class_test(); } const int percentSplit = 60; public void class_test() { string resualt = ""; try { weka.core.Instances insts = new weka.core.Instances(new java.io.FileReader("iris.arff")); insts.setClassIndex(insts.numAttributes() - 1); weka.classifiers.Classifier cl = new weka.classifiers.trees.J48(); // choose type of classifer algorithms int trainSize = insts.numInstances() * percentSplit / 100; int testSize = insts.numInstances() - trainSize; weka.core.Instances train = new weka.core.Instances(insts, 0, trainSize); cl.buildClassifier(train); int numCorrect = 0; for (int i = trainSize; i < insts.numInstances(); i++) { weka.core.Instance currentInst = insts.instance(i); double predictedClass = cl.classifyInstance(currentInst); if (predictedClass == insts.instance(i).classValue()) numCorrect++; } System.Console.WriteLine(numCorrect + " out of " + testSize + " correct (" + (double)((double)numCorrect / (double)testSize * 100.0) + "%)"); } catch (java.lang.Exception ex) { ex.printStackTrace(); } }
Но я получаю следующие ошибки:
первый :
The type Reader is defined in an assembly that is not referenced. You must add a reference assembly 'vislib, Version=1.0.5000.0, Cultureneutral PublicKey Token-b0315f7f11d50a3a choose
на линии :
weka.core.Instances insts = new weka.core.Instances(new java.io.FileReader("iris.arff"));
на
новый weka.core.Экземпляры
второй :
Argument 1 : cannot convert from 'java.io.FileReader' to 'weka.core.instances
на той же линии :
weka.core.Instances insts = new weka.core.Instances(new java.io.FileReader("iris.arff"));
на
(new java.io.FileReader("iris.arff"));
Что я уже пробовал:
чтобы решить вторую ошибку, я попытался добавить Ikvm.GUN.classpath.dll для другой более старой версии в качестве ссылки, но я получаю следующую ошибку:
The type FileReader exists in both 'IKVM.GNU.Classpath, Version= 0.12.0.0, Culture=neutral, PublicKey Token13235d27fcbfff58 and 'IKVM.Open/DK.Core Version=7.2.4630.5, Culture=neutral, PublicKey Token: 13235d271cbfff58
Я не знаю ,как я могу решить эту проблему?
пожалуйста, кто-нибудь может мне помочь ?
BillWoodruff
Я предлагаю вам связаться с проектом WEKA:
https://www.cs.waikato.ac.nz/~ml/weka/help.html
Richard Deeming
Что произошло, когда вы добавили ссылку на vislib
сборка, как упоминалось в первом сообщении об ошибке?