private void button1_Click(object sender, EventArgs e) { weka.core.Instances insts = new weka.core.Instances(new java.io.FileReader(file)); double[] Data = new double[insts.numAttributes()]; for (int i = 0; i < list.Count; i++) { if (list[i].GetType() == typeof(TextBox)) { TextBox txt = (TextBox)list[i]; string value = txt.Text.Replace('.', ','); Data[i] = Convert.ToDouble(value); } else { ComboBox combobox = (ComboBox)list[i]; Data[i] = Convert.ToDouble(combobox.SelectedIndex); } } // Data[(insts.numAttributes() - 1] = 0; insts.setClassIndex(insts.numAttributes() - 1); Instance newInsts = new Instance(1.0, Data); insts.add(newInsts); string type = model.GetType().ToString(); if (type == "weka.classifiers.bayes.NaiveBayes") { weka.filters.Filter myDiscretize = new weka.filters.unsupervised.attribute.Discretize(); myDiscretize.setInputFormat(insts); insts = weka.filters.Filter.useFilter(insts, myDiscretize); } else if (type == "weka.classifiers.lazy.IBk") { weka.filters.Filter myDummy = new weka.filters.unsupervised.attribute.NominalToBinary(); myDummy.setInputFormat(insts); insts = weka.filters.Filter.useFilter(insts, myDummy); weka.filters.Filter myNormalize = new weka.filters.unsupervised.instance.Normalize(); myNormalize.setInputFormat(insts); insts = weka.filters.Filter.useFilter(insts, myNormalize); } double index = model.classifyInstance(insts.lastInstance()); string result = insts.attribute(insts.numAttributes() - 1).value(Convert.ToInt16(index)); MessageBox.Show(result); }