A Node.js library implementing Decision Tree (ID3/CART), Random Forest, and XGBoost algorithms with TypeScript support and automatic data type detection.
Decision Tree is a Node.js library that implements three fundamental machine learning algorithms: Decision Tree (using ID3 and CART), Random Forest, and XGBoost. It allows developers to perform classification and regression tasks directly in JavaScript/TypeScript environments with automatic handling of both discrete and continuous data types. The library solves the problem of integrating machine learning into Node.js applications without relying on external Python or R dependencies.
JavaScript/TypeScript developers, full-stack engineers, and data scientists who need to incorporate machine learning models into Node.js or Bun applications, particularly those working on server-side prediction, data analysis tools, or real-time inference systems.
Developers choose this library because it provides a native, type-safe implementation of popular ML algorithms with automatic algorithm selection, comprehensive performance optimizations, and seamless integration into modern JavaScript ecosystems. Its production-ready test suite and model persistence features offer reliability and flexibility not always found in other JavaScript ML libraries.
NodeJS Implementation of Decision Tree using ID3 Algorithm
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Intelligently detects discrete vs. continuous features and auto-selects between ID3, CART, or hybrid algorithms, as shown in the autoDetectTypes and algorithm configuration options.
Provides full type definitions and IntelliSense support, with comprehensive examples in the README for both discrete and continuous data interfaces.
Includes multi-level caching, memory-efficient data structures, and validated benchmarks for training and inference up to 100K samples, as detailed in performance tests.
Boasts over 400 passing tests covering edge cases, model persistence, and continuous variables, ensuring reliability for production use.
The README explicitly states it has minimal validation for features, target columns, and data types, risking unexpected behavior in production without manual checks.
Requires Node.js 20+ or Bun 1.0+, excluding projects on older Node.js versions or those using CommonJS modules, as it's ES modules only.
Benchmarks show training times scaling to seconds for 100K+ samples, making it less efficient for very large datasets compared to optimized native ML libraries.