This Cross Validation lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
Cross validation rotates which slice of the data is the test set. Each row is used for testing once.
The example splits five rows into five folds and shows the first test slice.
Example 1: Start here
Average the score across the folds. Do not report only the best fold.
rows = [71, 82, 90, 74, 68] # a list; the values stay in this order
fold = 1 # a whole number
print(rows[fold:fold + 1])
print(rows[:fold] + rows[fold + 1:])
Example 2: Add two rows
Cross Validation applies one operation to every number. zip pairs the rows, and the list keeps each sum.
left = [1, 2, 22] # a list; the values stay in this order
right = [10, 20, 30] # a list; the values stay in this order
print([a + b for a, b in zip(left, right)]) # pair the lists, then combine each pair
Example 3: Average a column
The average is the total divided by how many numbers you have. That is the same summary a statistics page starts with.
scores = [70, 22, 90] # a list; the values stay in this order
print(sum(scores) / len(scores)) # len counts the items
Example 4: Keep values above a line
A cutoff drops the low values. Change 80 and run the example again to see who remains.
scores = [70, 22, 90] # a list; the values stay in this order
print([score for score in scores if score >= 80]) # keep the items that pass the test
