Metadata-Version: 2.3
Name: decision-tree-dmazilkin
Version: 0.1.3
Summary: This package contains the Decition Tree algrotihm implementation.
License: MIT
Author: Dmitrii Mazilkin
Author-email: dim.mazilkin@gmail.com
Requires-Python: >=3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: matplotlib (>=3.10.5,<4.0.0)
Requires-Dist: numpy (>=2.3.2,<3.0.0)
Requires-Dist: pandas (>=2.3.1,<3.0.0)
Requires-Dist: scikit-learn (>=1.7.1,<2.0.0)
Description-Content-Type: text/markdown

# Decision Tree algorithm from scratch
This repository contains Decision Tree implementation from scratch for classification problem.

## About
This Decision Tree implementation is based on **Leaf-wise algorithm**. 

- Supports **bins** hyperparameter for speeding up the algorithm.
- Supports **Feature Importance** calculation, which can help to understand the importance of features.
- Supports classification heuristics:
  - **Entropy** and **Information Gain**,
  - **Gini Impurity** and **Gini Gain**,
- Supports regression heuristics:
  - **MSE** and **MSE Gain**.

## Dependencies
To install all required dependencies, execute the following command:
```console
poetry install
```

## Usage
To start main script, execute the following command:
```console
poetry run python main.py [OPTIONS]
```

### Available options
- **-e, --example** (required) - type of example to run. Available examples: classification.
- **-c, --config** (required) - path to configuration file.

## Tests
Test cases are placed in *tests/* folder. To run tests use pytest module with the following command:
```console
poetry run pytest tests/
```
