# bestree
Under construction.
---
Developed by CodingLive from ProtDos (c) 2022
##Installation
```bash
pip install bestree
```
### Requirements
- Python (>= 3.8)
- NumPy (>= 1.17.3)
- ScikitLearn
- Pandas
## Usage
### All best features
```python
from bestree import best_all
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_blobs # To create random X and y data
X, y = make_blobs(n_samples=100, n_features=2, centers=3, random_state=0)
criterion, max_depths, split, state = best_all(X, y)
clf = DecisionTreeClassifier(max_depth=max_depths, criterion=criterion, min_samples_split=split, random_state=state)
# your script
```
### Choosing the best criterion
```python
from bestree import best_criterion #For pandas objects
from bestree import best_criterion_norm #For other objects
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_blobs # To create random X and y data
X, y = make_blobs(n_samples=100, n_features=2, centers=3, random_state=0)
criterion = best_criterion_norm(X, y)
print(criterion)
clf = DecisionTreeClassifier(criterion=criterion)
# your script
```
### Choosing the best max_depth value
```python
from bestree import best_depth
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_blobs # To create random X and y data
X, y = make_blobs(n_samples=100, n_features=2, centers=3, random_state=0)
max_depth = best_depth(X, y, criterion="gini")
clf = DecisionTreeClassifier(max_depth=max_depth)
# your script
```
### Choosing the best splitter
```python
from bestree import best_splitter
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_blobs # To create random X and y data
X, y = make_blobs(n_samples=100, n_features=2, centers=3, random_state=0)
max_depths = 3
criterion = "gini"
split = best_splitter(X, y, max_depths, criterion=criterion)
clf = DecisionTreeClassifier(min_samples_split=split)
# your script
```
### Choosing the best state
```python
from bestree import best_state
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_blobs # To create random X and y data
X, y = make_blobs(n_samples=100, n_features=2, centers=3, random_state=0)
max_depths = 3
criterion = "gini"
state = best_state(X, y, max_depths, criterion=criterion)
clf = DecisionTreeClassifier(random_state=state)
# your script
```
## Help & Support
Communication:
- Mail: rootcode@duck.com
- Website: https://protdos.com
- Discord: https://discord.gg/Xtk4XbwW4Z
- Reddit: https://reddit.com/u/ProtDos
- Twitter: https://twitter.com/ProtDos
## Conclusion
Thanks for everybody that supported me (nobody)