Laboratorio 23

Construir un clasificador con scikit-learn y Copilot

diabetes.csv es originario del Instituto Nacional de Diabetes y Digestión y Riñón

Fuente validada

Lab_23_DecisionTree_Python.docx

Esta pagina fue reconstruida desde el documento del ZIP entregado como fuente principal.

Conformidad visual

Sin imagenes publicadas

El archivo fuente contiene 0 imagenes embebidas. Para garantizar conformidad, no se publican imagenes heredadas de otros materiales.

Criterio GH-300

Practica verificable

Ejecuta los comandos, captura evidencia propia y valida cada sugerencia de Copilot antes de aceptarla.

Alcance de publicacion: Solo se publica el contenido del laboratorio indicado por el archivo Lab_23_DecisionTree_Python.docx. Las imagenes no se muestran porque el ZIP no incluye imagenes embebidas en este documento.

Certificación GH-300

Laboratorio 23

Clasificador Decision Tree con Scikit-learn y Copilot

Autor: Carlos Crudo

linkedin.com/in/carloscrudo

Construcción de un clasificador de árbol de decisión usando Scikit-learn y Python con la asistencia de GitHub Copilot Chat para ML y análisis predictivo.

Temas que cubre este laboratorio:

Scikit-learn: DecisionTreeClassifier

Preprocesamiento de datos con Copilot

Train/test split y evaluación del modelo

Visualización del árbol con matplotlib

Métricas: accuracy, confusion matrix, classification report

Exportar modelo con joblib

Laboratorio 23: Clasificador Decision Tree con Scikit-learn y Copilot

Laboratorio 23 - Construir un clasificador de árbol de decisión basado en Scikit-learn y Python usando Github Copilot Chat

INTRODUCCIÓN

diabetes.csv es originario del Instituto Nacional de Diabetes y Digestión y Riñón

Enfermedades. El objetivo del conjunto de datos es predecir diagnósticamente si un paciente tiene diabetes,

basándose en ciertas mediciones diagnósticas incluidas en el conjunto de datos. Se impusieron varias restricciones

sobre la selección de estas instancias de una base de datos mayor. En particular, todas las pacientes aquí son mujeres

al menos 21 años y de ascendencia india pima.2

De diabetes.csv puedes encontrar varias variables, algunas de ellas independientes

(varias variables predictoras médicas) y solo una variable dependiente del objetivo (Resultado).

Tarea 1: INSTRUCCIONES para crear un cuaderno usando Github Copilot Chat

Desde Explorer en Visual Studio Code, expande data scientist.

Haz clic en el icono de Copilot en la esquina derecha y selecciona Github Copilot Chat.

Escribe tu prompt create a new notebook in a project. Use command /newnotebook and name it as "Diabetes Tree Classifier"

Haz clic en Terminal -> Nuevo Terminal desde la barra de herramientas, como se muestra en la imagen de abajo.

Selecciona Gitbash desde el terminal y ejecuta el comando que Copilot sugirió en el directorio de científico de datos.

cd \exercisefiles\datascientist
touch "DiabetesTreeClassifier.ipynb"

Deberías ver que el archivo fue creado en la carpeta de científico de datos.

Selecciona el cuaderno recién creado para desarrollar el ejercicio.

Utiliza Copilot y Copilot Chat para desarrollar el ejercicio y apoyar tu aprendizaje.

EJERCICIO

El objetivo de este proyecto es construir un clasificador de árbol de decisión basado en Scikit-learn y Python. El clasificador debería poder predecir si un paciente tiene diabetes o no basándose en

ciertas mediciones diagnósticas incluidas en el conjunto de datos.

Tarea 2: Importar las librerías necesarias para construir un clasificador de árbol de decisión

Haz clic en kernel de Notebook y escribe, pulsa Enter y pulsa tab para aceptar el código*# Import the necessary libraries, including pandas, sklearn, etc.*

Pulsa tab. Te llevará hasta el final de la línea. Pulsa Enter y vuelve a pulsar Tab para añadir todas las bibliotecas.

*# pandas for data manipulation and analysis*

*# matplotlib for data visualization*

*# train_test_split for splitting the data into training and testing sets*

