NCA-ADS hands-on labs
Small interactive labs that run entirely in your browser with toy data. Nothing is sent to a server and no AI model is called. Each lab is tagged to official objectives. Open one to start.
Confusion matrix lab: precision, recall and F1
A confusion matrix counts how often each true class was predicted as each class. Paste actual and predicted labels to see the matrix, accuracy, and per-class precision, recall and F1 (the balance of precision and recall).
Try this
- Mark every row as 'ok' and see accuracy stay high while fraud recall drops to 0.
- Turn one false alarm into a correct 'ok' and watch fraud precision rise.
What NVIDIA says (3)
“The precision is the ratio tp / (tp + fp) where tp is the number of true positives and fp the number of false positives.”
“Normalizes confusion matrix over the true (rows), predicted (columns) conditions or al”
“Accuracy classification score.”
Regression metrics lab: R², MSE, RMSE and MAE
Paste actual and predicted values to compute regression metrics and see how one outlier moves each of them.
Try this
- Add one large error and compare how much RMSE and MAE change.
- Predict the mean for every row and check that R² is 0.
What NVIDIA says (2)
“Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse).”
“Some of those might be outliers, so MSE is not robust to their presence.”
Feature lab: standard scaling, min-max scaling and one-hot encoding
Standard scaling rescales a numeric column to mean 0 and standard deviation 1. One-hot encoding turns a category column into one 0/1 column per value. Edit the columns and see both transformations.
Try this
- Add an extreme value and see how it squeezes the min-max column.
- Add a new color and see a new indicator column appear.
What NVIDIA says (2)
“Standardize features by removing the mean and scaling to unit variance”
“cudf . get_dummies ( df ) b a_value1 a_value2 0 0 True False 1 0 False True 2 0 False False”
Split lab: k-fold versus time-series validation
k-fold cross-validation rotates which block of rows is held out for validation. On time-ordered data that lets training see the future. Compare the folds with an expanding-window time-series split.
Try this
- Switch to k-fold and count the future rows used in training.
- Switch to time-series and check that every fold trains only on the past.
What NVIDIA says (3)
“Each fold is then used once as a validation set while the k - 1 remaining folds form the training set.”
“Great care must be taken when defining cross-validation folds for time-series data.”
“We are not allowed to use the future to predict the past, so the training set must precede (in time) the validation set.”
Transfer lab: when does the GPU win?
A GPU job pays to copy data to the GPU and back plus a fixed overhead, then computes much faster per row. This illustrative cost model shows why small tables can be faster on the CPU and where the break-even size lies.
Try this
- Start at 2,000 rows (CPU wins), then raise rows until the GPU wins.
- Double the copy cost and see the break-even size grow.
What NVIDIA says (2)
“Small data sizes may be slower on GPU than CPU, because of the cost of data transfers.”
“Minimize the amount of data transferred between host and device when possible, even if that means running kernels on the GPU that get little or no speed-up compared to running them on the host CPU.”
Interpolation lab: filling gaps in irregular time series
Linear interpolation fills a missing value on a straight line between its neighbors. cuDF's method='linear' treats rows as equally spaced; method='index' uses the time index as the x-axis. Compare both on irregular timestamps.
Try this
- Make the timestamps evenly spaced and see both methods agree.
- Spread out the gap and see how far the two fills differ.
What NVIDIA says (2)
“Parameters : method str, default ‘linear’ Interpolation technique to use.”
“‘index’, ‘values’: linearly interpolate using the index as an x-axis.”
PageRank lab: which nodes matter most?
A graph is a set of nodes (entities) joined by edges (relationships). PageRank gives every node an importance score from the links pointing to it. Edit the edge list and watch the scores change.
Try this
- Add more edges into 'dave' and watch its rank climb.
- Lower the damping factor and see the scores even out.
What NVIDIA says (2)
“Find the PageRank score for every vertex in a graph.”
“A graph consists of nodes or vertices (representing the entities in the system) that are connected by edges (representing relationships between those entities).”