Predecir la valoración de una app
Después de explorar el conjunto de datos de apps de Google en el ejercicio anterior, ahora vamos a construir un modelo que prediga la valoración de una app a partir de un subconjunto de sus características.
Para ello, usarás el DecisionTreeRegressor de scikit-learn. Como los árboles de decisión son la base de muchos modelos de conjunto (ensemble), repasar cómo funcionan te vendrá muy bien a lo largo de este curso.
Usaremos el MAE (mean absolute error) como métrica de evaluación. Esta métrica es muy interpretable, ya que representa la diferencia absoluta media entre las valoraciones reales y las predichas.
Todos los módulos necesarios ya se han importado por ti. Las características y el objetivo están disponibles en las variables X y y, respectivamente.
Este ejercicio forma parte del curso
Ensemble Methods in Python
Instrucciones del ejercicio
- Usa
train_test_split()para dividirXeyen conjuntos de entrenamiento y prueba. Utiliza un 20 %, o0.2, como tamaño de prueba. - Instancia un
DecisionTreeRegressor(),reg_dt, con los siguientes hiperparámetros:min_samples_leaf = 3ymin_samples_split = 9. - Ajusta el regresor al conjunto de entrenamiento usando
.fit(). - Predice las etiquetas del conjunto de prueba usando
.predict().
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Split into train (80%) and test (20%) sets
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)
# Instantiate the regressor
reg_dt = ____(____, ____, random_state=500)
# Fit to the training set
____
# Evaluate the performance of the model on the test set
y_pred = ____
print('MAE: {:.3f}'.format(mean_absolute_error(y_test, y_pred)))