@__username/decision-tree

NodeJS implementation of decision tree using ID3 algorithm

Usage no npm install needed!

<script type="module">
  import UsernameDecisionTree from 'https://cdn.skypack.dev/@__username/decision-tree';
</script>

README

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