-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Start
Giacomo Saccaggi edited this page Jun 19, 2026
·
1 revision
# 1. Scaffold a project
scomp-link init my_project
cd my_project
# 2. Profile your data
scomp-link quality --data data/train.csv --output reports/quality.html
# 3. Engineer features
scomp-link engineer --data data/train.csv --target price \
--interactions --log-transform --output data/features.csv
# 4. Train a model
scomp-link run --data data/features.csv --target price --task regression \
--save-artifact models/price_model.scomp --output reports/results.json
# 5. Explain the model
scomp-link explain --artifact models/price_model.scomp --data data/features.csv
# 6. Generate evaluation report
scomp-link report --artifact models/price_model.scomp --data data/test.csv \
--output reports/evaluation.html
# 7. Predict on new data
scomp-link predict --artifact models/price_model.scomp --data data/new.csv \
--output predictions.csv
# 8. Monitor for drift
scomp-link drift --reference data/train.csv --current data/production.csvfrom scomp_link import (
ScompLinkPipeline, ScompArtifact, FeatureEngineer,
ShapExplainer, DriftDetector, set_verbosity
)
import pandas as pd
set_verbosity("info") # "silent" | "warning" | "info" | "debug"
# Load data
df = pd.read_csv("train.csv")
# Feature engineering
fe = FeatureEngineer(interactions=True, log_transform=True)
df_eng = fe.fit_transform(df.drop(columns=['target']), df['target'])
df_eng['target'] = df['target'].values
# Train
pipe = ScompLinkPipeline("Price Prediction")
pipe.set_objectives(["Minimize RMSE"])
pipe.import_and_clean_data(df_eng)
pipe.select_variables(target_col='target')
pipe.choose_model("numerical_prediction")
results = pipe.run_pipeline(task_type="regression")
# Save
artifact = ScompArtifact()
artifact.set_model(pipe.model)
artifact.set_config(task_type='regression', target_col='target')
artifact.set_metrics(results['metrics'])
artifact.set_feature_schema(df_eng.drop(columns=['target']))
artifact.set_sample_data(df_eng.drop(columns=['target']))
artifact.save("price_model.scomp")
# Explain
shap = ShapExplainer(pipe.model, df_eng.drop(columns=['target'])[:100])
shap.explain(df_eng.drop(columns=['target'])[:50])
print(shap.feature_importance())my_project/
├── data/ # Input datasets (CSV, Parquet)
├── models/ # Saved .scomp pipeline artifacts
├── reports/ # Generated HTML reports
├── pipeline.py # Main script (edit target/task)
├── config.yaml # Project configuration
├── .gitignore
└── README.md