Skip to content

syncai/nodejs-decision-tree-id3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();
    

About

NodeJS Implementation of Decision Tree using ID3 Algorithm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%