ComeçarComece de graça

XGBoost: Ajuste/Predição

É hora de criar seu primeiro modelo com XGBoost! Como o Sergey mostrou no vídeo, você pode usar o paradigma do scikit-learn .fit() / .predict() que você já conhece para construir seus modelos com XGBoost, já que a biblioteca xgboost tem uma API compatível com o scikit-learn!

Aqui, você vai trabalhar com dados de churn. Este conjunto de dados contém informações fictícias de um app de caronas, com os comportamentos dos usuários durante o primeiro mês de uso em um conjunto de cidades imaginárias, além de indicar se eles usaram o serviço 5 meses após o cadastro. Ele já foi carregado para você em um DataFrame chamado churn_data — explore-o no Shell!

Seu objetivo é usar os dados do primeiro mês para prever se os usuários do app continuarão usando o serviço após 5 meses. Esse é um cenário típico de previsão de churn. Para isso, você vai dividir os dados em conjuntos de treino e teste, ajustar um pequeno modelo xgboost no conjunto de treino e avaliar seu desempenho no conjunto de teste calculando a acurácia.

pandas e numpy foram importados como pd e np, e train_test_split foi importado de sklearn.model_selection. Além disso, os arrays de atributos e alvo já foram criados como X e y.

Este exercício faz parte do curso

Extreme Gradient Boosting com XGBoost

Ver curso

Instruções do exercício

  • Importe xgboost como xgb.
  • Crie os conjuntos de treino e teste de forma que 20% dos dados sejam usados para teste. Use random_state igual a 123.
  • Instancie um XGBoostClassifier como xg_cl usando xgb.XGBClassifier(). Especifique n_estimators como 10 estimadores e objective como 'binary:logistic'. Não se preocupe com o significado disso agora; você vai aprender sobre esses parâmetros mais adiante no curso.
  • Ajuste xg_cl ao conjunto de treino (X_train, y_train) usando o método .fit().
  • Faça a predição dos rótulos do conjunto de teste (X_test) usando o método .predict() e clique em 'Enviar Resposta' para imprimir a acurácia.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código