Fuente validada
Lab_23_DecisionTree_Python.docx
Esta pagina fue reconstruida desde el documento del ZIP entregado como fuente principal.
Laboratorio 23
diabetes.csv es originario del Instituto Nacional de Diabetes y Digestión y Riñón
Fuente validada
Esta pagina fue reconstruida desde el documento del ZIP entregado como fuente principal.
Conformidad visual
El archivo fuente contiene 0 imagenes embebidas. Para garantizar conformidad, no se publican imagenes heredadas de otros materiales.
Criterio GH-300
Ejecuta los comandos, captura evidencia propia y valida cada sugerencia de Copilot antes de aceptarla.
Certificación GH-300
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
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).
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.
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.
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.
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*
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.*
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*
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