We wrote these 20 questions for this article from the topics NVIDIA lists for NCA-ADS, in roughly the proportions of its eight sections: five on data manipulation and preparation, three each on machine learning, pipelines and descriptive analysis, two each on foundations and MLOps, and one each on advanced data structures and environment management. None of them comes from the real exam, and as of October 2026 NVIDIA publishes no sample questions for NCA-ADS. Two are Select TWO questions.
Answer each question before you open the explanation, and note the section of every question you miss. Each explanation covers the right answer and every wrong option, since the wrong options are real functions, settings and methods used in the wrong place.
Data Manipulation and Preparation: questions 1 to 5
Data preparation: questions 1 to 5
A cuDF Series named amounts holds 50 million order totals, and each value needs a 5% fee added. A colleague's code, written for pandas, runs for x in amounts: and appends each result to a list. On cuDF the loop raises an error. What is the right fix?
cuDF does not support iterating over a Series, DataFrame or Index, because iterating over data on the GPU performs very badly: GPUs are built for highly parallel operations. The cuDF documentation notes that an existing function or method can almost always replace the loop, here one multiplication over the whole column. Reading values one at a time with iloc copies 50 million single values from the GPU. tolist() moves everything to host memory and gives up the GPU. Fifty million delayed tasks would spend far more time on scheduling than on the additions, since every Dask task carries its own overhead.
A fraud model trained on card transactions, 0.2% of them fraudulent, reports 99.8% accuracy on its test set, yet reviewers find that it flags almost nothing. Which TWO steps from the class-imbalance reading in NVIDIA's study guide address this? (Select TWO)
The reading calls this the metric trap: on highly unbalanced data, a classifier that predicts the common class every time reaches a high accuracy without analyzing any features. Metrics computed on the fraud class, such as precision, recall and F1, expose that at once. Resampling changes the balance the model learns from: undersampling drops majority rows and can lose valuable information, and oversampling repeats minority rows and can overfit. Resample the training data only, after the split, so the test set keeps the real balance. A larger test set measures the same misleading number more precisely. Removing the fraud rows deletes the class the model exists to find. Shuffling changes the order of the rows and leaves the balance as it was.
An analyst needs 12 summaries of the same dask_cudf DataFrame, one per region. The loop builds each filtered aggregation and calls .compute() on it, and the profile shows the Parquet files being read 12 times. What does Dask's best-practices guide recommend?
Dask's guide warns against calling compute in a loop: each call blocks until it finishes, which stops Dask from running the queries in parallel and from sharing intermediate results between them. Collecting the lazy results and passing them all to one dask.compute call lets Dask compute the shared part, here reading the files, only once and run the 12 aggregations in parallel. Computing the whole DataFrame first pulls all of it into the client's memory, where large data may not fit. More partitions change how the work is split, and each compute call still repeats the reads. Threads let the calls overlap, but each call still computes the shared work on its own.
A sales table has the columns store, month and revenue, with several rows per store and month because each row is one invoice. An analyst wants one row per store, one column per month and total revenue in each cell, but df.pivot(index="store", columns="month", values="revenue") raises an error. Which call fits?
The pandas documentation notes that pivot() can only handle unique combinations of index and columns, and that data with duplicates needs pivot_table(), which aggregates them, here with a sum per store and month. melt goes the other way, from wide to long. Swapping index and columns keeps the same duplicate store and month pairs. stack moves column labels into the index and adds nothing up.
A cuDF column named city holds five cities and some missing values. A linear model needs one-hot features, and the team wants to keep the information that a city was missing while using four columns for the five cities. Which call fits?
In cudf.get_dummies, dummy_na=True adds a column that marks missing values, which are ignored by default, and drop_first=True keeps k-1 dummies for k levels by removing the first level. The removed city is implied when all the other city columns are 0, and dtype sets the type of the new columns, bool by default. Option A's default ignores missing values. The documentation describes sparse as non-functional in RAPIDS. Casting to category stores integer codes in a single column and creates no indicator columns.
Full NCA-ADS set: 6 timed exams, every answer explained, $19.99 one-time.
See the practice testsTry 15 NCA-ADS practice questions free
They come from the NCA-ADS practice tests, and each option shows its explanation once you answer.
- 6 timed practice exams
- Every answer explained
- A score for each domain
- $19.99 one-time
Machine Learning With RAPIDS: questions 6 to 8
Machine learning: questions 6 to 8
An analyst clusters weather readings with cuML's KMeans for k from 2 to 10. Inertia falls steeply from k=2 to k=4 and only slightly with each further cluster. Using the elbow method from NVIDIA's cuML tutorial, which k fits?
NVIDIA's tutorial evaluates k-means with inertia, the sum of squared distances between each point and its closest centroid, where lower values mean tighter clusters. The elbow method plots inertia against the number of clusters and picks the point where the curve bends, the balance between low inertia and too many clusters. Inertia keeps falling as k grows, because more centroids sit closer to the points, so the lowest value simply goes to the largest k tried. Stopping at k=2 ignores the steep drop that continues to k=4. Comparing k values is exactly what the elbow plot is for.
A three-class model's results are summarized with scikit-learn's confusion_matrix(y_true, y_pred, normalize="pred"). What does each value on the diagonal show?
In scikit-learn's confusion matrix, rows are true labels and columns are predicted labels, and normalize divides over the true conditions (rows), the predicted conditions (columns) or the whole population. With "pred", each column sums to 1, so a diagonal cell is the fraction of samples predicted as that class that truly belong to it: the class's precision. normalize="true" puts recall on the diagonal, and normalize="all" gives cells whose diagonal sums to the accuracy. F1 combines precision and recall and does not appear in the matrix itself.
A script loads data with pandas, cleans it and trains scikit-learn models. The team wants both parts accelerated on a GPU without editing the script. Which command runs it that way, as the cuml.accel FAQ shows?
The cuml.accel FAQ explains that cuml.accel gives zero-code-change acceleration for scikit-learn and similar packages while cudf.pandas does the same for pandas, and that the two can be combined on the command line with python -m cudf.pandas -m cuml.accel script.py. In Jupyter, both extensions are loaded before the libraries they accelerate are imported. Each accelerator covers its own library, so either one alone leaves the other part on the CPU. A --device flag is an argument to the script itself, and neither library reads it.
Full NCA-ADS set: 6 timed exams, every answer explained, $19.99 one-time.
See the practice testsPipelines and workflow automation: questions 9 to 11
Pipelines: questions 9 to 11
A colleague builds a binary classifier on a dataset whose 10,000 features are pure random noise. The code runs SelectKBest(k=25) on all rows, then splits the selected columns into training and test sets, trains a gradient-boosting classifier and reports 0.76 accuracy, although random features should score around chance. What went wrong, and what fixes it?
scikit-learn's common-pitfalls guide uses this exact setup: selecting features on the whole dataset before the split produces 0.76 accuracy on random data, because the test rows helped choose the features. Like any preprocessing, feature selection should use the training data only. Split first, fit the selector on the training set, and the score falls to what random data deserves, close to chance; a Pipeline does the same automatically inside cross-validation. A larger test split, another statistic or another model all leave the selection step fitted on every row, so the leak remains.
A team writes Dask DataFrame pipelines on laptops without GPUs and runs the same pipelines on GPU servers. It wants one codebase, without separate cuDF and pandas reading code. What does NVIDIA's guide to multi-GPU data analysis with Dask show?
NVIDIA's guide shows that Dask switches between CPU and GPU backends with a setting, much as PyTorch code picks a device: dask.config.set({"dataframe.backend": "cudf"}) or the environment variable DASK_DATAFRAME__BACKEND=cudf on the GPU servers, and pandas elsewhere. The same read_parquet and groupby code then runs on either. Two copies of each pipeline are exactly what the setting avoids. Converting to pandas at every step pulls the data off the GPU. cuml.accel accelerates scikit-learn and similar libraries, and Dask DataFrames are outside its scope.
NVIDIA's study guide includes a data flywheel in this section, with production data continuously improving deployed models. Which loop describes one?
NVIDIA's glossary describes a data flywheel as a self-improving loop in which data collected from AI interactions or processes is used to keep refining the models, which in turn produces better outcomes and more valuable data. Its steps run from processing and curating data through customizing and evaluating the model to deployment, after which new data and feedback flow back into processing. A frozen model learns nothing from production. A nightly search on the original training set sees no new data. Copying logs into a warehouse helps reporting and sends nothing back to the model.
Full NCA-ADS set: 6 timed exams, every answer explained, $19.99 one-time.
See the practice testsDescriptive analysis and visualization: questions 12 to 14
Descriptive analysis: questions 12 to 14
An analyst compares order values between two independent groups of customers. The spreads look very different, so the plan is to test whether the variances differ and then compare the means without assuming equal variances. Which TWO SciPy calls fit that plan? (Select TWO)
SciPy lists Levene's test among its tests for equal variances. ttest_ind assumes equal population variances by default; with equal_var=False it performs Welch's t-test, which does not. ttest_rel is for related samples, such as the same customers measured before and after a change. chi2_contingency tests independence in a table of counts. pearsonr measures the linear correlation between paired values, and two independent groups have no pairs to correlate.
An hvPlot histogram of 20 million bike-trip durations, built from a cuDF DataFrame, shows most trips under 20 minutes and a thin tail of long trips. The analyst wants a closer look at that tail. What does NVIDIA's guide to data visualization with RAPIDS point out?
NVIDIA's guide uses this example: an hvPlot histogram of trip durations shows that most trips are short, and because hvPlot has built-in interactivity, you can zoom in to inspect the long tail of durations without creating another query. hvPlot charts display interactively through the Bokeh and Plotly extensions, with Matplotlib as the static option. A filtered query would work, and zooming gets there without new code. The guide works with the full data on the GPU and adds Datashader when millions of individual points have to be drawn.
A survey table has the columns region and plan, where plan is basic, plus or pro. An analyst wants, for each region, the share of its customers on each plan, with every row summing to 1. Which pandas call fits?
pandas crosstab builds a frequency table, and its normalize argument turns counts into shares: True divides by the grand total, "index" normalizes within each row and "columns" within each column. With regions as rows, "index" gives each region's plan mix summing to 1. True gives each cell's share of all customers. "columns" shows how each plan's customers split across regions. value_counts on the plan column alone loses the regions.
Full NCA-ADS set: 6 timed exams, every answer explained, $19.99 one-time.
See the practice testsFoundations, MLOps, time series and environments: questions 15 to 20
Foundations, MLOps, time series and environments: questions 15 to 20
A pandas pipeline runs under cudf.pandas. Most steps speed up, but the steps that work on a column of monthly pandas Period values (dtype period[M]) run on the CPU. Why?
cuDF's comparison with pandas states that cuDF supports all the data types in pandas except pandas.PeriodDtype, pandas.SparseDtype and third-party ExtensionDtypes. cudf.pandas runs what cuDF supports on the GPU and falls back to pandas for the rest, so the operations on a period column run on the CPU. Converting the periods to timestamps (datetime64), a type cuDF supports, is one way to keep those steps on the GPU. cuDF has native datetime types, so dates in general stay on the GPU. Fallback depends on what cuDF supports, and a column's number of distinct values plays no part in it. Spilling moves data to host memory under memory pressure, a separate mechanism from fallback.
A retailer has two years of purchase records and no labels saying which segment a customer belongs to. It wants groups of customers who buy in similar ways, to plan campaigns. Which type of machine learning fits?
NVIDIA's overview of learning types describes supervised learning as training on a fully labeled dataset, and unsupervised learning as finding features and patterns in unlabeled data on its own, with clustering, which groups similar items together, as its most common application. Classification needs the segment labels the retailer does not have. Regression predicts a number such as a purchase amount and forms no groups. Reinforcement learning trains an agent through rewards for its actions.
A scoring service exports request latency as a classic Prometheus histogram named predict_seconds. The team wants a dashboard panel with the average latency over the last 5 minutes. Which PromQL expression fits?
Prometheus's guide to histograms explains that for a classic histogram or a summary, you get the average duration over a window by dividing the rate of the sum by the rate of the count; native histograms have histogram_avg for the same job. histogram_quantile(0.5, ...) estimates the median, which can be far from the mean when latencies are skewed. Averaging the bucket counters over time mixes cumulative counts from different buckets and yields no duration. Dividing the summed rate of the le="0.3" bucket by the summed rate of the count is the guide's example for a service-level objective: it gives the fraction of requests that took 0.3 seconds or less.
A product-recommendation model uses categorical inputs such as page category and device type. Labels arrive weeks late, and the team wants an early warning when production inputs start to differ from the data the model was trained on. Which approach matches Datadog's guide to ML model monitoring?
Datadog's guide treats data drift metrics as early indicators when ground truth is delayed, and gives this example: for a categorical recommendation model, find the Jensen-Shannon divergence between samples of the most recent input data and the test data used during training, with a rollup range chosen so that local seasonal swings do not trigger it. RMSE needs the labels that arrive weeks later. Nightly retraining changes the model without telling anyone that the inputs moved, and the guide notes that repeated retrains can cause drift of their own. A categorical feature such as device type has no mean, so a t-test on means does not apply.
A demand series covers six years of daily data. With scikit-learn's TimeSeriesSplit(n_splits=5), the later folds train on several years of history, and the team wants every fold to train on the most recent two years only, since older patterns no longer apply. Which setting does this?
TimeSeriesSplit's max_train_size sets the maximum size of a single training set, so each fold trains on the latest 730 samples before its test period, a window that slides forward with every fold. test_size limits the size of each test set. gap excludes samples between the end of the training set and the start of the test set, which helps when a target looks ahead in time. Fewer splits change the number of folds, and their training sets still grow.
After an analyst upgrades several packages in a project's conda environment, a RAPIDS notebook fails to import. The team wants the environment back exactly as it was before the upgrade, without rebuilding it from scratch. What does conda's documentation offer?
conda keeps a history of the changes made to an environment so that you can roll back: conda list --revisions shows each change, and conda install --revision=REVNUM, or --rev REVNUM, restores the environment to that revision. Exporting now records the broken state after the upgrade. conda clean removes caches and unused packages and restores no versions. Updating everything moves the environment further from the state that worked.
Full NCA-ADS set: 6 timed exams, every answer explained, $19.99 one-time.
See the practice testsHow to read your score
Count your misses per section before you count your total. With 20 questions, one miss on time series or environments can be luck, while three misses among the five data preparation questions point at the largest section on the exam, at 23%.
Then read the explanations of the questions you got right. Some of those were guesses, and the explanation is where you find out.
Use the result to decide where to study, and use full-length timed tests to judge readiness: the free NCA-ADS practice questions on the certificate page come from preporato.com's six timed practice tests, and the 4-week study plan shows where tests fit into a month of preparation.
Where an explanation still feels abstract, run the code once: a cuDF pipeline, a cross-validated model or a model checked against a cost table, changing one setting at a time.
Run what the questions describe
The cross-validation and metrics labs run in the browser, and you can try their first step before you subscribe. The RAPIDS lab runs on an NVIDIA GPU pod with Pro.
Frequently asked questions
Are these NCA-ADS exam dumps?
No. We wrote them for this article from NVIDIA's published exam topics. Dumps are remembered copies of live exam questions, and using them breaks NVIDIA's exam agreement, which puts any certification at risk.
How close are these questions to the real NCA-ADS exam?
They follow the topics and section weights NVIDIA publishes, and their options are real functions, settings and methods. NVIDIA publishes no sample questions for NCA-ADS, as of October 2026, and does not describe the exam's question formats, so the two Select TWO questions here are our addition for extra depth.
Which NCA-ADS section should I study first?
Data Manipulation and Preparation, at 23%, followed by Machine Learning With RAPIDS at 16%. Together they make up 39% of the exam. The NCA-ADS complete guide lists what NVIDIA names in each section.
Where can I find more NCA-ADS practice questions?
The free questions on the certificate page come from the full preporato.com practice tests, and the NCA-ADS practice tests overview lists the other options that exist.
Sources:
- NVIDIA-Certified Associate: Accelerated Data Science and its study guide (PDF)
- cuDF: comparison with pandas and cudf.get_dummies
- 10 techniques to deal with class imbalance (suggested reading in NVIDIA's study guide)
- Dask best practices and pandas: reshaping and pivot tables
- Machine learning with GPU-accelerated pandas and scikit-learn (NVIDIA) and scikit-learn's confusion_matrix
- cuml.accel FAQ and scikit-learn: common pitfalls
- Best practices for multi-GPU data analysis using RAPIDS with Dask (NVIDIA) and What is a data flywheel? (NVIDIA)
- SciPy hypothesis tests and scipy.stats.ttest_ind
- A guide to data visualization with RAPIDS (NVIDIA)
- Supervised, unsupervised and reinforcement learning (NVIDIA)
- Prometheus: histograms and summaries and ML model monitoring in production (Datadog)
- scikit-learn's TimeSeriesSplit and conda: managing environments
