How to Use Weka Java API?

21 Sep, 2021
To use the weka API you need to install weka according to your operating system. After downloading the archive and extracting it you’ll find the weka.jar file. The JAR file contains all the class files required i.e. weka API. Now we can find all the information about the classes and methods in the Weka Java API documentation. We need to add this jar as a classpath to our program.
Also, let us discuss the classpath before landing upon the implementation part. So classpath is something that tells the JDK about the external libraries (user class file). In order to add a classpath the recommended way is to use -cp option of JDK commands. If you are using any framework then the classpath can be added to the respective manifest file.
Example:
Java
// Java Program to Illustrate Usage of Weka API // Importing required classesimport java.io.BufferedReader;import java.io.FileReader;import java.util.Random;import weka.classifiers.Evaluation;import weka.classifiers.trees.J48;import weka.core.Instances; // Main class// BreastCancerpublic class GFG {     // Main driver method    public static void main(String args[])    {         // Try block to check for exceptions        try {             // Create J48 classifier by            // creating object of J48 class            J48 j48Classifier = new J48();             // Dataset path            String breastCancerDataset                = "/home/droid/Tools/weka-3-8-5/data/breast-cancer.arff";             // Creating bufferedreader to read the dataset            BufferedReader bufferedReader                = new BufferedReader(                    new FileReader(breastCancerDataset));             // Create dataset instances            Instances datasetInstances                = new Instances(bufferedReader);             // Set Target Class            datasetInstances.setClassIndex(                datasetInstances.numAttributes() - 1);             // Evaluating by creating object of Evaluation            // class            Evaluation evaluation                = new Evaluation(datasetInstances);             // Cross Validate Model with 10 folds            evaluation.crossValidateModel(                j48Classifier, datasetInstances, 10,                new Random(1));             System.out.println(evaluation.toSummaryString(                "\nResults", false));        }         // Catch block to handle the exceptions        catch (Exception e) {             // Print message on the console            System.out.println("Error Occurred!!!! \n"                               + e.getMessage());        }    }}
Output: 
After coding your model using the weka API you can run the program using the following commands
$ javac -cp weka-3-8-5/weka.jar program.java
$ java -cp .:weka-3-8-5/weka.jar program
The weka-3-8-5/weka.jar is the path to the jar file available in the installation.
This will be the desired output generated as shown below: 
 
anikakapoor
surindertarika1234
simranarora5sos
Java
Machine Learning
Java
Machine Learning
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Introduction to Java
Constructors in Java
Exceptions in Java
Generics in Java
Naive Bayes Classifiers
ML | Linear Regression
Linear Regression (Python Implementation)