Skip to main content

Machine Learning Library Extensions

Project description

DOI PyPI version Build status codecov Python 3 License Discuss

mlxtend logo

Mlxtend (machine learning extensions) is a Python library of useful tools for the day-to-day data science tasks. It is primarily used for:

  • Ensemble methods such as stacking and voting classifiers
  • Feature selection and feature extraction techniques
  • Visualization utilities (e.g., decision regions, confusion matrices)
  • Plotting helpers for model analysis
  • Frequent pattern mining, including the Apriori algorithm for association rule mining

Sebastian Raschka 2014-2026


Links



Installing mlxtend

Using uv

To add mlxtend to a uv-managed project, run

uv add mlxtend

For a one-off command without changing your current project, run

uv run --with mlxtend python -c "import mlxtend; print(mlxtend.__version__)"

Dev Version

The mlxtend version on PyPI may always be one step behind; you can install the latest development version from the GitHub repository by executing

uv add "mlxtend @ git+https://github.com/rasbt/mlxtend.git"

Or, you can fork the GitHub repository from https://github.com/rasbt/mlxtend and run mlxtend from your local checkout via

git clone https://github.com/<your_username>/mlxtend.git
cd mlxtend
uv sync --group dev
uv run python -c "import mlxtend; print(mlxtend.__version__)"


Examples

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import itertools
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from mlxtend.classifier import EnsembleVoteClassifier
from mlxtend.data import iris_data
from mlxtend.plotting import plot_decision_regions

# Initializing Classifiers
clf1 = LogisticRegression(random_state=0)
clf2 = RandomForestClassifier(random_state=0)
clf3 = SVC(random_state=0, probability=True)
eclf = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3], weights=[2, 1, 1], voting='soft')

# Loading some example data
X, y = iris_data()
X = X[:,[0, 2]]

# Plotting Decision Regions
gs = gridspec.GridSpec(2, 2)
fig = plt.figure(figsize=(10, 8))

for clf, lab, grd in zip([clf1, clf2, clf3, eclf],
                         ['Logistic Regression', 'Random Forest', 'RBF kernel SVM', 'Ensemble'],
                         itertools.product([0, 1], repeat=2)):
    clf.fit(X, y)
    ax = plt.subplot(gs[grd[0], grd[1]])
    fig = plot_decision_regions(X=X, y=y, clf=clf, legend=2)
    plt.title(lab)
plt.show()


If you use mlxtend as part of your workflow in a scientific publication, please consider citing the mlxtend repository with the following DOI:

@article{raschkas_2018_mlxtend,
  author       = {Sebastian Raschka},
  title        = {MLxtend: Providing machine learning and data science 
                  utilities and extensions to Python’s  
                  scientific computing stack},
  journal      = {The Journal of Open Source Software},
  volume       = {3},
  number       = {24},
  month        = apr,
  year         = 2018,
  publisher    = {The Open Journal},
  doi          = {10.21105/joss.00638},
  url          = {https://joss.theoj.org/papers/10.21105/joss.00638}
}
  • Raschka, Sebastian (2018) MLxtend: Providing machine learning and data science utilities and extensions to Python's scientific computing stack. J Open Source Softw 3(24).

License

  • This project is released under a permissive new BSD open source license (LICENSE-BSD3.txt) and commercially usable. There is no warranty; not even for merchantability or fitness for a particular purpose.
  • In addition, you may use, copy, modify and redistribute all artistic creative works (figures and images) included in this distribution under the directory according to the terms and conditions of the Creative Commons Attribution 4.0 International License. See the file LICENSE-CC-BY.txt for details. (Computer-generated graphics such as the plots produced by matplotlib fall under the BSD license mentioned above).

Contact

The best way to ask questions is via the GitHub Discussions channel. In case you encounter usage bugs, please don't hesitate to use the GitHub's issue tracker directly.

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

mlxtend-0.25.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

mlxtend-0.25.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file mlxtend-0.25.0.tar.gz.

File metadata

  • Download URL: mlxtend-0.25.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mlxtend-0.25.0.tar.gz
Algorithm Hash digest
SHA256 7fd52f1c55ea80036945490ea54c497aa2251ac03cf8e728cde12275d2169bcc
MD5 7ef0c87d19bebfe25977515e7080fc67
BLAKE2b-256 a5c2a257a9b3f2f989729c6c88d127be0d832cc6defbab564c97c1e410de4697

See more details on using hashes here.

File details

Details for the file mlxtend-0.25.0-py3-none-any.whl.

File metadata

  • Download URL: mlxtend-0.25.0-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mlxtend-0.25.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71b9500d9cb506642588995783d681a30c99a3b35abfbeb7b4e800d217fc12a5
MD5 cd242c35e9f141dc988aea447d107de9
BLAKE2b-256 61b8bda63104fa9e3c4e88bd158b664d21b66667fbee3eb35f737dd329dc26a3

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