A package to build ensemble for quick experiments.
Project description
Quicksemble
A simple package to create an ensemble for quick experiments.
Dependencies
- Numpy
pip install numpy
- Scikit Learn
pip install scikit-learn
- Xgboost
pip install xgboost
Basic Usage
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from quicksemble.ensembler import Ensembler
#
# Define train and test dataset here
#
models = [
RandomForestClassifier(random_state=21),
XGBClassifier(random_state=21)
]
# Default meta classifier is LogisticRegression. Hence it is weighted voting.
ensemble = Ensembler(models)
ensemble.fit(X_train, y_train)
ensemble.predict(X_test)
To change the default meta classifer:
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from quicksemble.ensembler import Ensembler
#
# Define train and test dataset here
#
models = [
RandomForestClassifier(random_state=21),
XGBClassifier(random_state=21)
]
# Use Neural Network as meta classifier
ensemble = Ensembler(models, meta_model=MLPClassifier())
ensemble.fit(X_train, y_train)
ensemble.predict(X_test)
By default, Base models use "hard" voting, i.e., it outputs predictions of the base models. We can switch it to "soft" voting, i.e., it outputs probabilities of each class by the base model.
To change voting style:
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from quicksemble.ensembler import Ensembler
#
# Define train and test dataset here
#
models = [
RandomForestClassifier(random_state=21),
XGBClassifier(random_state=21)
]
# Use soft voting.
ensemble = Ensembler(models, voting='soft')
ensemble.fit(X_train, y_train)
ensemble.predict(X_test)
To view output of intermediary state i.e., output of base layers (layer 1) that is going into meta layer (layer 2). Internally, it uses Pipelines from scikit-learn. So, feel free to read docs about pipelines.
ensemble = Ensembler(models, voting='soft')
ensemble.fit(X_train, y_train)
# This line will output the values. Note that you need to fit it first.
ensemble.ensemble.named_steps['base_layer'].transform(X_train)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
quicksemble-0.2.1.tar.gz
(3.8 kB
view hashes)
Built Distribution
Close
Hashes for quicksemble-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d3314a86e1f1902a258d57753e85b4586866794cfb5c3d2bbf42aeaf8abfa11 |
|
MD5 | 897763091f1ee6c24eedf85f0baeed0b |
|
BLAKE2b-256 | 3ccb33e065d4087cd7d1d68f3430374d06dbd8db6ae763a6ec154793b60e9c5c |