Skip to main content

Tabular Data

Train models on structured data like CSVs and databases.

Quick Start

aitraining tabular --train \
  --model xgboost \
  --data-path ./data.csv \
  --target-columns target \
  --valid-split validation \
  --project-name tabular-model
Tabular training requires --valid-split to specify a validation split in your data.

Task Types

Classification

Predict categorical labels:
aitraining tabular --train \
  --model xgboost \
  --data-path ./customers.csv \
  --target-columns churn \
  --valid-split validation \
  --task classification \
  --project-name churn-predictor

Regression

Predict continuous values:
aitraining tabular --train \
  --model xgboost \
  --data-path ./houses.csv \
  --target-columns price \
  --valid-split validation \
  --task regression \
  --project-name price-predictor

Parameters

ParameterDescriptionDefault
--modelModel typexgboost
--data-pathPath to CSV/dataNone (required)
--project-nameOutput directoryproject-name
--target-columnsTarget variable(s)["target"]
--taskclassification/regressionclassification
--train-splitTraining data splittrain
--valid-splitValidation data splitNone (required)
--id-columnID column to excludeid
--categorical-columnsCategorical featuresNone
--numerical-columnsNumerical featuresNone
--num-trialsNumber of hyperparameter trials10
--time-limitTime limit in seconds600
--seedRandom seed42

Available Models

ModelClassificationRegression
xgboostYesYes
random_forestYesYes
extra_treesYesYes
gradient_boostingYesYes
adaboostYesYes
decision_treeYesYes
logistic_regressionYesYes
ridgeYesYes
svmYesYes
knnYesYes
naive_bayesYesNo
lassoNoYes
linear_regressionNoYes

Data Format

CSV Format

feature1,feature2,feature3,target
1.5,category_a,100,1
2.3,category_b,200,0

Handling Features

Specify categorical columns:
aitraining tabular --train \
  --model gradient_boosting \
  --data-path ./data.csv \
  --target-columns target \
  --valid-split validation \
  --categorical-columns "color,size,region" \
  --project-name model
Exclude ID columns:
aitraining tabular --train \
  --model xgboost \
  --data-path ./data.csv \
  --target-columns target \
  --valid-split validation \
  --id-column customer_id \
  --project-name model

Examples

Customer Churn

aitraining tabular --train \
  --model xgboost \
  --data-path ./customers.csv \
  --target-columns churned \
  --valid-split validation \
  --id-column customer_id \
  --task classification \
  --project-name churn-model

House Price Prediction

aitraining tabular --train \
  --model gradient_boosting \
  --data-path ./houses.csv \
  --target-columns sale_price \
  --valid-split validation \
  --id-column house_id \
  --task regression \
  --project-name house-prices

Multi-Class Classification

aitraining tabular --train \
  --model extra_trees \
  --data-path ./products.csv \
  --target-columns category \
  --valid-split validation \
  --categorical-columns "brand,color,material" \
  --task classification \
  --project-name product-classifier

Model Comparison

For comparing different models on your data:
# Train XGBoost
aitraining tabular --train \
  --model xgboost \
  --data-path ./data.csv \
  --target-columns target \
  --valid-split validation \
  --project-name model-xgb

# Train Random Forest
aitraining tabular --train \
  --model random_forest \
  --data-path ./data.csv \
  --target-columns target \
  --valid-split validation \
  --project-name model-rf

# Train Gradient Boosting
aitraining tabular --train \
  --model gradient_boosting \
  --data-path ./data.csv \
  --target-columns target \
  --valid-split validation \
  --project-name model-gb

Output

After training, you’ll find:
project-name/
├── model.joblib        # Trained model
├── metrics.json        # Evaluation metrics
├── feature_importance.json
└── config.yaml         # Training config

Loading Models

import joblib

model = joblib.load("project-name/model.joblib")
predictions = model.predict(new_data)

Next Steps