¿Estoy subajustando?
Estás creando un modelo de random forest para predecir si ganarás una futura partida de tres en raya. Usando el conjunto de datos tic_tac_toe, has creado los conjuntos de entrenamiento y prueba: X_train, X_test, y_train y y_test.
Has decidido crear varios modelos de random forest con distintas cantidades de árboles (1, 2, 3, 4, 5, 10, 20 y 50). Cuantos más árboles uses, más tardará en ejecutarse el modelo. Sin embargo, si no usas suficientes árboles, corres el riesgo de subajuste. Has creado un bucle for para probar tu modelo con los distintos números de árboles.
Este ejercicio forma parte del curso
Validación de modelos en Python
Instrucciones del ejercicio
- En cada iteración, predice valores tanto para
X_traincomo paraX_test. - En cada iteración, añade el
accuracy_score()del conjuntoy_trainy sus predicciones correspondientes atrain_scores. - En cada iteración, añade el
accuracy_score()del conjuntoy_testy sus predicciones correspondientes atest_scores. - Imprime las puntuaciones de entrenamiento y de prueba usando las sentencias print.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
from sklearn.metrics import accuracy_score
test_scores, train_scores = [], []
for i in [1, 2, 3, 4, 5, 10, 20, 50]:
rfc = RandomForestClassifier(n_estimators=i, random_state=1111)
rfc.fit(X_train, y_train)
# Create predictions for the X_train and X_test datasets.
train_predictions = rfc.predict(____)
test_predictions = rfc.predict(____)
# Append the accuracy score for the test and train predictions.
train_scores.append(round(____(____, ____), 2))
test_scores.append(round(____(____, ____), 2))
# Print the train and test scores.
print("The training scores were: {}".format(____))
print("The testing scores were: {}".format(____))