ComenzarEmpieza gratis

XGBoost: Entrenar/Predecir

¡Hora de crear tu primer modelo de XGBoost! Como Sergey te mostró en el vídeo, puedes usar el paradigma de scikit-learn .fit() / .predict() que ya conoces para construir tus modelos de XGBoost, ya que la biblioteca xgboost tiene una API compatible con scikit-learn.

Aquí trabajarás con datos de churn. Este conjunto de datos contiene información ficticia de una app de viajes compartidos con comportamientos de usuarios durante su primer mes de uso en un conjunto de ciudades imaginarias, así como si usaron el servicio 5 meses después del registro. Ya se ha precargado en un DataFrame llamado churn_data. ¡Explóralo en la consola!

Tu objetivo es usar los datos del primer mes para predecir si los usuarios de la app seguirán usando el servicio a los 5 meses. Este es un planteamiento típico de un problema de predicción de churn. Para ello, dividirás los datos en conjuntos de entrenamiento y de prueba, ajustarás un pequeño modelo de xgboost en el conjunto de entrenamiento y evaluarás su rendimiento en el conjunto de prueba calculando su exactitud.

pandas y numpy se han importado como pd y np, y train_test_split se ha importado de sklearn.model_selection. Además, ya se han creado los arrays para las características y el objetivo como X y y.

Este ejercicio forma parte del curso

Extreme Gradient Boosting con XGBoost

Ver curso

Instrucciones del ejercicio

  • Importa xgboost como xgb.
  • Crea los conjuntos de entrenamiento y de prueba de modo que el 20% de los datos se use para prueba. Usa un random_state de 123.
  • Instancia un XGBoostClassifier como xg_cl usando xgb.XGBClassifier(). Especifica n_estimators con 10 estimadores y un objective de 'binary:logistic'. No te preocupes aún por lo que significa; aprenderás sobre estos parámetros más adelante en el curso.
  • Ajusta xg_cl al conjunto de entrenamiento (X_train, y_train) usando el método .fit().
  • Predice las etiquetas del conjunto de prueba (X_test) usando el método .predict() y pulsa "Enviar respuesta" para imprimir la exactitud.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import xgboost
____

# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]

# Create the training and test sets
X_train, X_test, y_train, y_test= ____(____, ____, test_size=____, random_state=123)

# Instantiate the XGBClassifier: xg_cl
xg_cl = ____.____(____='____', ____=____, seed=123)

# Fit the classifier to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the accuracy: accuracy
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))
Editar y ejecutar código