¿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