Ir al contenido principal

Diagrama de temas

    • Entrenamiento de modelos de regresión

      --------------------------------------------------------------------------------------------------------

      Entrenamiento de modelos de regresión


      Archivos de datos

      /home/student/ITSAI/Regression/Regression-PowerPlant.ipynb

      /home/student/ITSAI/Regression/data/cc_power_plant_data.csv


      Antes de empezar

      La máquina virtual y Jupyter® Notebook no están abiertos.


      Escenario

      Se dio un conjunto de datos que contiene datos de sensores para plantas de energía, donde miden las condiciones ambientales dentro y fuera de la planta, como la temperatura y la humedad. Estas condiciones pueden tener un impacto en la eficiencia de la producción de energía de la planta de energía.

      El conjunto de datos contiene mediciones por hora durante un período de seis años. Utilizará estos datos para predecir la producción de energía de la planta dadas ciertas mediciones. Dado que la producción de energía se mide en megavatios (MW), un valor numérico, usará modelos de regresión para realizar estas predicciones.


      -------------------------------------------------------------------------------------------------------------------------------------------------------------

      1. Inicie el entorno de actividad.
      1. En el escritorio, haga doble clic en la aplicación Oracle VM VirtualBox para iniciarla.
      2. En Oracle VM VirtualBox Manager, en la lista de la izquierda, seleccione ITSAI y, a continuación, seleccione Computador→Inicio→Inicio normal.
      3. Espere a que se inicie el sistema operativo.


      --
      -----------------------------------------------------------------------------------------------------------------------------------------------------------
      2. Inicie Jupyter Notebook.
      1. En el escritorio, haga doble clic en el icono de Jupyter para iniciar el servidor de Jupyter Notebook y abrir un explorador web.
      2. Seleccione ITSAI.
      3. Seleccione Regresión.
      4. Seleccione Regression-PowerPlant.ipynb para abrirlo.


      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------

      3. Importe las bibliotecas relevantes y cargue el conjunto de datos.
      1. Vea la celda titulada Importar bibliotecas de software y cargue el conjunto de datos y examine la lista de código debajo de ella.

      Este código importa las diversas bibliotecas de software que se utilizarán en este programa y carga el conjunto de datos.

      2. Ejecute la celda de código.

      3. Compruebe que cc_power_plant_data.csv se cargó con 9568 registros.

      Dividirá el conjunto de datos de entrenamiento para crear también un conjunto de validación. Primero, deberá familiarizarse con los datos.


      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
      4. Familiarícese con los datos.
      1. Desplácese hacia abajo y vea la celda titulada Familiarizarse con el conjunto de datos y examine la lista de código debajo de ella.

      Este código generará los distintos tipos de datos incluidos en el conjunto de datos y las primeras 10 filas del conjunto de datos.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      El conjunto de entrenamiento incluye 9568 filas y 5 columnas.
      Todas las columnas contienen valores flotantes.
      No faltan datos; todas las filas tienen valores para cada columna.
      Cada columna se refiere a una medición particular tomada de sensores colocados alrededor de la planta de energía:
      Temperature es la temperatura del sistema en grados centígrados.
      ExhaustVacuum mide la presión del aire a medida que se expulsa del sistema.
      AmbientPressure es la presión de aire que rodea el sistema.
      RelativeHumidity mide la humedad a una temperatura determinada.
      EnergyOutput es la producción neta de energía eléctrica por el sistema en megavatios.
      Cada fila representa un promedio por hora para cada medición durante un período de seis años.
      La columna EnergyOutput se tratará como la etiqueta que el modelo intentará predecir.

      -------------------------------------------------------------------------------------------------------------------------------------------------------------
      5.Examine la distribución de las características.
      1. Desplácese hacia abajo y vea la celda titulada Examinar la distribución las varias características y examine la lista de código que se muestra debajo de ella.

      Este código generará un histograma para cada característica del conjunto de datos.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      La distribución para AmbientPressure es más o menos simétrica.
      La distribución para RelativeHumidity aparece sesgada hacia la izquierda.
      Las distribuciones de las otras características son más variadas.

      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      6.Examine un resumen general de las estadísticas.
      1. Desplácese hacia abajo y vea la celda titulada Examinar un resumen general de las estadísticas y examine la lista de código debajo de ella.

      Este código generará estadísticas generales para las columnas con valores numéricos en el conjunto de datos.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      En comparación con las otras características, AmbientPressure y EnergyOutput parecen exhibir una baja cantidad de varianza, ya que sus valores mínimos y máximos están relativamente juntos.
      Del mismo modo, la escala de estas dos características parece no estar alineada con las otras características. Sin embargo, el escalado de características no suele mejorar la habilidad de los modelos lineales simples o los modelos basados en árboles, por lo que dejará las características como están.


      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      7.Busque columnas que se correlacionen con EnergyOutput.
      Desplácese hacia abajo y vea la celda titulada Buscar columnas que se correlacionen con EnergyOutput y examine la lista de código debajo de ella.


      2. Ejecute la celda de código.

      3. Examine el resultado.

      Las cuatro características tienen una cantidad decente de correlación; AmbientPressure tiene la correlación positiva más alta (es decir, a medida que la presión aumenta, también lo hace la producción de energía) y ExhaustVacuum y Temperature tienen la correlación negativa más alta (es decir, a medida que aumentan, la producción de energía disminuye). Por lo tanto, usará todas estas características durante el entrenamiento.


      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      8. Divida los conjuntos de datos.
      Desplácese hacia abajo y vea la celda titulada Dividir los conjuntos de datos y examine la lista de código debajo de ella.

      Este código dividirá el conjunto de datos en conjuntos de entrenamiento y de validación.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      El conjunto de datos de entrenamiento original se dividió en dos: un conjunto para seguir usándolo como conjunto de entrenamiento y otro para usarlo para la validación. Tenga en cuenta que la etiqueta EnergyOutput se quitó de las matrices X y se colocó en su propio vector y.


      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      9. Cree un modelo de regresión lineal.
      Desplácese hacia abajo y vea la celda titulada Crear un modelo de regresión lineal y examine la lista de código que aparece debajo de ella.

      La clase LinearRegression() se utiliza para ajustarse a un modelo lineal simple. El argumento fit_intercept determina si se calcula o no la intersección; en este caso, se establece como False en aras de la simplicidad.


      2. Ejecute la celda de código.

      3. Examine el resultado.

      De forma predeterminada, el método score() para los modelos de regresión en scikit-learn devuelve el valor R2 de la predicción, también conocido como coeficiente de determinación. El significado detrás de esta métrica se explicará más adelante; en este punto, es suficiente saber que se prefieren números más altos.


      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      10.Compare las diez primeras predicciones con los valores reales.
      1. Desplácese hacia abajo y vea la celda titulada Comparar las diez primeras predicciones con los valores reales y examine la lista de código debajo de ella.

      Este código generará nuevas columnas para la salida de energía predicha y real y mostrará una muestra de diez registros para la comparación.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Puede ver los valores de salida de energía predichos en comparación con los valores de salida de energía reales.

      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      11. Diagrame líneas de la mejor acción para todas las características.
      1. Desplácese hacia abajo y vea la celda titulada Diagramar líneas de la mejor acción para todas las características y examine la lista de código que se muestra debajo de ella.
      Este código producirá cuatro diagramas que le permitirán ver las líneas de la mejor opción para la temperatura, el vacío de escape, la presión ambiental y la humedad relativa.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Cada característica se traza contra la etiqueta EnergyOutput, con una línea de mejor opción generada a partir de la regresión lineal.

      Tenga en cuenta que la apariencia de cada diagrama de dispersión parece alinearse con las correlaciones identificadas anteriormente. Por ejemplo, Temperature y ExhaustVacuum exhibieron una alta correlación negativa con EnergyOutput, por lo que sus puntos de datos admiten un ajuste de línea recta bastante bien. Por otro lado, RelativeHumidity tuvo una correlación mucho menor y sus puntos de datos están dispersos de tal manera que una línea recta no encaja tan bien.


      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      12.Cree un modelo básico de árbol de decisión.
      1. Desplácese hacia abajo y vea la celda titulada Crear un modelo básico de árbol de decisión y examine la lista de código que aparece debajo de ella.

      Este código creará un objeto de árbol de decisión para las tareas de regresión y se ajusta a los datos de entrenamiento.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      El modelo predeterminado tiene una puntuación del 93 %.

      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      13. Visualice el árbol de decisiones.
      1. Desplácese hacia abajo y vea la celda titulada Visualizar el árbol de decisiones y examine la lista de código debajo de ella.

      Al igual que con la clasificación, ayuda a visualizar los resultados del árbol para ver cómo está tomando decisiones de división.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Este árbol comienza evaluando la característica Temperature del usuario. Si Temperature es igual o menor que 18,52, el árbol se divide en un nodo de la izquierda que determina si Temperature es igual o menor que 11,865. Si Temperature es mayor que 18,52, el árbol se divide en un nodo de la derecha que determina si ExhaustVacuum es igual o menor que 66,21.

      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      14. Cree un modelo de bosque aleatorio.
      1. Desplácese hacia abajo y vea la celda titulada Crear un modelo de bosque aleatorio y examine la lista de código que aparece debajo de ella.

      Este código agregará varios árboles en un modelo de bosque aleatorio para ver si los resultados mejoran.

      2. Ejecute la celda de código.

      3. Examine el resultado.

         El modelo de bosque aleatorio tiene una puntuación del 94 %.

      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      15. Visualice la estructura de un árbol de decisiones en el bosque.
      Desplácese hacia abajo y vea la celda titulada Visualizar la estructura de un árbol de decisiones en el bosque y examine la lista de código debajo de ella.

      Este código creará una visualización de uno de los árboles del bosque.

      2. Ejecute la celda de código.

      3. Examine el resultado.

      Este árbol tiene una lógica de división muy similar a la del árbol de decisión solitario, aunque los números exactos en los que se divide son ligeramente diferentes. Recuerde que hay otros 99 árboles en este bosque. Cada árbol entrena en un muestreo diferente de los datos generales, por lo que es probable que cada árbol tome diferentes decisiones de división.


      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      16. Cierre este kernel de Jupyter Notebook.
      1. En el menú, seleccione Kernel→Cerrar.
      2. En el cuadro de diálogo ¿Cerrar kernel?, seleccione Cerrar.
      3. Cierre la pestaña Regression-PowerPlant en Firefox, pero mantenga la pestaña ITSAI/Regression abierta en la jerarquía de archivos.