Autofeat is a Python library that provides sklearn
-compatible linear prediction models with automated feature engineering and selection capabilities.
Autofeat simplifies the process of improving linear model performance by automating feature generation and selection. It first generates a wide range of non-linear features, then selects a small, robust subset of meaningful features that enhance the predictive power of linear models. This multi-step approach allows you to harness the interpretability of linear models without sacrificing accuracy.
- Automated Feature Generation and Selection: Automates the process of generating and selecting features for linear models for improved performance.
- Improved Performance and Interpretability: The generated features improve prediction accuracy while retaining the intuitive interpretability of linear models.
- Seamless Integration: Fully compatible with
scikit-learn
pipelines, making it easy to integrate into your existing machine learning workflows.
- Ideal for supervised learning tasks where model transparency is crucial for decision-making.
- Suitable for feature selection in large datasets, automating the discovery of important variables.
- Useful in scenarios where non-linear features need to be discovered and leveraged without complicating the model.
Note: The code is intended for research purposes. Results may vary depending on the dataset and use case.
Autofeat is available on PyPI, making it easy to install via pip
:
pip install autofeat
- numpy
- pandas
- scikit-learn
- sympy
- joblib
- pint
- numba
Description | Link |
---|---|
Example Notebooks | examples |
Documentation | documentation |
Paper | paper |
Talk | PyData talk |
If any of this code was helpful for your work, please consider citing the paper:
@inproceedings{horn2019autofeat,
title={The autofeat Python Library for Automated Feature Engineering and Selection},
author={Horn, Franziska and Pack, Robert and Rieger, Michael},
booktitle={Joint European Conference on Machine Learning and Knowledge Discovery in Databases},
pages={111--120},
year={2019},
organization={Springer}
}
If you have any questions please don't hesitate to send me an email and of course if you should find any bugs or want to contribute other improvements, pull requests are very welcome!
This project was made possible thanks to support by BASF.