Árboles de decisión
Tu tarea en este ejercicio es crear un árbol de decisión sencillo usando el DecisionTreeClassifier de scikit-learn sobre el conjunto de datos breast cancer que viene precargado con scikit-learn.
Este conjunto de datos contiene medidas numéricas de varias dimensiones de tumores individuales (como perímetro y textura) obtenidas de biopsias de mama y un único valor de resultado (el tumor es maligno o benigno).
Hemos precargado el conjunto de muestras (mediciones) en X y los valores objetivo por tumor en y. Ahora tienes que dividir el conjunto de datos completo en conjuntos de entrenamiento y de prueba, y luego entrenar un DecisionTreeClassifier. Especificarás un parámetro llamado max_depth. Muchos otros parámetros se pueden modificar en este modelo, y puedes consultarlos todos aquí.
Este ejercicio forma parte del curso
Extreme Gradient Boosting con XGBoost
Instrucciones del ejercicio
- Importa:
train_test_splitdesklearn.model_selection.DecisionTreeClassifierdesklearn.tree.
- Crea los conjuntos de entrenamiento y prueba de forma que el 20% de los datos se use para prueba. Usa un
random_statede123. - Instancia un
DecisionTreeClassifierllamadodt_clf_4con unmax_depthde4. Este parámetro especifica el número máximo de puntos de partición sucesivos que puedes tener antes de llegar a un nodo hoja. - Ajusta el clasificador al conjunto de entrenamiento y predice las etiquetas del conjunto de prueba.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)