Creación de un modelo de aprendizaje automático mediante el clasificador J48

¿Qué es el Clasificador J48?

J48 es un algoritmo de clasificación de árbol de decisiones de aprendizaje automático basado en Iterative Dichotomiser 3. Es muy útil para examinar los datos de forma categórica y continua.

Nota: Para construir nuestro modelo de aprendizaje automático J48, usaremos la herramienta weka.

¿Qué es Weka?

Weka es una herramienta de código abierto desarrollada por la Universidad de Waikato, Nueva Zelanda, con licencia pública GNU. Puedes descargar weka en cualquier sistema operativo. Weka tiene GUI y API disponibles para usar.

Pasos a seguir:

Paso 1: Cree un modelo usando GUI

Paso 2: después de abrir Weka, haga clic en la pestaña «Explorer»

Paso 3: En la pestaña «Preproceso», haga clic en «Abrir archivo» y seleccione el archivo «breast-cancer.arff» que se ubicará en la ruta de instalación, dentro de la carpeta de datos.

En esta pestaña, puedes ver todos los atributos y jugar con ellos.

Paso 4: En la pestaña «Clasificar», haga clic en el botón elegir. Ahora en weka/classifiers/trees/ seleccione J48

Paso 5: ahora se puede hacer clic en la selección del clasificador J48 y jugar con él, como cambiar el tamaño del lote, el factor de confianza, etc. Allí, en «Opciones de prueba», usaremos la opción de validación cruzada predeterminada como pliegues 10 y haga clic en iniciar .

Implementación:

Ahora hemos terminado de discutir que Weka tiene una API de Java que puede usar para crear modelos de aprendizaje automático, así que ahora permítanos crear un modelo usando la API.

Ejemplo

Java

// Java Program for Creating a Model Based on J48 Classifier
 
// Importing required classes
import 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
public class BreastCancer {
 
    // Main driver method
    public static void main(String args[])
    {
 
        // Try bloc kto check for exceptions
        try {
 
            // Creating J48 classifier
            J48 j48Classifier = new J48();
 
            // Dataset path
            String breastCancerDataset
                = "/home/droid/Tools/weka-3-8-5/data/breast-cancer.arff";
 
            // Create 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);
 
            // Evaluation
            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 check fo rexceptions
        catch (Exception e) {
 
            // Print and display the display message
            // using getMessage() method
            System.out.println("Error Occurred!!!! \n"
                               + e.getMessage());
        }
 
        // Display message to be printed ion console
        // when program is successfully executed
        System.out.print("Successfully executed.");
    }
}

Producción:

Successfully executed.

Publicación traducida automáticamente

Artículo escrito por gupta_shrinath y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *