Skip to main content

A library for Augmented Model Stacking and ensemble with a focus on flexibility and performance.

Project description

LayerLearn — Flexible Model Library

layerlearn is a small Python package that makes it easy to build stacked estimators (regressors and classifiers) around scikit-learn models. this library is designed to provide a flexible and easy-to-use interface for building stacked models, allowing users to combine multiple models to improve performance. with this library you can stack any scikit-learn compatible models and also you can use the default models provided by the library.

Features

  • Flexible Stacking: Easily stack any scikit-learn compatible models.
  • Regression and Classification: Supports both regression and classification tasks.
  • Customizable: Allows customization of the base and meta models.
  • Easy to Use: Simple API for building and training stacked models.

Requirements

  • Python 3.8+
  • scikit-learn
  • numpy
  • xgboost
  • catboost
  • lightgbm

Installation

From PyPI:

pip install layeredlearning

From source (recommended for development):

git clone https://github.com/Mr-J12/newalgo.git
cd newalgo
pip install -e .

Examples & tests

See example scripts in the repository:

  • testing/regression_default_dataset.py
  • testing/classification_default_dataset.py
  • testing/instantiation_checking.py

Quick examples

Regression:

from layerlearn.flexiblestacked import FlexibleStackedRegressor
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split

X, y = make_regression(n_samples=200, n_features=10, noise=10)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

base = LinearRegression()
meta = RandomForestRegressor(random_state=0)
stack = FlexibleStackedRegressor(base, meta)
stack.fit(X_train, y_train)
preds = stack.predict(X_test)
print(preds[:5])

Classification:

from layerlearn.flexiblestacked import FlexibleStackedClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

X, y = make_classification(n_samples=200, n_features=10, n_classes=2, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

base = LogisticRegression(max_iter=1000)
meta = RandomForestClassifier(random_state=0)
stack = FlexibleStackedClassifier(base, meta)
stack.fit(X_train, y_train)
preds = stack.predict(X_test)
print(preds[:5])

Visualization

Regression Default Dataset Report

Classification Default Dataset Report

Development

  • Install development requirements (scikit-learn, numpy).
  • Run example scripts to verify behavior: python testing/regression_default_dataset.py

License

See LICENSE for details.

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

layeredlearning-1.4.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

layeredlearning-1.4.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file layeredlearning-1.4.0.tar.gz.

File metadata

  • Download URL: layeredlearning-1.4.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for layeredlearning-1.4.0.tar.gz
Algorithm Hash digest
SHA256 8fb69df16af11af8b0d90585730246aa5269dbc7fa6f7cbe06d743f1f5b0a11a
MD5 211d21c206468534b2d5cdf815ba1dce
BLAKE2b-256 5de317ae6e683b5d0d4e54ed698680cc0a77de4e6f1d26b5f6d3a8691731bd21

See more details on using hashes here.

File details

Details for the file layeredlearning-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for layeredlearning-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 545da508f8965bdd1a0602dcfe1d00d49e112e281a1f0ae63e8e0b75f74f6ac6
MD5 09b739ff8013c820bfe36132cb8ff58d
BLAKE2b-256 ebb3f9dcf8731f1c2d8e23d5203fad5c563821a5b49442b1bd374fa2dee0f389

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page