*# DecisionTreeClassifier for decision tree classification*

*# accuracy_score for evaluating the model*

Ejecuta el código, te pedirá que selecciones el entorno Python, lo selecciones y ejecutes

Espera a que todas las bibliotecas sean importadas.

Tarea 3: Cargar el conjunto de datos

Abre el archivo diabetes.csv y observa los nombres de las columnas.

Carga el conjunto de datos de diabetes usando pandas o desde los conjuntos de datos de sklearn. Abre un nuevo núcleo de código y escribe Y pulsa tab para aceptar el código*# Load the diabetes dataset using pandas or from sklearn datasets*

Abre el chat de Github Copilot y pide . Te da el código. Carga el conjunto de datos de diabetes usando pandas o desde los conjuntos de datos de sklearnLoad the diabetes dataset using pandas or from sklearn datasets.

Haz clic en +code para abrir un nuevo kernel, copia el código sugerido por Copilot y ejecuta. También puedes usar el código de abajo para cargar datos.

*# Load the Diabetes Dataset*

col_names = ['pregnant', 'glucose', 'bp', 'skin', 'insulin', 'bmi', 'pedigree', 'age', 'label']

*# load dataset*

diabetes_df = pd.read_csv("diabetes.csv", header=None, names=col_names)

*# Display the first 5 rows of the DataFrame*

Tarea 4: Análisis exploratorio de datos

Muestra el número de filas y columnas en el dataframe. Mostrar los tipos de datos de cada columna. Muestra el número de valores que faltan en cada columna. Muestra el número de valores únicos en cada columna. Mostrar las estadísticas básicas de cada columna.

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código. También puedes usar el siguiente código.*#Display the first 5 rows of the dataframe*

*#Display the first 5 rows of the dataframe*

diabetes_df.head()

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código.*#Display the data types of each column.*

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código.*#Display the number of missing values in each column*

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código.*#Display the number of unique values in each column*

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código.*#Display the summary statistics of the dataframe.*

Tarea 5: Selección de características

Selecciona las funciones que quieres usar para la predicción. Puedes usar todas las características o un subconjunto de características.

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código. Puedes preguntar al chat de Copilot para que te explique. También puedes usar el código de abajo y ejecutarlo.*# Split the data into features and target variables.*

*#split dataset in features and target variable*

feature_cols = ['pregnant', 'insulin', 'bmi', 'age','glucose','bp','pedigree']

X = diabetes_df[feature_cols] *# Features*

y = diabetes_df.label *# Target variable*

Divide los datos en conjuntos de entrenamiento y prueba. El conjunto de entrenamiento se utilizará para entrenar el modelo y el conjunto de pruebas se usará para evaluar el modelo.

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código. Puedes preguntar al chat de Copilot para que te explique. También puedes usar el código de abajo y ejecutarlo.*# Split the data into training and testing sets*

*# Split dataset into training set and test set*

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1) *# 70% training and 30% test*

Tarea 6: Construir un modelo de árbol de decisión

Construye un modelo de árbol de decisión usando el conjunto de entrenamiento.

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código. Puedes preguntar al chat de Copilot para que te explique. También puedes usar el código de abajo y ejecutarlo.*# Split the data into training and testing sets*

*# Building Decision Tree Model*

*# Create Decision Tree classifer object*

clf = DecisionTreeClassifier()

*# Train Decision Tree Classifer*

clf = clf.fit(X_train,y_train)

*#Predict the response for test dataset*

y_pred = clf.predict(X_test)

Puedes ver ValueError. Pide a Github Copilot que solucione el problema. Sigue las instrucciones del chat de Copilot y soluciona el problema.

Abre un nuevo núcleo de código y escribe Presiona Enter. Pulsa la pestaña para aceptar el código. Puedes preguntar al chat de Copilot para que te explique. También puedes usar el código de abajo y ejecutarlo.*# Model Accuracy, how often is the classifier correct?*

*# Evaluating Model*

*# Model Accuracy, how often is the classifier correct?*

print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

Evalúa el modelo usando el conjunto de pruebas.

*# Evaluating Model*

*# Model Accuracy, how often is the classifier correct?*

print("Accuracy:",metrics.accuracy_sc