Simple high-level library to use decision trees and random forest learners
Project description
## Pylearning: a Python library to use decision trees and random forest learners
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/amstuta/pylearning/blob/master/LICENSE.md)
Pylearning is a high-level machine learning package designed to easily prototype
and implement data analysis programs.
The library includes four algorithms:
- Decision tree classifier
- Random forest classifier
- Decision tree regressor
- Random forest regressor
The two random forests algorithms use multithreading to train the trees in a
parallelized fashion.
This package is compatible with Python3+.
### Basic usage
All the algorithms available use the same simple interface described in the
examples below.
```python
# Basic classification example using a decision tree
from pylearning.trees import DecisionTreeClassifier
# Load your training dataset
features, targets = ...
tree = DecisionTreeClassifier(max_depth=10)
tree.fit(features, targets)
# Load a testing sample
test_feature, test_target = ...
predicted_class = tree.predict(test_feature, test_target)
```
```python
# Basic regression example using a random forest
from pylearning.ensembles import RandomForestRegressor
# Load the training dataset
features, targets = ...
rf = RandomForestRegressor(nb_trees=10, nb_samples=100, max_depth=20)
rf.fit(features, targets)
# Load a testing sample
test_feature, test_target = ...
value_predicted = rf.predict(test_feature, test_target)
```
### Installation
Pylearning has no external dependencies. It can be installed simply using Pypy:
```sh
pip3 install pylearning
# OR
pip install pylearning
```
### Further improvements
The core functionalities of trees and random forest are implemented in this
project, however there are many improvements that could be added:
- gini criterion for splitting nodes
- pruning
- ability to split a node into an arbitrary number of child nodes
- optimizations to reduce time and memory consumption
- ...
If you wish, you're welcome to participate in the project or to make suggestions !
To do so, you can simply open an issue or fork the project and then create a pull
request.
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/amstuta/pylearning/blob/master/LICENSE.md)
Pylearning is a high-level machine learning package designed to easily prototype
and implement data analysis programs.
The library includes four algorithms:
- Decision tree classifier
- Random forest classifier
- Decision tree regressor
- Random forest regressor
The two random forests algorithms use multithreading to train the trees in a
parallelized fashion.
This package is compatible with Python3+.
### Basic usage
All the algorithms available use the same simple interface described in the
examples below.
```python
# Basic classification example using a decision tree
from pylearning.trees import DecisionTreeClassifier
# Load your training dataset
features, targets = ...
tree = DecisionTreeClassifier(max_depth=10)
tree.fit(features, targets)
# Load a testing sample
test_feature, test_target = ...
predicted_class = tree.predict(test_feature, test_target)
```
```python
# Basic regression example using a random forest
from pylearning.ensembles import RandomForestRegressor
# Load the training dataset
features, targets = ...
rf = RandomForestRegressor(nb_trees=10, nb_samples=100, max_depth=20)
rf.fit(features, targets)
# Load a testing sample
test_feature, test_target = ...
value_predicted = rf.predict(test_feature, test_target)
```
### Installation
Pylearning has no external dependencies. It can be installed simply using Pypy:
```sh
pip3 install pylearning
# OR
pip install pylearning
```
### Further improvements
The core functionalities of trees and random forest are implemented in this
project, however there are many improvements that could be added:
- gini criterion for splitting nodes
- pruning
- ability to split a node into an arbitrary number of child nodes
- optimizations to reduce time and memory consumption
- ...
If you wish, you're welcome to participate in the project or to make suggestions !
To do so, you can simply open an issue or fork the project and then create a pull
request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pylearning-2.1.0b1.tar.gz
(5.7 kB
view hashes)
Built Distribution
Close
Hashes for pylearning-2.1.0b1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b4daa8d54db5fd8c95b1ed636a9160be8960219f9d9aa8927fff97c595090e9 |
|
MD5 | 0f660ea01c365147b419a014d05b55f9 |
|
BLAKE2b-256 | 11e55858edab0860f98bcad906a034f2c49988cb40a1bd30576d42dd4e46e63e |