Back to projects

Machine learning / Final project

Azure VM Criticality Prediction

A full ML pipeline for predicting whether a new Azure VM request is critical using configuration, CPU behavior, and tenant history.

Interactive ML demo

Azure Criticality Console

  1. 01Raw request

    Tenant, VM category, cores, memory, deployment, and request time.

  2. 02Request features

    Capacity-heavy fields are frozen at provisioning time.

  3. 03Tenant window

    Historical behavior summarizes the prior fleet only.

  4. 04Time split

    Training and validation stay chronological.

  5. 05Criticality label

    Future behavior labels offline evaluation, not live inputs.

Gradient boosting baseline

LightGBM thresholded on validation F1

0.488
Precision
Recall
F1

Sequential tree boosting gave the strongest ranking quality across thresholds, making it the clean baseline for threshold tradeoffs.

Evaluation split Test
Tree ensemble Threshold 0.488
Decision Critical if score clears threshold
Best AUC model in the final report; useful when threshold can be tuned for the scheduling policy.
Top signals LightGBM validation permutation importance
}

Problem

The modeling task uses request-time features while the criticality label depends on later VM behavior.

Approach

The pipeline builds request-level tables, tenant history features, time-based splits, and model notebooks for classical and neural methods.

Result

The repository documents a 70+ column request-level dataset and multiple model families for evaluating critical VM prediction.