Tabular Classification
FlexTab
tabular
foundation-model
deep-learning
in-context
tabular-regression
tabular-matching
tabular-anomaly-detection
tabular-multi-table
tabular-clustering
Instructions to use SAP/FlexTab with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- FlexTab
How to use SAP/FlexTab with FlexTab:
pip install git+https://github.com/SAP-samples/flextab
# Run a classification task from sklearn.datasets import load_breast_cancer from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split from flextab import FlexTabClassifier # Load sample data X, y = load_breast_cancer(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42) # Initialize a classifier, 8k context and 8-fold bagging gives best performance, reduce if running out of memory clf = FlexTabClassifier(max_context_size=8192, bagging=8) clf.fit(X_train, y_train) # Predict probabilities prediction_probabilities = clf.predict_proba(X_test) # Predict labels predictions = clf.predict(X_test) print("Accuracy", accuracy_score(y_test, predictions))# Run a regression task from sklearn.datasets import fetch_openml from sklearn.metrics import r2_score from sklearn.model_selection import train_test_split from flextab import FlexTabRegressor # Load sample data df = fetch_openml(data_id=531, as_frame=True) X = df.data y = df.target.astype(float) # Train-test split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42) # Initialize the regressor, 8k context and 8-fold bagging gives best performance, reduce if running out of memory regressor = FlexTabRegressor(max_context_size=8192, bagging=8) regressor.fit(X_train, y_train) # Predict on the test set predictions = regressor.predict(X_test) r2 = r2_score(y_test, predictions) print("R² Score:", r2)# Run a matching task from sklearn.metrics import accuracy_score, roc_auc_score from flextab import FlexTabMatcher from flextab.utils.test_utils import load_febrl4 left_train, left_test, right_train, right_test, y_train, y_test = load_febrl4() matcher = FlexTabMatcher(max_context_size=8192, bagging=1) matcher.fit(left_train, right_train, y_train) predictions = matcher.predict(left_test, right_test) print(f'Accuracy {accuracy_score(y_test, predictions):.2%}') # Probabilities (e.g. for thresholding or AUROC): # probas = matcher.predict_proba_matching(left_test, right_test) # print(f'AUROC {roc_auc_score(y_test, probas[:, 1]):.2%}') - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -41,17 +41,21 @@ If you use this model in your research or want to refer to our work, please cite
|
|
| 41 |
|
| 42 |
## Requirements
|
| 43 |
|
| 44 |
-
This project uses model checkpoints available on
|
|
|
|
| 45 |
|
| 46 |
The requirements are detailed in the `pyproject.toml` file for Python 3.12 version.
|
| 47 |
|
| 48 |
-
Local installation in virtual environment:
|
| 49 |
```bash
|
| 50 |
-
git lfs pull
|
| 51 |
uv sync
|
| 52 |
source .venv/bin/activate
|
| 53 |
```
|
| 54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
## Basic Usage
|
| 56 |
|
| 57 |
The model supports classification, regression, and matching tasks. It accepts input data in the form of a pandas DataFrame or a NumPy array. No preprocessing is required, column names and cell values are automatically embedded using an LLM, and any missing values are handled correctly.
|
|
|
|
| 41 |
|
| 42 |
## Requirements
|
| 43 |
|
| 44 |
+
This project uses model checkpoints available on https://huggingface.co/SAP/FlexTab that are automatically downloaded when running the model.
|
| 45 |
+
Note that downloading the model checkpoints requires logging in to Hugging Face. See the [instructions](https://huggingface.co/docs/huggingface_hub/quick-start#authentication) for details.
|
| 46 |
|
| 47 |
The requirements are detailed in the `pyproject.toml` file for Python 3.12 version.
|
| 48 |
|
| 49 |
+
Local installation in a virtual environment:
|
| 50 |
```bash
|
|
|
|
| 51 |
uv sync
|
| 52 |
source .venv/bin/activate
|
| 53 |
```
|
| 54 |
|
| 55 |
+
Installation from source:
|
| 56 |
+
```pip install git+https://github.com/SAP-samples/flextab```
|
| 57 |
+
|
| 58 |
+
|
| 59 |
## Basic Usage
|
| 60 |
|
| 61 |
The model supports classification, regression, and matching tasks. It accepts input data in the form of a pandas DataFrame or a NumPy array. No preprocessing is required, column names and cell values are automatically embedded using an LLM, and any missing values are handled correctly.
|