Geziene vs. ongeziene data
Modellen hebben meestal een hogere nauwkeurigheid op observaties die ze eerder hebben gezien. In de candy-gegevensset zal het voorspellen van de populariteit van Skittles waarschijnlijk nauwkeuriger zijn dan het voorspellen van de populariteit van Andes Mints; Skittles staat in de gegevensset en Andes Mints niet.
Je hebt een model gebouwd op basis van 50 snoepjes met de gegevensset X_train en je moet rapporteren hoe nauwkeurig het model is in het voorspellen van de populariteit van de 50 snoepjes waarop het model is getraind, en van de 35 snoepjes (X_test) die het nog nooit heeft gezien. Je gebruikt de mean absolute error, mae(), als nauwkeurigheidsmaatstaf.
Deze oefening maakt deel uit van de cursus
Modelvalidatie in Python
Oefeninstructies
- Maak, met
X_trainenX_testals invoergegevens, arrays met voorspellingen metmodel.predict(). - Bereken de modelnauwkeurigheid op zowel data die het model heeft gezien als data die het model nog niet heeft gezien.
- Gebruik de printstatements om de geziene en ongeziene data te printen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# The model is fit using X_train and y_train
model.fit(X_train, y_train)
# Create vectors of predictions
train_predictions = model.predict(____)
test_predictions = model.predict(____)
# Train/Test Errors
train_error = mae(y_true=y_train, y_pred=____)
test_error = mae(y_true=y_test, y_pred=____)
# Print the accuracy for seen and unseen data
print("Model error on seen data: {0:.2f}.".format(____))
print("Model error on unseen data: {0:.2f}.".format(____))