This Train/Test lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
Hold back some rows to test the model. Training on every row and then scoring those same rows makes the result look too good.
A common split keeps about 80 percent for training. Shuffle first when the file is sorted.
Example 1: Start here
The test rows must not be used to choose the model.
rows = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # a list; the values stay in this order
split = int(len(rows) * 0.8) # text read as a whole number
print(rows[:split])
print(rows[split:])
Example 2: Add two rows
Train/Test applies one operation to every number. zip pairs the rows, and the list keeps each sum.
left = [1, 2, 26] # 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, 26, 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, 26, 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
