ComenzarEmpieza gratis

¿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

Ver curso

Instrucciones del ejercicio

  • En cada iteración, predice valores tanto para X_train como para X_test.
  • En cada iteración, añade el accuracy_score() del conjunto y_train y sus predicciones correspondientes a train_scores.
  • En cada iteración, añade el accuracy_score() del conjunto y_test y sus predicciones correspondientes a test_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(____))
Editar y ejecutar código