From 42352c373405e3503a42999c5998be61ea8a5e28 Mon Sep 17 00:00:00 2001 From: Dermi Malika <48280218+dermimalika@users.noreply.github.com> Date: Mon, 4 Oct 2021 20:54:32 +0200 Subject: [PATCH] KNN ALGORITHM --- KNN.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 KNN.java diff --git a/KNN.java b/KNN.java new file mode 100644 index 000000000000..7577bb1986a6 --- /dev/null +++ b/KNN.java @@ -0,0 +1,43 @@ +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; + +import weka.classifiers.Classifier; +import weka.classifiers.lazy.IBk; +import weka.core.Instance; +import weka.core.Instances; + +public class KNN { + public static BufferedReader readDataFile(String filename) { + BufferedReader inputReader = null; + + try { + inputReader = new BufferedReader(new FileReader(filename)); + } catch (FileNotFoundException ex) { + System.err.println("File not found: " + filename); + } + + return inputReader; + } + + public static void main(String[] args) throws Exception { + BufferedReader datafile = readDataFile("data.txt"); + + Instances data = new Instances(datafile); + data.setClassIndex(data.numAttributes() - 1); + + //do not use first and second + Instance first = data.instance(0); + Instance second = data.instance(1); + data.delete(0); + data.delete(1); + + Classifier ibk = new IBk(); + ibk.buildClassifier(data); + + double class1 = ibk.classifyInstance(first); + double class2 = ibk.classifyInstance(second); + + System.out.println("first: " + class1 + "\nsecond: " + class2); + } +} \ No newline at end of file