WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Data Science · Basic · question 7 of 100

What is cross-validation, and why is it important in model evaluation?

📕 Buy this interview preparation book: 100 Data Science questions & answers — PDF + EPUB for $5

Cross-validation is the process of dividing a dataset into multiple subsets, usually k subsets, using one subset for testing and the remaining subsets for training. This process is then repeated k times, with each subset being used once for testing and the remaining subsets being used for training.

The most common type of cross-validation is k-fold cross-validation, where the dataset is divided into k equal-sized subsets. In each iteration of cross-validation, one of the k subsets is used as the testing set, and the remaining k − 1 subsets are used for training. The process is repeated for each of the k subsets, and the results are averaged to obtain a final performance metric.

Cross-validation is essential in model evaluation as it allows us to assess the performance of a machine learning model and estimate its generalization error. Generalization error refers to the difference between the performance of a model on the training data versus the performance on new, unseen data. By using cross-validation, we can estimate the generalization error of a model and determine how well the model will perform on future, unseen data.

Without cross-validation, we would only be able to evaluate the model’s performance on a single set of training and testing data, which may not be representative of the model’s generalization performance. Cross-validation provides a more reliable estimate of a model’s performance, as it considers multiple subsets of training and testing data and averages the results.

Here is an example of how to perform k-fold cross-validation in Python using scikit-learn:

from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

# Load dataset
X, y = load_dataset()

# Create logistic regression model
model = LogisticRegression()

# Perform 5-fold cross-validation
scores = cross_val_score(model, X, y, cv=5)

# Print average cross-validation score
print("Cross-validation score: {:.2f}".format(scores.mean()))

In the code example above, we load a dataset and create a logistic regression model. We then use the ‘cross_val_score‘ function from scikit-learn to perform 5-fold cross-validation on the dataset using the logistic regression model. Finally, we print the average cross-validation score of the model.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Data Science interview — then scores it.
📞 Practice Data Science — free 15 min
📕 Buy this interview preparation book: 100 Data Science questions & answers — PDF + EPUB for $5

All 100 Data Science questions · All topics