CertSafari

    Free Snowflake SnowPro Advanced: Data Scientist (DSA-C03) Sample Questions

    35 free sample questions from our bank of 360+, covering every exam domain, with answers and detailed explanations. Updated October 2026.

    Domain 1: Data Science Concepts

    Subdomain 1.2: Identify machine learning problem types.

    1.A support organisation has 40,000 historical tickets in a Snowflake table, each tagged with exactly one of six queues: Billing, Access, Outage, Feature Request, Security and Other. The team wants a model that routes new tickets automatically. Which problem type fits best?

    1. A.Binary classification, because each ticket either belongs to the Billing queue or does not, evaluated once overall
    2. B.Unsupervised clustering, because tickets with similar wording should be grouped into queues without using the tags
    3. C.Multi-class classification, because each ticket receives exactly one label out of six mutually exclusive classes
    4. D.Multi-output regression, because six numeric scores must be produced and the highest one is taken afterwards
    Show answer & explanation

    Correct answer: C — Multi-class classification, because each ticket receives exactly one label out of six mutually exclusive classes

    • A. Incorrect. A single yes/no question for one queue ignores the other five queues, so it cannot route a ticket to its correct destination.
    • B. Incorrect. Existing queue tags provide supervision, and discovered clusters would not map reliably onto the six business queues the team defined.
    • C. Correct. One label from more than two exclusive categories, learned from tagged examples, is the definition of multi-class classification.
    • D. Incorrect. The target is a category, not a number; scoring queues is how classifiers work internally rather than a separate regression framing.

    Subdomain 1.2: Identify machine learning problem types.

    2.A hospital team wants a model that outlines the exact region of a tumour in each MRI scan so that its volume can be measured. Training data has radiologist-drawn masks for every scan. Which problem type does this describe?

    1. A.Image classification, since the model should return a single tumour or no-tumour label for every scan overall
    2. B.Customer-style clustering, since scans with similar intensity patterns should be grouped together without annotations
    3. C.Linear regression, since tumour volume is a number that can be fitted directly from the scan file size
    4. D.Supervised image segmentation, since the model must predict a label for each pixel using the drawn masks as targets
    Show answer & explanation

    Correct answer: D — Supervised image segmentation, since the model must predict a label for each pixel using the drawn masks as targets

    • A. Incorrect. A whole-image label cannot give region boundaries or volume; the stated need is the exact outline, which requires pixel-level predictions.
    • B. Incorrect. Grouping similar scans does not locate a tumour, and the masks already supply labels, so supervised learning is both possible and necessary.
    • C. Incorrect. File size has no reliable link to tumour volume, and the first step is localising the region, which regression on a scalar cannot do.
    • D. Correct. Predicting a mask that marks which pixels belong to the tumour is segmentation, supervised by the radiologists' annotations.

    Subdomain 1.3: Summarize the machine learning lifecycle.

    3.A retailer wants to enrich its churn model with regional demographics owned by a third party and with clickstream files that land in cloud storage every minute. Select TWO data collection approaches in Snowflake that fit.(Select 2)

    1. A.Have analysts download both sources to laptops each morning and upload the merged CSV through Snowsight on a daily schedule.
    2. B.Subscribe to a Snowflake Marketplace listing for the demographics, which exposes the data through secure data sharing without copying files.
    3. C.Configure Snowpipe with auto-ingest on the storage location so new clickstream files are loaded into a table shortly after they arrive.
    4. D.Create a Streamlit app that scrapes the demographics provider's web page and writes the values into the feature table by hand.
    5. E.Load the clickstream with a single yearly COPY INTO and treat the resulting table as a static snapshot for all training runs.
    Show answer & explanation

    Correct answers: B, C — Subscribe to a Snowflake Marketplace listing for the demographics, which exposes the data through secure data sharing without copying files.; Configure Snowpipe with auto-ingest on the storage location so new clickstream files are loaded into a table shortly after they arrive.

    • A. Incorrect. Manual downloads add latency and break reproducibility, and a daily upload cannot keep up with files arriving every minute.
    • B. Correct. Marketplace and secure data sharing give live access to provider data in the account, with no ETL pipeline to maintain.
    • C. Correct. Snowpipe provides continuous, event-driven loading of files as they land, which suits files arriving every minute.
    • D. Incorrect. Scraping is brittle and unsupported by the provider, while a shared data listing is governed and kept current for you.
    • E. Incorrect. A yearly snapshot would leave the model blind to recent behavior, which is exactly what the continuous feed is meant to supply.

    Subdomain 1.3: Summarize the machine learning lifecycle.

    4.During exploration of a subscription dataset, a data scientist finds several patterns. Select TWO findings that should be resolved before model training begins.(Select 2)

    1. A.A positive correlation between tenure and plan price, which is moderate and expected in this business.
    2. B.A customer identifier column holding unique values that is stored as an integer in the source table.
    3. C.A column storing the cancellation reason, which is filled in only after a customer has already churned.
    4. D.A churn rate of about 12%, which is an ordinary class balance for a subscription business like this one.
    5. E.Roughly 40% of the values in an important usage feature are null because the sensor was offline for some regions.
    6. F.A right-skewed distribution of monthly spend, which a tree-based model can handle without special treatment.
    Show answer & explanation

    Correct answers: C, E — A column storing the cancellation reason, which is filled in only after a customer has already churned.; Roughly 40% of the values in an important usage feature are null because the sensor was offline for some regions.

    • A. Incorrect. A moderate expected correlation between two real features is normal and does not need correction before training.
    • B. Incorrect. Unique identifiers should simply be excluded as features, which is a routine step rather than a discovered data defect.
    • C. Correct. A field populated after the outcome leaks the label into the features and inflates offline metrics, so it must be removed.
    • D. Incorrect. A 12% positive rate is moderate imbalance that standard classifiers and metrics can handle without blocking training.
    • E. Correct. Heavy missingness has to be handled by imputation, an indicator feature or exclusion before the model can use that feature reliably.
    • F. Incorrect. Skew matters for some linear models, but tree-based models split on thresholds and tolerate it, so it does not block training.

    Subdomain 1.1: Define machine learning concepts for data science workloads.

    5.A data scientist must predict the number of minutes each food delivery will take, using a labeled Snowflake table with distance, courier load and weather columns. Which `snowflake.ml.modeling` estimator choice is MOST appropriate for this target?

    1. A.`xgboost.XGBClassifier` configured with one class per whole minute so every possible duration becomes its own discrete category.
    2. B.`cluster.KMeans` fitted on distance and courier load so each cluster's average duration becomes the predicted delivery time.
    3. C.`decomposition.PCA` fitted on all columns, with the first principal component returned as the delivery time prediction.
    4. D.`xgboost.XGBRegressor` fitted on the features with the duration column as label, since the target is a continuous number.
    Show answer & explanation

    Correct answer: D — `xgboost.XGBRegressor` fitted on the features with the duration column as label, since the target is a continuous number.

    • A. A classifier treats durations as unrelated categories, discards their ordering and cannot predict values missing from training, so it suits a continuous target poorly.
    • B. KMeans is unsupervised and ignores the duration label during fitting. Its clusters are not optimized to predict the target, so it is not a proper regression approach.
    • C. PCA is an unsupervised projection that maximizes variance, not agreement with the label. Its component is a rescaled mix of features and has no meaning as minutes.
    • D. A continuous numeric label calls for supervised regression, and XGBRegressor learns that mapping and returns a predicted number of minutes for each delivery.

    Subdomain 1.1: Define machine learning concepts for data science workloads.

    6.A data scientist is building a supervised model for loan default using Snowflake ML. Which sequence of steps follows the standard machine learning lifecycle?

    1. A.Define the problem, collect and explore data, engineer features, split data, train, evaluate, register the model, deploy, then monitor.
    2. B.Collect data, train on all rows, engineer features, deploy, define the business problem, split into train and test, then evaluate the model.
    3. C.Define the problem, train the model, explore the data, engineer features, evaluate, split into train and test sets, then monitor and deploy.
    4. D.Explore data, deploy a baseline, define the problem, engineer features, train, split into train and test sets, and then evaluate drift.
    Show answer & explanation

    Correct answer: A — Define the problem, collect and explore data, engineer features, split data, train, evaluate, register the model, deploy, then monitor.

    • A. This is the standard lifecycle: frame the problem, understand and prepare data, split before training, evaluate on held-out data, then deploy and monitor.
    • B. Defining the problem after deployment and splitting after training are both out of order, and the test set would already have influenced the model.
    • C. Training before exploration and feature engineering is premature, and splitting after evaluation means no held-out data was ever available to evaluate on.
    • D. Deploying before the problem is defined or any model has been trained and evaluated puts an unvalidated artifact into production.

    Subdomain 1.4: Define statistical concepts for data science.

    7.An e-commerce team shows checkout variant A to 5,000 visitors (4.0% convert) and variant B to a different 5,000 visitors (4.6% convert). They want to know whether the conversion rates differ beyond chance. Which test fits?

    1. A.Shapiro-Wilk test on the visitor outcomes, because it determines whether the difference between the two groups is statistically significant.
    2. B.Two-proportion z-test on conversion rates, because large independent groups let a normal approximation describe the rate gap.
    3. C.Paired t-test on the conversions, because both variants were shown on the same checkout pages and visitors can be matched one to one.
    4. D.One-sample t-test of variant B's rate against 0.04, which treats the observed variant A rate as a fixed constant without sampling error.
    Show answer & explanation

    Correct answer: B — Two-proportion z-test on conversion rates, because large independent groups let a normal approximation describe the rate gap.

    • A. Incorrect. Shapiro-Wilk assesses whether data follow a normal distribution; it does not compare two group rates.
    • B. Correct. Comparing two independent proportions with large counts is the standard use of a two-proportion z-test.
    • C. Incorrect. The visitors in each variant are different people, so there is no natural pairing and a paired test would be invalid.
    • D. Incorrect. Variant A's 4.0% is itself an estimate with sampling error, so treating it as a known constant understates uncertainty.

    Subdomain 1.4: Define statistical concepts for data science.

    8.A Welch t-test comparing two churn-model retention offers returns a p-value of 0.03, and the team uses a significance level of 0.05. Which interpretation is correct?

    1. A.Repeating the experiment would reject the null in roughly 97 of 100 replications, because one minus the p-value gives the reproducibility rate.
    2. B.The offers differ by a large practical margin, because a small p-value is a direct measure of how big the effect is for the business.
    3. C.If the true mean difference were zero, results at least this extreme would appear about 3% of the time, so the null is rejected at 5%.
    4. D.There is a 3% probability that the null hypothesis is true given the observed data, which makes the alternative hypothesis about 97% likely.
    Show answer & explanation

    Correct answer: C — If the true mean difference were zero, results at least this extreme would appear about 3% of the time, so the null is rejected at 5%.

    • A. Incorrect. One minus the p-value is not a reproducibility rate; replication depends on the true effect size and statistical power.
    • B. Incorrect. P-values depend on sample size as well as effect size, so a small p-value can accompany a trivially small difference.
    • C. Correct. A p-value is the probability of data at least as extreme as observed, assuming the null hypothesis is true; 0.03 is below 0.05, so the null is rejected.
    • D. Incorrect. The p-value is not the probability that the null is true; that would need a prior and a Bayesian calculation.

    Subdomain 1.4: Define statistical concepts for data science.

    9.A new analyst asks what the empirical rule says about a variable that follows a normal distribution. Which statement is correct?

    1. A.Roughly 95% of values lie within two standard deviations of the mean, and the mean, median and mode all coincide at the centre.
    2. B.Roughly 99.7% of values lie within one standard deviation of the mean, and the median and mode are separated by about one standard error.
    3. C.Roughly 68% of values lie within two standard deviations of the mean, and the mean sits above the median because of the symmetric tails.
    4. D.Roughly 50% of values lie within one standard deviation of the mean, and the distribution is skewed toward the tail with the larger spread.
    Show answer & explanation

    Correct answer: A — Roughly 95% of values lie within two standard deviations of the mean, and the mean, median and mode all coincide at the centre.

    • A. Correct. The 68-95-99.7 rule gives about 95% within two standard deviations, and a normal curve is symmetric so mean, median and mode are equal.
    • B. Incorrect. About 99.7% falls within three standard deviations; one standard deviation covers about 68%, and mean, median and mode coincide.
    • C. Incorrect. About 68% falls within one standard deviation, not two, and symmetry means the mean equals the median.
    • D. Incorrect. About 68% falls within one standard deviation, and a normal distribution is symmetric rather than skewed.

    Domain 2: Data Preparation and Feature Engineering

    Subdomain 2.1: Prepare and clean data in Snowflake.

    10.In Snowpark for Python, what does `df.dropna(thresh=3, subset=["a", "b", "c", "d"])` do?

    1. A.It drops rows that contain at least 3 null values across the four listed columns and keeps rows that have 2 or fewer.
    2. B.It drops rows that have fewer than 3 non-null values across the four listed columns and keeps rows with at least 3.
    3. C.It drops a row only when all four listed columns are null, because `thresh` is ignored whenever the `subset` argument is also supplied.
    4. D.It drops columns among the four listed that hold fewer than 3 non-null values, leaving every row of the DataFrame in place.
    Show answer & explanation

    Correct answer: B — It drops rows that have fewer than 3 non-null values across the four listed columns and keeps rows with at least 3.

    • A. Incorrect. `thresh` counts required non-null values, not the number of nulls that triggers a drop; the two are not the same cut-off.
    • B. Correct. `thresh` sets the minimum number of non-null values a row must have among the `subset` columns to be retained.
    • C. Incorrect. `thresh` is honoured together with `subset`, and it takes precedence over the `how` setting.
    • D. Incorrect. `dropna` works on rows, not columns, so no column is removed by this call.

    Subdomain 2.1: Prepare and clean data in Snowflake.

    11.A VARIANT column `payload` holds JSON such as `{"amount": "42.5", "ts": "03/04/2025", "qty": 3}`; the dates are day-first strings in `DD/MM/YYYY` order. Select TWO correct ways to produce typed columns.(Select 2)

    1. A.Parse the date with `TRY_TO_DATE(payload:ts::STRING, 'DD/MM/YYYY')`, so the day-month order is explicit and malformed values return NULL.
    2. B.Read `payload:amount::FLOAT` for monetary values so aggregates are fast, since floating point keeps exact cents in sums across many rows.
    3. C.Use `TRY_CAST(payload:ts AS DATE, 'DD/MM/YYYY')`, passing the format as a second argument to the cast function to resolve the order.
    4. D.Extract the amount with `payload:amount::NUMBER(10,2)` so the JSON string becomes an exact decimal column instead of remaining a VARIANT.
    5. E.Run `TO_DATE(payload:ts)` directly on the VARIANT, since it accepts any VARIANT without a format and never fails on unparseable values.
    Show answer & explanation

    Correct answers: A, D — Parse the date with `TRY_TO_DATE(payload:ts::STRING, 'DD/MM/YYYY')`, so the day-month order is explicit and malformed values return NULL.; Extract the amount with `payload:amount::NUMBER(10,2)` so the JSON string becomes an exact decimal column instead of remaining a VARIANT.

    • A. Correct. Supplying the format removes the day-versus-month ambiguity, and the TRY variant avoids query failure on bad strings.
    • B. Incorrect. FLOAT is binary floating point and cannot represent many decimal amounts exactly, so currency sums drift.
    • C. Incorrect. `TRY_CAST` accepts no format argument; format models belong to `TRY_TO_DATE` and related conversion functions.
    • D. Correct. The path expression plus a `::` cast produces a typed column, and NUMBER with scale preserves exact cents.
    • E. Incorrect. `TO_DATE` raises an error on unparseable input, and without a format the day-first strings may be misread.

    Subdomain 2.2: Perform exploratory data analysis in Snowflake.

    12.A data scientist must flag readings more than three standard deviations from their own sensor's mean in a table `READINGS(sensor_id, ts, value)`, keeping row-level detail. Which approach is MOST appropriate?

    1. A.Put (value - AVG(value) OVER (PARTITION BY sensor_id)) / STDDEV(value) OVER (PARTITION BY sensor_id) directly in the WHERE clause of the same SELECT.
    2. B.Compute the z-score with AVG and STDDEV as window functions OVER (PARTITION BY sensor_id) in a CTE, then filter on ABS(z) > 3 in the outer query.
    3. C.Compute AVG(value) OVER () and STDDEV(value) OVER () with no partition and compare every reading against those global figures.
    4. D.Use GROUP BY sensor_id with AVG(value) and STDDEV(value) in the select list and compare the raw value column against them.
    Show answer & explanation

    Correct answer: B — Compute the z-score with AVG and STDDEV as window functions OVER (PARTITION BY sensor_id) in a CTE, then filter on ABS(z) > 3 in the outer query.

    • A. Window functions are not permitted in WHERE because it is evaluated before windows are computed; use a CTE or QUALIFY instead.
    • B. Window functions keep every row while attaching per-sensor statistics, and the filter on the computed z-score goes in an outer query after the window is evaluated.
    • C. Without PARTITION BY the mean and spread come from all sensors blended together, not from each sensor's own readings.
    • D. Grouping collapses the rows to one per sensor, so the individual readings are no longer available to compare.

    Subdomain 2.2: Perform exploratory data analysis in Snowflake.

    13.A table has 1,000,000 rows. In 150,000 rows `x` is NULL and in a different 100,000 rows `y` is NULL. Select TWO correct statements about REGR_COUNT(y, x) and REGR_SLOPE(y, x).(Select 2)

    1. A.REGR_SLOPE(y, x) returns NULL for the whole table because any NULL in the input makes the aggregate NULL as well.
    2. B.REGR_SLOPE(y, x) uses only those 750,000 complete pairs, so it can differ from a slope after imputing.
    3. C.The NULL x values are treated as 0, so REGR_SLOPE(y, x) still uses all 900,000 rows that have a non-NULL y value.
    4. D.REGR_COUNT(y, x) returns 750,000, which is the number of rows in which both y and x are non-NULL values.
    5. E.REGR_COUNT(y, x) returns 1,000,000, because the function counts every row in the table regardless of NULL values.
    Show answer & explanation

    Correct answers: B, D — REGR_SLOPE(y, x) uses only those 750,000 complete pairs, so it can differ from a slope after imputing.; REGR_COUNT(y, x) returns 750,000, which is the number of rows in which both y and x are non-NULL values.

    • A. The function skips incomplete pairs and returns a value from the remaining rows.
    • B. Rows with a NULL in either column are excluded, so imputation would change the data the slope is fitted on.
    • C. NULLs are not converted to zero; those rows are excluded entirely.
    • D. The REGR functions use only pairs in which both values are present.
    • E. The count is limited to complete pairs and would not include the 250,000 rows with a NULL.

    Subdomain 2.3: Perform feature engineering on Snowflake data.

    14.A classifier in Snowflake ML needs the string target column `CHURN_REASON`, holding values such as 'price', 'service' and 'competitor', converted to integer class codes. Which transformer is designed for this job?

    1. A.`OneHotEncoder` fitted on the label column, which expands the target into one indicator column per reason value for the estimator.
    2. B.`KBinsDiscretizer` with `encode="ordinal"`, which assigns each label value to one of several numeric intervals of equal width.
    3. C.`LabelEncoder` fitted on the single label column, which maps each distinct class to an integer between zero and the class count minus one.
    4. D.`Binarizer` with a threshold, which converts the label column into zero or one depending on whether each numeric value passes a chosen cutoff.
    Show answer & explanation

    Correct answer: C — `LabelEncoder` fitted on the single label column, which maps each distinct class to an integer between zero and the class count minus one.

    • A. One-hot expansion produces several indicator columns, but a single-label classifier expects one target column of class codes, not a multi-column indicator matrix.
    • B. KBinsDiscretizer divides continuous numeric ranges into intervals and does not accept arbitrary string categories as input.
    • C. LabelEncoder is intended for target labels. It operates on one column and assigns integer codes to each distinct class value.
    • D. Binarizer thresholds numeric values into two classes. It cannot map three or more string classes into distinct integer codes.

    Subdomain 2.3: Perform feature engineering on Snowflake data.

    15.A reviewer examines this Snowflake ML code that standardizes features before an evaluation on held-out data: ```python scaler = StandardScaler(input_cols=["AGE", "INCOME"], output_cols=["AGE_S", "INCOME_S"]) train_s = scaler.fit(train_df).transform(train_df) test_s = scaler.fit(test_df).transform(test_df) ``` Which statement identifies the defect?

    1. A.`transform` can only be called on a DataFrame that has already been converted to a native pandas object using `to_pandas()` after fitting.
    2. B.The second `fit` recomputes mean and standard deviation from test data, so test rows are scaled with different statistics.
    3. C.The scaler should be fitted on the union of the training and test tables so both sets contribute to the learned statistics.
    4. D.`output_cols` must repeat the input column names, because `StandardScaler` can only overwrite its source columns during transform.
    Show answer & explanation

    Correct answer: B — The second `fit` recomputes mean and standard deviation from test data, so test rows are scaled with different statistics.

    • A. Transformers in Snowflake ML transform Snowpark DataFrames directly, with the work pushed down to the warehouse.
    • B. The scaler should be fitted once on training data and reused through `transform` only, otherwise train and test features sit on different scales.
    • C. Fitting on combined data pushes information about the test set into preprocessing, which leaks evaluation data into training.
    • D. StandardScaler accepts distinct output column names, which is the normal way to keep original columns alongside the scaled ones.

    Subdomain 2.4: Visualize and interpret the data to present a business case.

    16.A histogram of `session_minutes` for a streaming service shows two distinct humps, one near 4 minutes and another near 95 minutes, with a single overall mean of 48 minutes. What is the MOST appropriate conclusion for the business case?

    1. A.The mean of 48 minutes is the best description of user behavior because it sits at the center of the distribution and summarizes both humps accurately.
    2. B.The data should be removed as outlier noise, since a valid session-length distribution must always be unimodal before a model can use it.
    3. C.The data likely mixes two user groups, such as quick browsers and long viewers, so analysis should segment them instead of using the mean.
    4. D.The two humps are a plotting artifact caused by too many bins, so the analyst should reduce the histogram to a single bin to confirm the average.
    Show answer & explanation

    Correct answer: C — The data likely mixes two user groups, such as quick browsers and long viewers, so analysis should segment them instead of using the mean.

    • A. With two humps, the mean lies in the valley where very few sessions occur, so it misdescribes both groups.
    • B. Multimodal data is common and legitimate, and unimodality is not a requirement for modelling.
    • C. A bimodal distribution suggests distinct subpopulations, and the mean falls where few users actually sit, so segmentation is the useful next step.
    • D. Two well-separated modes of this size are real structure; a single bin would just hide the pattern.

    Subdomain 2.4: Visualize and interpret the data to present a business case.

    17.Monthly sales for a ski-equipment retailer drop sharply every July, and a z-score script flags each July as an outlier. A line chart of three years confirms the same drop each year. Select TWO appropriate ways to treat the flagged points.(Select 2)

    1. A.Treat them as seasonality rather than anomalies, and use a seasonal decomposition or per-month baseline before flagging deviations.
    2. B.Delete the July rows from the training data because points beyond three standard deviations are always data entry errors in business reports.
    3. C.Present the line chart with the yearly overlay so the business sees the drop is recurring and planned inventory should follow it.
    4. D.Replace each July value with the global mean sales figure so that the line chart shows a smooth line without any drop.
    5. E.Increase the threshold to 10 standard deviations until no July is flagged, because a threshold should be tuned until the output is empty.
    Show answer & explanation

    Correct answers: A, C — Treat them as seasonality rather than anomalies, and use a seasonal decomposition or per-month baseline before flagging deviations.; Present the line chart with the yearly overlay so the business sees the drop is recurring and planned inventory should follow it.

    • A. A regular yearly pattern is expected behavior, so outlier rules should compare each month with its own seasonal baseline.
    • B. Removing a recurring valid pattern would bias any forecast and rests on the false claim that all extreme values are errors.
    • C. Overlaying years on one chart shows that the pattern repeats, which turns the flagged points into a planning insight.
    • D. Imputing the global mean erases a real business signal and distorts the reported trend.
    • E. Raising the threshold until nothing is flagged would hide true anomalies in other months as well.

    Domain 3: Model Development

    Subdomain 3.1: Connect data science tools directly to data in Snowflake.

    18.A data scientist working in Visual Studio Code on a laptop must engineer features from a 2-billion-row table without moving the data out of Snowflake. Which approach is MOST appropriate?

    1. A.Create a Snowpark `Session`, call `to_pandas()` on the full table first, and calculate each feature with pandas operations in laptop memory.
    2. B.Run `SELECT *` through the Python connector, load every row into a local pandas DataFrame, and compute the features with local scikit-learn transformers.
    3. C.Build a Snowpark `Session` from connection parameters and chain DataFrame transformations on `session.table`, so the SQL runs on a warehouse.
    4. D.Unload the table to Parquet files in an external stage, download them to the laptop, and read them with a local Spark session for feature work.
    Show answer & explanation

    Correct answer: C — Build a Snowpark `Session` from connection parameters and chain DataFrame transformations on `session.table`, so the SQL runs on a warehouse.

    • A. `to_pandas()` materialises the whole table on the client, so the features would be computed locally rather than pushed down to the warehouse.
    • B. Pulling all 2 billion rows to the client moves the data out of Snowflake and will exhaust laptop memory long before features are computed.
    • C. Snowpark DataFrame operations are compiled to SQL and executed on the warehouse, so only small results ever reach the laptop.
    • D. Unloading and downloading copies the data out of Snowflake, which is the opposite of connecting the tool directly to the data.

    Subdomain 3.1: Connect data science tools directly to data in Snowflake.

    19.A data scientist has a pandas-based exploration notebook that must now run on a 500-million-row Snowflake table with minimal code changes. Which approach is MOST appropriate?

    1. A.Keep the pandas code and load the table with `fetch_pandas_all()` on a larger warehouse, because warehouse size determines how much the client can hold.
    2. B.Rewrite the notebook around `snowflake.ml.modeling.preprocessing` classes, which accept raw pandas syntax and push every pandas call into Snowflake.
    3. C.Import `modin.pandas` together with the Snowpark pandas plugin, so existing pandas-style calls are translated to SQL and run in Snowflake.
    4. D.Wrap the existing pandas script in a Snowpark `@udf` registered over the table, so each row triggers the whole notebook inside the warehouse.
    Show answer & explanation

    Correct answer: C — Import `modin.pandas` together with the Snowpark pandas plugin, so existing pandas-style calls are translated to SQL and run in Snowflake.

    • A. The warehouse size does not change client memory, so 500 million rows would still have to fit on the machine running pandas.
    • B. Those classes are ML transformers with their own API; they do not interpret arbitrary pandas calls.
    • C. The Snowpark pandas API keeps the pandas syntax while pushing the computation down to Snowflake, so little code changes and no data is pulled locally.
    • D. A UDF runs per row and cannot host a notebook that expects the whole DataFrame, so this does not translate pandas operations.

    Subdomain 3.2: Leverage GenAI and LLM models in Snowflake.

    20.A team builds retrieval-augmented generation over internal runbooks stored in a table. Select TWO steps that are required for a correct retrieval stage.(Select 2)

    1. A.Embed each runbook chunk once and persist the vectors in a `VECTOR` column so they are not recomputed for every question.
    2. B.Embed the user question with the same embedding model used for the chunks, then rank chunks by a vector similarity function.
    3. C.Embed the user question with a smaller English model than the chunks used, because the model choice for queries is independent of documents.
    4. D.Fine-tune `llama3.1-8b` on every runbook chunk before retrieval so the base model memorizes the text and no vector search is needed.
    5. E.Pass the entire runbook table as one prompt to the LLM on every question so retrieval is handled by the context window itself.
    Show answer & explanation

    Correct answers: A, B — Embed each runbook chunk once and persist the vectors in a `VECTOR` column so they are not recomputed for every question.; Embed the user question with the same embedding model used for the chunks, then rank chunks by a vector similarity function.

    • A. Precomputing and storing chunk embeddings avoids repeated token charges and makes similarity search fast.
    • B. Query and document vectors must come from the same model to share one vector space; only then is similarity meaningful.
    • C. Mixing models yields vectors in unrelated spaces, so similarity scores are meaningless, and dimensions may not even match.
    • D. That replaces retrieval with fine-tuning, which is a different technique that cannot guarantee grounded, up-to-date answers.
    • E. Whole-table prompts exceed context windows and multiply token cost, which is the problem retrieval is meant to avoid.

    Subdomain 3.2: Leverage GenAI and LLM models in Snowflake.

    21.A team completed a Cortex Fine-tuning job and is planning usage and cost. Select TWO accurate statements.(Select 2)

    1. A.The tuned model is automatically available for cross-region inference, so any account region can call it without extra configuration.
    2. B.Training cost is input tokens multiplied by epochs trained, in addition to normal storage and warehouse charges.
    3. C.Inference uses `AI_COMPLETE` (or `COMPLETE`) with the fine-tuned model's name in place of a base model name, and is billed on tokens.
    4. D.The job retrains all billions of base model weights, so training tokens are free and only inference is charged to the account.
    5. E.Fine-tuned models can only be called from a Snowpark Container Services endpoint and not from SQL functions in a warehouse query.
    Show answer & explanation

    Correct answers: B, C — Training cost is input tokens multiplied by epochs trained, in addition to normal storage and warehouse charges.; Inference uses `AI_COMPLETE` (or `COMPLETE`) with the fine-tuned model's name in place of a base model name, and is billed on tokens.

    • A. Cross-region inference is not supported for fine-tuned models.
    • B. Fine-tuning is billed by trained tokens, which scale with both dataset size and epochs.
    • C. The tuned model is invoked like any other model by name, with token-based billing.
    • D. Cortex Fine-tuning uses parameter-efficient techniques and charges for trained tokens.
    • E. They are called through the same SQL function interface as other Cortex models.

    Subdomain 3.5: Interpret a model.

    22.A data scientist wants SHAP explanations from the Snowflake Model Registry for models trained with several libraries. Select TWO model types for which the registry's built-in explainability is supported.(Select 2)

    1. A.A TensorFlow Keras network logged with a custom predict method
    2. B.A PyTorch image classifier logged with a custom Python wrapper
    3. C.An XGBoost classifier logged from the xgboost Python package
    4. D.A LightGBM regressor logged from the lightgbm Python package
    5. E.A Hugging Face transformer logged as a pipeline model
    Show answer & explanation

    Correct answers: C, D — An XGBoost classifier logged from the xgboost Python package; A LightGBM regressor logged from the lightgbm Python package

    • A. Incorrect: Keras models are not among the libraries supported for built-in explainability.
    • B. Incorrect: deep learning models via PyTorch are not in the supported list for registry Shapley explanations.
    • C. Correct: XGBoost models are supported for built-in explainability.
    • D. Correct: LightGBM is among the supported libraries.
    • E. Incorrect: Hugging Face pipelines are not covered by the tree and scikit-learn explainability support.

    Subdomain 3.5: Interpret a model.

    23.A linear model predicts monthly spend using `income` (range 20,000-200,000) and `num_cards` (range 1-5). The coefficient on `num_cards` is far larger than the one on `income`. Can the data scientist conclude `num_cards` matters more?

    1. A.No, because linear coefficients cannot be interpreted at all unless the model is converted to a gradient boosted ensemble first.
    2. B.No, because the features use different scales; standardizing first makes coefficients comparable as per-standard-deviation effects.
    3. C.Yes, because coefficients from linear models are SHAP values and are therefore already scale invariant across all of the features.
    4. D.Yes, because a larger coefficient always means a larger effect on the prediction regardless of how each feature is measured or scaled.
    Show answer & explanation

    Correct answer: B — No, because the features use different scales; standardizing first makes coefficients comparable as per-standard-deviation effects.

    • A. Incorrect: linear coefficients are directly interpretable when read in context.
    • B. Correct: raw coefficients depend on units, so standardized coefficients are needed for comparing importance.
    • C. Incorrect: linear coefficients are per-unit effects, not scale-free attributions.
    • D. Incorrect: coefficient size depends on the feature's units.

    Subdomain 3.4: Validate a data science model.

    24.A churn team plots the ROC curve for a gradient-boosted model. A missed churner costs the business about ten times more than an unnecessary retention offer, and about 8% of customers churn. How should the operating threshold be chosen from the ROC curve?

    1. A.Compute expected payout at every candidate threshold from its TPR, FPR, prevalence and the cost matrix, then take the maximum
    2. B.Fix the threshold at 0.5, then rely on the AUC value to confirm that this default decision point is already cost-optimal for the business
    3. C.Pick the threshold where TPR equals FPR, because that diagonal crossing gives the fairest balance between saved customers and wasted offers
    4. D.Take the point nearest the top-left corner of the plot, since that point always maximizes business value regardless of how errors are priced
    Show answer & explanation

    Correct answer: A — Compute expected payout at every candidate threshold from its TPR, FPR, prevalence and the cost matrix, then take the maximum

    • A. The best point on a ROC curve depends on prevalence and error costs, so payout must be computed per threshold. The cost-weighted maximum rarely sits at a default location.
    • B. AUC summarizes ranking quality across all thresholds and says nothing about which cut-off is cheapest. The default 0.5 is not tied to the cost matrix.
    • C. TPR equal to FPR is the line of a random classifier, so it carries no useful operating point. It ignores both costs and prevalence.
    • D. Closest-to-corner treats false positives and false negatives as equally costly. With a ten-to-one cost ratio the optimum sits elsewhere on the curve.

    Subdomain 3.4: Validate a data science model.

    25.A data scientist adds 40 noise-like features to a linear regression. Training R² rises from 0.71 to 0.73, but validation error gets worse. Select TWO correct statements.(Select 2)

    1. A.Adjusted R² is always greater than or equal to ordinary R², so it should be reported as the more optimistic figure
    2. B.Switching to MAPE on the training set would show whether the noise features are helping, since percentage error ignores model complexity
    3. C.Adjusted R² penalizes predictors that fail to improve fit enough, so it would likely drop and reveal the new features are not useful
    4. D.Training R² never decreases when predictors are added to a least-squares model, so the 0.02 gain is not evidence of real signal
    5. E.The R² increase proves the features are informative, so the worse validation error must be sampling noise in the split
    Show answer & explanation

    Correct answers: C, D — Adjusted R² penalizes predictors that fail to improve fit enough, so it would likely drop and reveal the new features are not useful; Training R² never decreases when predictors are added to a least-squares model, so the 0.02 gain is not evidence of real signal

    • A. Adjusted R² is less than or equal to R² for models with predictors, because of the penalty term.
    • B. Any training-set metric rewards added complexity. Only held-out data or penalized metrics expose overfitting.
    • C. Adjusted R² adds a penalty for each extra parameter. A tiny R² gain from 40 features usually produces a lower adjusted value.
    • D. Extra predictors can only equal or raise in-sample R². Only held-out metrics show whether they generalize.
    • E. A rise in training R² is guaranteed by adding terms, whatever their value. Worse validation error is the stronger evidence.

    Subdomain 3.3: Train a data science model.

    26.A supply-chain team trains a regression model to forecast daily unit demand. A few very large under-forecasts cause costly stockouts, so large misses must be penalized much more than small ones. Which optimization metric fits best?

    1. A.Log loss, because it measures the squared distance between continuous demand forecasts and the actual units sold each day.
    2. B.RMSE, because squaring each residual before averaging weights large forecast misses much more heavily than small ones.
    3. C.MAE, because its absolute-value form assigns the largest penalty to rare, very large misses compared with other regression metrics.
    4. D.AUC, because ranking the days by predicted demand shows whether the biggest forecast misses are ordered correctly.
    Show answer & explanation

    Correct answer: B — RMSE, because squaring each residual before averaging weights large forecast misses much more heavily than small ones.

    • A. Log loss scores predicted class probabilities, not continuous values, and it is not a squared distance.
    • B. RMSE squares errors, so a few large misses dominate the score. That matches a cost structure where large errors are disproportionately expensive.
    • C. MAE weights errors linearly, so large misses are not penalized extra. It is more robust to outliers, which is the opposite need.
    • D. AUC evaluates binary classifiers. It does not measure the size of numeric forecast errors.

    Subdomain 3.3: Train a data science model.

    27.An engineer sets up an external function on AWS. The steps are: (1) create the external function, (2) create the API integration, (3) deploy the remote service behind an API Gateway endpoint, (4) update the IAM role trust policy using the integration's `API_AWS_IAM_USER_ARN` and `API_AWS_EXTERNAL_ID`, (5) create the IAM role that Snowflake will assume. Which order is correct?

    1. A.Step 3, Step 5, Step 2, Step 4, Step 1
    2. B.Step 5, Step 3, Step 2, Step 1, Step 4
    3. C.Step 3, Step 2, Step 5, Step 1, Step 4
    4. D.Step 2, Step 3, Step 5, Step 4, Step 1
    Show answer & explanation

    Correct answer: A — Step 3, Step 5, Step 2, Step 4, Step 1

    • A. The endpoint comes first, then the role that can invoke it, then the integration that references the role. The integration's values are used for the trust policy, and the function is created last.
    • B. The trust policy update cannot come after creating the function, because calls through the function would fail until it is in place.
    • C. The integration needs the ARN of the role, so the role must exist before the integration is created.
    • D. The integration needs both the role ARN and the endpoint URL, so it cannot be created first.

    Domain 4: Model Deployment

    Subdomain 4.3: Outline model lifecycle and validation tools.

    28.A team builds a scheduled retraining task that calls a Python stored procedure which trains with `snowflake-ml-python` and logs a new version. Select THREE items needed for it to run successfully.(Select 3)

    1. A.The model carries the alias `DEFAULT` before the first run, since a stored procedure cannot log into an unaliased model.
    2. B.The task is resumed with `ALTER TASK ... RESUME` after creation, since scheduled tasks start in a suspended state.
    3. C.The task is created in the same schema as the model, because a task can only act on objects sharing its schema.
    4. D.The role owning the task has the account-level `EXECUTE TASK` privilege, along with usage on the warehouse the task uses.
    5. E.A Snowpark Container Services compute pool is attached to the task, since a Python stored procedure needs one to import packages.
    6. F.The stored procedure lists `snowflake-ml-python` in its `PACKAGES` so the Snowflake ML library is available at runtime.
    Show answer & explanation

    Correct answers: B, D, F — The task is resumed with `ALTER TASK ... RESUME` after creation, since scheduled tasks start in a suspended state.; The role owning the task has the account-level `EXECUTE TASK` privilege, along with usage on the warehouse the task uses.; The stored procedure lists `snowflake-ml-python` in its `PACKAGES` so the Snowflake ML library is available at runtime.

    • A. Incorrect: aliases are not a prerequisite for logging a version.
    • B. Correct: without resuming, the schedule never fires.
    • C. Incorrect: tasks can reference objects in other schemas when privileges allow.
    • D. Correct: tasks need the execute privilege and compute to run.
    • E. Incorrect: Python procedures run on a warehouse and do not require a compute pool.
    • F. Correct: the procedure must declare the packages it imports, including the Snowflake ML package.

    Subdomain 4.3: Outline model lifecycle and validation tools.

    29.An ML engineer defines a model monitor for a registered classifier. Select TWO elements the monitor definition must reference.(Select 2)

    1. A.An object tag naming the model's owner, which the monitor needs before it can compute drift metrics.
    2. B.A compute pool in Snowpark Container Services, which executes every refresh of the aggregated metrics.
    3. C.A source table or view holding logged inferences, including a timestamp column and the prediction columns.
    4. D.A Snowflake Dataset version used for training, which supplies the monitor's compute resources for refresh.
    5. E.A stream on the production table, which the monitor consumes to detect rows inserted since its last refresh.
    6. F.The specific model version and the model method, such as predict, whose inputs and outputs are being tracked.
    Show answer & explanation

    Correct answers: C, F — A source table or view holding logged inferences, including a timestamp column and the prediction columns.; The specific model version and the model method, such as predict, whose inputs and outputs are being tracked.

    • A. Incorrect: tags are not a prerequisite for computing metrics.
    • B. Incorrect: monitor refreshes use a warehouse rather than a compute pool.
    • C. Correct: the source holds the inference records, and the timestamp column enables time-based aggregation.
    • D. Incorrect: a Dataset version is not required to define a monitor, and it never supplies compute.
    • E. Incorrect: monitors read their source table directly and do not need a stream.
    • F. Correct: a monitor is created for a particular model version and function.

    Subdomain 4.1: Move a data science model into production.

    30.A model uses a library that is not published in the Snowflake Anaconda channel. The team still wants to deploy it from the registry. Select TWO statements that apply.(Select 2)

    1. A.The library can be listed under `conda_dependencies` and Snowflake will fetch it from any public conda channel at inference time
    2. B.Setting `relax_version=True` downloads unpublished libraries automatically because that option relaxes the channel restriction
    3. C.Warehouse deployment resolves dependencies from the Snowflake Anaconda channel, so the unavailable library blocks that target platform
    4. D.The model must be rewritten as an external function because registered models can only use packages from the Snowflake channel
    5. E.Snowpark Container Services deployment can install the library with `pip_requirements`, because the service image is built with those
    Show answer & explanation

    Correct answers: C, E — Warehouse deployment resolves dependencies from the Snowflake Anaconda channel, so the unavailable library blocks that target platform; Snowpark Container Services deployment can install the library with `pip_requirements`, because the service image is built with those

    • A. Snowflake restricts conda resolution for warehouses to its own channel, and arbitrary channels are not consulted.
    • B. `relax_version` loosens the version pinning of dependencies. It does not widen the set of channels.
    • C. Warehouse inference installs packages from the Snowflake channel, so an unpublished library cannot be satisfied there.
    • D. Registered models can use pip packages when served from containers, so a rewrite is unnecessary.
    • E. Container-based serving builds an image, which allows packages from PyPI through `pip_requirements`.

    Subdomain 4.1: Move a data science model into production.

    31.Which sequence correctly orders the steps for moving a trained scikit-learn churn model to batch scoring in Snowflake?

    1. A.Log the model with a signature > set it as default > save results to a table > validate the version > score with `mv.run`
    2. B.Score with `mv.run` > log the model with a signature > validate the new version > set it as default > save results to a table
    3. C.Set the version as default > log the model with a signature > validate the new version > score with `mv.run` > save results
    4. D.Log the model with a signature > validate the new version > set it as default > score with `mv.run` > save results to a table
    Show answer & explanation

    Correct answer: D — Log the model with a signature > validate the new version > set it as default > score with `mv.run` > save results to a table

    • A. Saving results before scoring or validating is impossible because no predictions exist yet.
    • B. Inference with `mv.run` needs a logged model version, so it cannot come first.
    • C. A default version cannot be set before the version exists, and promotion should follow validation.
    • D. The model must be logged before it can be validated, promoted and run, and predictions are persisted at the end.

    Subdomain 4.1: Move a data science model into production.

    32.An in-house forecasting algorithm is a plain Python class that is not a supported framework in the registry. How can the team log and deploy it from the Model Registry?

    1. A.Subclass `CustomModel`, expose a method with `@custom_model.inference_api`, and log the instance with `log_model`
    2. B.Pickle the object and `PUT` it to a stage, because the registry only accepts custom algorithms as staged files
    3. C.Rewrite the algorithm as a SQL stored function, since unsupported frameworks cannot be logged to the registry at all
    4. D.Request that Snowflake add the algorithm as a built-in model type, then wait for support before deploying it
    Show answer & explanation

    Correct answer: A — Subclass `CustomModel`, expose a method with `@custom_model.inference_api`, and log the instance with `log_model`

    • A. A custom model class wraps arbitrary Python logic and its inference methods become callable model methods.
    • B. The registry stores model objects it logs. A pickle on a stage is not a logged model and has no versions or methods.
    • C. Unsupported frameworks can be wrapped with a custom model class, so no rewrite is needed.
    • D. No vendor change is needed because the custom model class exists for this case.

    Subdomain 4.2: Determine the effectiveness of a model and retrain if necessary.

    33.A team creates a model monitor for a fraud model and supplies a baseline table built from the training set. What does Snowflake use the baseline table for?

    1. A.It provides reference distributions that production rows in the source table are compared against when drift metrics are computed
    2. B.It stores the aggregated daily metrics that the monitor writes, which later feed the performance functions for each time window
    3. C.It supplies labelled rows that the monitor re-scores nightly so that the registered model version is automatically retrained on them
    4. D.It defines the rows excluded from the source table so that only the most recent aggregation window is processed by the monitor
    Show answer & explanation

    Correct answer: A — It provides reference distributions that production rows in the source table are compared against when drift metrics are computed

    • A. The optional baseline table exists for comparative operations such as drift. Without it, drift metrics have no reference distribution to compare live data with.
    • B. Computed metrics are managed by the monitor itself and read through the monitor functions. The baseline is user-supplied input, not output storage.
    • C. Model monitors observe and compute metrics; they never retrain a model. The baseline is a reference dataset, not a retraining queue.
    • D. The baseline does not filter the source table. Time windows come from the timestamp column and the aggregation settings.

    Subdomain 4.2: Determine the effectiveness of a model and retrain if necessary.

    34.A binary classifier for support-ticket escalation has 5% positives. The business needs a single monitor metric balancing the cost of missed escalations and of false alarms. Which is the BEST fit?

    1. A.`MAPE`, the mean absolute percentage error between predictions and actual numbers for each aggregation window
    2. B.`F1_SCORE`, the harmonic mean of precision and recall, which drops sharply if either type of error grows too large
    3. C.`CLASSIFICATION_ACCURACY`, the share of correct decisions, which stays high because negatives dominate the population
    4. D.`MSE`, the mean of the squared differences between predicted values and actual values across the window of rows
    Show answer & explanation

    Correct answer: B — `F1_SCORE`, the harmonic mean of precision and recall, which drops sharply if either type of error grows too large

    • A. MAPE is a regression metric and is not offered for binary classification monitors.
    • B. F1 balances precision and recall and suits imbalanced problems.
    • C. Accuracy is dominated by the majority class and hides both error types.
    • D. MSE is a regression metric and does not balance precision and recall.

    Subdomain 4.2: Determine the effectiveness of a model and retrain if necessary.

    35.A pipeline owner worries that nulls are appearing in the `INCOME` feature logged to a monitor's source table after an upstream change. Which monitor function provides this check?

    1. A.`MODEL_MONITOR_PERFORMANCE_METRIC` with `'PRECISION'`, which counts nulls in features for each aggregation window
    2. B.`MODEL_MONITOR_STAT_METRIC`, which returns counts and null counts for the columns logged in the source table
    3. C.`MODEL_MONITOR_DRIFT_METRIC` with `'RMSE'`, which compares prediction error between the baseline and production data
    4. D.`SYSTEM$MODEL_MONITOR_NULLS`, a system function that scans every table of the schema for missing feature values
    Show answer & explanation

    Correct answer: B — `MODEL_MONITOR_STAT_METRIC`, which returns counts and null counts for the columns logged in the source table

    • A. Performance functions evaluate predictions against actuals, not feature nulls.
    • B. The statistic metric function exists for counts and null values on monitored columns.
    • C. Drift names are distribution distances, and RMSE is a performance metric.
    • D. No such function exists in Snowflake.

    Want the full experience?

    These are just samples. Practice the full Snowflake SnowPro Advanced: Data Scientist (DSA-C03) question bank in quiz mode — free, no signup, with domain practice and exam simulation.