Large Language Models for Automated Data Science: Introducing CAAFE for Context-Aware Automated Feature Engineering
About
As the field of automated machine learning (AutoML) advances, it becomes increasingly important to incorporate domain knowledge into these systems. We present an approach for doing so by harnessing the power of large language models (LLMs). Specifically, we introduce Context-Aware Automated Feature Engineering (CAAFE), a feature engineering method for tabular datasets that utilizes an LLM to iteratively generate additional semantically meaningful features for tabular datasets based on the description of the dataset. The method produces both Python code for creating new features and explanations for the utility of the generated features. Despite being methodologically simple, CAAFE improves performance on 11 out of 14 datasets -- boosting mean ROC AUC performance from 0.798 to 0.822 across all dataset - similar to the improvement achieved by using a random forest instead of logistic regression on our datasets. Furthermore, CAAFE is interpretable by providing a textual explanation for each generated feature. CAAFE paves the way for more extensive semi-automation in data science tasks and emphasizes the significance of context-aware solutions that can extend the scope of AutoML systems to semantic AutoML. We release our $\href{https://github.com/automl/CAAFE}{code}$, a simple $\href{https://colab.research.google.com/drive/1mCA8xOAJZ4MaB_alZvyARTMjhl6RZf0a}{demo}$ and a $\href{https://pypi.org/project/caafe/}{python\ package}$.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Regression | Housing | RMSE0.224 | 26 | |
| Classification | SVMGuide3 LibSVM (5-fold cross-val) | Macro F181.74 | 17 | |
| Classification | PimaIndian Kaggle (5-fold cross-validation) | Macro F1 Score79.86 | 17 | |
| Classification | Ionosphere UCIrvine (5-fold cross-validation) | Macro F1 Score92.84 | 17 | |
| Classification | Amazon Employee Kaggle (5-fold cross-validation) | Macro F191.41 | 17 | |
| Classification | Messidor Feature UCIrvine (5-fold cross-validation) | Macro F10.661 | 17 | |
| Classification | German Credit UCIrvine (5-fold cross-val) | Macro F10.5992 | 17 | |
| Classification | breast-w | ROC-AUC0.99 | 13 | |
| Classification | water (val) | AUROC59.8 | 12 | |
| Classification | customer (val) | AUROC0.853 | 12 |