/nodejs-decision-tree-id3

NodeJS Implementation of Decision Tree using ID3 Algorithm

Primary LanguageJavaScriptOtherNOASSERTION

Decision Tree for NodeJS

This module contains the NodeJS Implementation of Decision Tree using ID3 Algorithm

Table Of Contents

Installation

npm install decision-tree

Usage

  • Import the module:

      var DecisionTree = require('decision-tree');
    
  • Prepare training dataset:

      var training_data = [
      	{"color":"blue", "shape":"square", "liked":false},
      	{"color":"red", "shape":"square", "liked":false},
      	{"color":"blue", "shape":"circle", "liked":true},
      	{"color":"red", "shape":"circle", "liked":true},
      	{"color":"blue", "shape":"hexagon", "liked":false},
      	{"color":"red", "shape":"hexagon", "liked":false},
      	{"color":"yellow", "shape":"hexagon", "liked":true},
      	{"color":"yellow", "shape":"circle", "liked":true}
      ];
    
  • Prepare test dataset:

      var test_data = [
      	{"color":"blue", "shape":"hexagon", "liked":false},
      	{"color":"red", "shape":"hexagon", "liked":false},
      	{"color":"yellow", "shape":"hexagon", "liked":true},
      	{"color":"yellow", "shape":"circle", "liked":true}
      ];
    
  • Setup Target Class used for prediction:

      var class_name = "liked";
    
  • Setup Features to be used by decision tree:

      var features = ["color", "shape"];
    
  • Create decision tree and train model:

      var dt = new DecisionTree(training_data, class_name, features);
    
  • Predict class label for an instance:

      var predicted_class = dt.predict({
      	color: "blue",
      	shape: "hexagon"
      });
    
  • Evaluate model on a dataset:

      var accuracy = dt.evaluate(test_data);
    
  • Export underlying model for visualization or inspection:

      var treeModel = dt.toJSON();