Skip to content

How to use MLOps Desktop

This page is the everyday user manual. It explains what to click, what to check, and how to decide the next step after each run.

MLOps Desktop is most useful when you already have a CSV and want a repeatable local workflow for training scikit-learn models. It does not replace every notebook or production platform. It helps you move the common loop into one place: load data, train, evaluate, compare, explain, export, and serve.

Most pipelines follow this shape:

DataLoader → DataSplit → Trainer → Evaluator

Add these only when you need them:

Trainer → Model Exporter
Trainer/Evaluator → Explainability, Runs, Models, Serving panels

Use this rule of thumb:

If you need toStart with
Train a model from a CSVDataLoader → DataSplit → Trainer → Evaluator
Try a better configurationChange the Trainer, run again, compare in Runs
Search many configurationsSet Trainer to Tune, then watch Trials
Understand model behaviorOpen the Metrics run and click Explain
Save a model fileAdd Model Exporter after Trainer
Test an HTTP prediction endpointUse the Serving and playground panels

Before building nodes, check the data file once:

  • The target column exists and has the exact name you plan to select.
  • The first row contains headers.
  • Empty values are expected and not a file export mistake.
  • Very high-cardinality text columns, IDs, and free-form notes are either removed or intentionally kept.
  1. Add a DataLoader node to the canvas.
  2. Select the node, then choose your CSV file.
  3. Run the pipeline once with only the data node if you want to confirm the file loads.
  4. Open the Data Profile tab and check row count, column names, types, and missing values.

If the profile looks wrong, fix the CSV before adding model nodes. Bad column names or unexpected empty columns are faster to fix at this stage.

Add DataSplit between DataLoader and Trainer for a clearer train/test boundary.

Recommended starting values:

SettingStart withNotes
Test split0.2Use 20% of rows for evaluation
Random state42Keeps runs comparable
Stratify columntarget columnUse for classification when classes are imbalanced

For very small datasets, a large test split can leave too little training data. If you see unstable metrics, try a smaller split or use cross-validation during tuning.

Add Trainer, connect it after DataSplit, and configure:

SettingClassification baselineRegression baseline
Model typeRandom Forest ClassifierRandom Forest Regressor
Target columnYour label columnYour numeric target column
ModeTrainTrain

Run the pipeline and watch the Logs tab. A good first run is not about getting the best score. It is about proving that the data, target, and model configuration work end to end.

Add Evaluator after Trainer, run again, then review the Metrics tab.

For classification, check:

  • Accuracy for a quick overview.
  • Precision, Recall, and F1 when false positives or false negatives matter.
  • The confusion matrix to see which classes are being mixed up.

For regression, check:

  • for overall fit.
  • RMSE when large errors should hurt more.
  • MAE when you want an error in the same unit as the target.

6. Compare runs instead of trusting one score

Section titled “6. Compare runs instead of trusting one score”

Each run is saved in the Runs panel. Use it to answer practical questions:

QuestionWhat to compare
Did the new model improve?Same dataset, same split, different model type
Did tuning help?Baseline run vs tuned run
Is the score stable?Same config across repeated runs or cross-validation
Is the model worth keeping?Metrics, notes, tags, and explainability outputs

Use notes and tags on runs when you change something important, such as baseline, rf-depth-10, tuned, or removed-id-columns.

Switch the Trainer to Tune mode when you have a working baseline and want to search better parameters.

Start small:

SettingPractical starting point
Search strategyBayesian / TPE
Trials20 to 50
CV folds3
Metricaccuracy or f1 for classification, r2 for regression

Watch the Trials tab while it runs. If trials are slow, reduce the trial count, reduce CV folds, or choose a faster model before trying a bigger search.

8. Explain the model when you need confidence

Section titled “8. Explain the model when you need confidence”

After an evaluation run, use Explain from the metrics area to generate explanation outputs.

Look for:

  • Feature importance: which columns drive the model most.
  • SHAP outputs: how features push predictions up or down.
  • Partial dependence plots: how the prediction changes as one feature changes.

Use explanations to catch obvious problems. If customer_id, row_number, or another accidental ID dominates feature importance, go back to the data and remove it.

9. Export or serve only the model you trust

Section titled “9. Export or serve only the model you trust”

When a model is worth keeping:

  • Use the Models panel to register and compare versions.
  • Promote stages only when the model has a clear purpose: Staging, Production, or Archived.
  • Add Model Exporter if you need a .joblib, pickle, ONNX, or CoreML file.
  • Use Serving and the playground to test local HTTP predictions before wiring the model into another app.

Keep the exported model and its metadata together. If feature order or package versions change, loading the model later can fail or produce wrong predictions.

Check issues in this order:

  1. Logs tab — read the first real error, not only the last line.
  2. Python path — confirm the app is using the Python installation where packages are installed.
  3. Packages — install missing packages such as scikit-learn, pandas, optuna, or shap.
  4. CSV columns — confirm target and feature column names match exactly.
  5. Model choice — confirm classification models are used for class labels and regression models for numeric targets.
  6. Data size — confirm you have enough rows after splitting.

If you are stuck, copy the error from Logs and compare it with the troubleshooting guide.

A simple checklist before sharing a result

Section titled “A simple checklist before sharing a result”
  • The pipeline loads from a saved file.
  • The same run can be repeated without changing the CSV path.
  • Metrics are from a held-out split or cross-validation.
  • The target column is correct.
  • Obvious leakage columns were removed.
  • Important runs have notes or tags.
  • The model version has metadata and an export path if it will be used outside the app.