Árvores de decisão
Sua tarefa neste exercício é criar uma árvore de decisão simples usando o DecisionTreeClassifier do scikit-learn no conjunto de dados breast cancer, que já vem pré-carregado no scikit-learn.
Esse conjunto de dados contém medidas numéricas de várias dimensões de tumores individuais (como perímetro e textura) obtidas de biópsias de mama e um único valor de desfecho (o tumor é maligno ou benigno).
Já carregamos o conjunto de amostras (medições) em X e os valores-alvo por tumor em y. Agora, você deve dividir o conjunto completo em treino e teste e depois treinar um DecisionTreeClassifier. Você vai definir um parâmetro chamado max_depth. Muitos outros parâmetros podem ser ajustados nesse modelo, e você pode conferir todos eles aqui.
Este exercício faz parte do curso
Extreme Gradient Boosting com XGBoost
Instruções do exercício
- Importe:
train_test_splitdesklearn.model_selection.DecisionTreeClassifierdesklearn.tree.
- Crie conjuntos de treino e teste de forma que 20% dos dados sejam usados para teste. Use
random_stateigual a123. - Instancie um
DecisionTreeClassifierchamadodt_clf_4commax_depthigual a4. Esse parâmetro especifica o número máximo de pontos de divisão sucessivos antes de chegar a um nó folha. - Ajuste o classificador ao conjunto de treino e preveja os rótulos do conjunto de teste.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import the necessary modules
____
____
# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____)
# Instantiate the classifier: dt_clf_4
dt_clf_4 = ____
# Fit the classifier to the training set
____
# Predict the labels of the test set: y_pred_4
y_pred_4 = ____
# Compute the accuracy of the predictions: accuracy
accuracy = float(np.sum(y_pred_4==y_test))/y_test.shape[0]
print("accuracy:", accuracy)