Ir al contenido principal

Diagrama de temas

      • Análisis exploratorio de datos


        El análisis exploratorio de datos (AED) es una tarea en la que el profesional de la IA examina de cerca los datos para revelar nueva información. El propósito principal del AED es ayudar al profesional a aprender tanto como sea posible sobre lo que está estudiando. Además, el AED tiene varios objetivos:


        - Probar y evaluar supuestos previos sobre los datos.
        - Revelar la estructura subyacente de los datos.
        - Determinar las características y factores importantes sobre los datos.
        - Identificar elementos no deseados de los datos.
        - Determinar la mejor ruta en adelante para modelar los datos.


        El énfasis en la exploración significa que el AED es un enfoque flexible para aprender más sobre los datos. Como resultado, el AED utiliza con mayor frecuencia objetos visuales. Las imágenes permiten al profesional examinar los datos de una manera más abierta. Por lo general, los objetos visuales del AED incorporan gráficas de datos sin procesar y estadísticas que resumen dichos datos. Es aun más útil incorporar varios gráficos y organizarlos para que sea más fácil reconocer patrones.

        El AED tampoco es un evento único. Es una herramienta valiosa en casi cualquier paso del proceso de IA. Cada vez que realice un cambio significativo en los datos, o los aplique de una nueva manera, podría beneficiarse del AED.
        Información adicional
        Para obtener más información sobre el AED, consulte este sitio.


      • Contenido y formato del conjunto de datos


        Un buen lugar para empezar a analizar un conjunto de datos es familiarizarse con el contenido y el formato de las distintas columnas que contiene dicho conjunto de datos, así como con el tipo de datos de cada columna. Familiarizarse con el contenido y el formato de los datos le permitirá empezar a pensar en lo que puede hacer con dichos datos, así como en el tipo de preparación que debe llevar a cabo para que estén listos para el modelado. Usted debe tratar de identificar lo siguiente:El número de columnas.

        - El nombre de cada columna.

        - El tipo de datos de cada columna.

        - El número de filas.

        - El identificador principal de cada fila, si procede.

        - La representación de valores para cada fila (p. ej., si los datos se han normalizado o no).

        - La presencia o número de valores faltantes.


        Figura 1. La recuperación de los atributos de un conjunto de datos para obtener más información sobre los datos en sí y cómo se le da formato.

      • Características objetivo

        Una característica objetivo es la variable sobre la que está interesado en aprender más. A menudo, esto significa la variable para la que está tratando de hacer estimaciones, como el valor de una casa. O bien, podría describir una forma de categorizar algo, como a qué especie pertenece un animal. Una característica objetivo también se puede utilizar simplemente para determinar cómo modificar el propio conjunto de datos para optimizarlo para algún otro propósito. En cualquiera de estos casos, la característica objetivo es de importancia primordial para el conjunto de datos. Recuerde que, en el aprendizaje automático supervisado, los conjuntos de datos están etiquetados. La característica etiquetada es la misma que la característica objetivo, es sobre lo que desea que la máquina tome decisiones.

        Es posible que no siempre sea claro cuáles deben ser realmente las características objetivo. Esto puede ser cierto incluso cuando se trabaja con un conjunto de datos limpio. Parte del análisis de dicho conjunto de datos será identificar realmente una o más características objetivo. Una comprensión profunda del problema que está tratando de resolver es la mejor manera de comenzar, ya que esto revelará buenos candidatos para las características objetivo en la mayoría de las situaciones. Por ejemplo, si un estudio de cine desea determinar si debe o no financiar una secuela, las características objetivo podrían ser: cuánto dinero hizo la película en taquilla; cuántos usuarios vieron la película en los servicios de transmisión; las puntuaciones promedio de revisión que recibió la película; y así sucesivamente. Todas estas características pueden medir el rendimiento de una película de diferentes maneras y el rendimiento de una película ayuda a los estudios a decidir para qué películas vale la pena hacer secuelas y cuáles no.

        En situaciones en las que su conocimiento del problema no siempre le ayuda a decidir qué características objetivo elegir, debe considerar la posibilidad de investigar estudios de casos del mundo real o ejemplos que sean similares al problema que está intentando resolver o usar conjuntos de datos similares. El trabajo realizado por otros puede proporcionarle la información que necesita para elegir las mejores características objetivo.

        Del mismo modo, la elección de las características objetivo puede ser más obvia cuando se tiene en cuenta qué tipo de modelo se está intentando crear. Si desea crear un modelo que pueda clasificar datos y el conjunto de datos solo tiene una variable categórica, es muy probable que esa variable sea la característica objetivo que está buscando. Por lo tanto, conocer los tipos de características es una vez más importante.

        Información adicional

        Para obtener más información acerca de las características objetivo, consulte este sitio.


      • Relevancia de la característica

        Incluso después de haber identificado los tipos de características y las características objetivo en el conjunto de datos, no necesariamente ha terminado. Como ha visto, los conjuntos de datos rara vez están en un estado perfecto. Una cosa que debe tener en cuenta es que las características en sí mismas tienen ciertos grados de relevancia para el problema en cuestión. Si bien la característica age puede parecer un gran predictor de la característica objetivo income, puede haber sutilezas que sus suposiciones no tienen en cuenta. Algunas características son menos relevantes que otras para servir a cualquier propósito al que se supone que deben servir. Esto a menudo solicita a un profesional de la IA que elimine características, las consolide, las divida, cualquier cosa que haga que el conjunto de datos sea más viable. Esto se debe a que una característica irrelevante puede afectar significativamente la potencia de un modelo para realizar predicciones o estimar algo sobre el mundo real.

        Una vez más, una comprensión de su conjunto de datos y el problema que está tratando de resolver puede ayudarle a identificar características irrelevantes. Incluso si no posee esta comprensión, puede trabajar con expertos en la materia que tengan más experiencia en el dominio del problema. Sin embargo, esto puede ayudarlo mucho, ya que la relación entre las características es lo que está tratando de estudiar. En el caso del aprendizaje automático, es exactamente lo que está tratando de obtener una máquina para determinarlo por usted. Existen varias técnicas para determinar la relevancia de las características, pero en este punto, solo sepa que empaquetar los conjuntos de datos llenos de entidades no siempre está garantizado para producir mejores resultados. En realidad, podría tener el efecto contrario.

      • Poblaciones y muestras

        En el campo de la estadística, los datos a menudo se colocan en uno de dos contextos: poblaciones y muestras. Una población incluye todas las observaciones individuales dentro del dominio del problema que se estudia. Una muestra es cualquier subconjunto de esa población. Por ejemplo, una población podría incluir a todos los estudiantes que asisten a una universidad específica. Una muestra de esa población incluiría a varios, pero no a todos, de esos estudiantes.

        La distinción es importante porque, en muchos casos, no tendrá acceso a los datos de población. Todo se reduce al dominio del problema que se está estudiando. Si desea estimar la edad de los estudiantes en una universidad específica, es posible que tenga acceso a la población y no necesite una muestra. Pero, ¿qué pasaría si quisiera calcular la edad de los estudiantes universitarios en todo el país? El ámbito de su población se amplió considerablemente y puede que no sea factible adquirir realmente todos estos datos. Aquí es donde tomar una muestra de la población se vuelve importante. Idealmente, esta muestra (o múltiples muestras combinadas) será capaz de aproximarse a los patrones inherentes de toda la población.

        Por ejemplo, la muestra podría incluir a todos los estudiantes de una universidad. Usted podría determinar la edad promedio de todos los estudiantes en esta muestra y luego usar ese resultado para sacar conclusiones sobre la edad promedio de los estudiantes universitarios en todo el país. No es un proceso perfectamente preciso, ya que la edad promedio de la muestra podría no ser la misma que la edad promedio de la población (suponiendo que pueda determinar esto). Aun así, los resultados de una muestra a menudo son lo suficientemente cercanos como para ser útiles para resolver el problema.

        Información adicional

        Para obtener más información sobre la diferencia entre poblaciones y muestras, consulte este sitio.

      • Datos representativos

        Una idea similar a la relevancia de la característica es la de los datos representativos. Los datos de muestra de una población son representativos si funcionan bien en aproximarse a las características de esa población más amplia. Supongamos que tiene un conjunto de datos donde cada fila es un estudiante de su escuela. Si tiene 40 estudiantes como muestra, y 32 de ellos son mujeres y 8 son hombres, su muestra realmente no es representativa de la población más amplia de estudiantes, especialmente si sabe que todo el cuerpo estudiantil está más cerca de una división de 50/50. Por lo tanto, cualquier resultado que obtenga del uso de esta muestra puede ser subóptimo, ya que ha tergiversado un grupo demográfico clave del cuerpo estudiantil.

        El tamaño de la muestra también puede derivar en datos no representativos. Es posible que 40 estudiantes sea demasiado pocos para capturar una variedad lo suficientemente amplia de datos demográficos de los estudiantes, incluso si cada miembro de esa muestra es lo suficientemente diferente de todos los demás miembros. Por supuesto, hay limitaciones para el muestreo representativo, ya que no es posible tener en cuenta cada variación en la mayoría de los escenarios. Del mismo modo, debe haber al menos algún punto en común entre los miembros de su muestra, o de lo contrario no habrá patrones que reconocer o tendencias que estimar.

        Una solución común al problema de la representación es el muestreo aleatorio estratificado. Para esta solución, el profesional identifica grupos clave (por ejemplo, demografía como género, raza, edad, etc.) que son relevantes para el problema y luego divide a la población en estos grupos (estratos). Dentro de cada estrato, se eligen miembros de forma aleatoria. A continuación, todos estos miembros se compilan a partir del ejemplo. Esto garantiza que la muestra final contendrá datos que son más representativos de la población que solo una muestra aleatoria normal o una muestra escogida a mano.

        Figura 1. Un ejemplo de dividir un conjunto de datos en estratos de rango de edad y, a continuación, muestrear miembros de cada estrato.

        Por lo tanto, al analizar los conjuntos de datos, debe examinar las características categóricas para identificar aquellas que tienen el potencial de ser estratos clave. Una vez que identifique estos estratos, puede determinar qué proporción de los ejemplos de datos están en cada estrato y cómo se compara con la población más amplia. Tenga en cuenta que la representación no siempre implica una división uniforme. Si el 80 % de toda la población estudiantil es femenina, su muestra de 32 estudiantes mujeres y 8 hombres es realmente representativa en ese sentido. Además, puede estar en una posición en la que no se conocen las proporciones de cada estrato en la población, lo que dificulta o incluso imposibilita saber qué es o no es representativo.

        Información adicional

        Para obtener más información acerca de otros tipos de muestreo aleatorio, consulte este sitio.


      • Conjuntos de datos desequilibrados

        La definición más común de un conjunto de datos desequilibrados es aquella cuya frecuencia de cada valor es desproporcionada en una variable categórica, especialmente cuando se trata de la variable de destino. Por ejemplo, supongamos que usted tiene un conjunto de datos de personas y desea crear un modelo que pueda clasificar a cualquier persona como zurda o diestra. Aproximadamente el 90 % de los habitantes del mundo es diestro mientras que el 10 % es zurdo. Para que el conjunto de datos de ejemplo sea realmente representativo de la población, también se dividiría de esta manera. Sin embargo, esto crea un desequilibrio de clases. Solo el 10 % de todos los ejemplos de datos del conjunto están etiquetados como zurdos.

        Los conjuntos de datos desequilibrados pueden ser un desafío, especialmente cuando se trata del aprendizaje automático. El modelo debe aprender del conjunto de datos y su utilidad puede verse afectada negativamente si la mayor parte de lo que ve es una categoría y no otra. Para este escenario en particular, no es tanto un problema, ya que todo el propósito es clasificar la lateralidad, algo que es, por naturaleza, desequilibrado. Pero, ¿qué pasa si su conjunto de datos no es (y debido a cualquier número de factores, no puede ser) verdaderamente representativo? Supongamos que tiene un conjunto de datos meteorológico en el que cada fila es un día y la entidad de destino es si llovió o no ese día. La mayoría de los días se etiquetan como clase 0 (no), mientras que muy pocos se etiquetan como clase 1 (sí). Si esta es la primera muestra que se recopiló del entorno, es posible que no tenga idea de si esto es realmente representativo de la población. Tal vez los datos se recopilaron durante la estación seca. Por lo tanto, es posible que el modelo resultante no funcione tan bien en situaciones futuras.

        Los conjuntos de datos desequilibrados también tienen un efecto en las métricas que se usan para evaluar los modelos de clasificación. Algunas métricas son más adecuadas que otras a la hora de evaluar este tipo de modelos. Por lo tanto, es importante que identifique la frecuencia de todos los ejemplos de datos del conjunto de muestras que pertenecen a cada clase. Esto es bastante trivial para la mayoría de los entornos de análisis de datos, y se puede realizar utilizando números puros, o incluso visualmente.

        Nota: También es posible describir los conjuntos de datos con variables de destino continuas como desequilibrados. La mayoría de los ejemplos pueden ubicarse dentro de cierto rango, con algunos ejemplos en un rango muy diferente. Aquí es donde entra en juego una discusión de errores, valores atípicos y ruido.

        Información adicional

        Para obtener más información sobre los conjuntos de datos desequilibrados, consulte este sitio.


      • Errores, valores atípicos y ruido

        Los valores específicos de un conjunto de datos pueden ser inexactos, erróneos o no deseados. Estos valores pueden deslizarse a través de las grietas incluso después de que haya realizado procedimientos de limpieza en el conjunto de datos durante el proceso de ETL. Si no se abordan, pueden afectar la calidad de los modelos o inducir a error durante el análisis. Por ejemplo, un conjunto de datos puede contener lo siguiente.
        Problema Descripción Identificación
        Errores Los errores son valores incorrectos o faltantes. Demasiada cantidad puede afectar negativamente la capacidad de un modelo de aprender patrones de los datos. Esto incluye no aprender patrones o simplemente aprender los patrones equivocados. Los valores incorrectos pueden ser muy difíciles de identificar, ya que probablemente usted confíe en que el conjunto de datos está autorizado y es posible que no cuente con una segunda fuente para poder efectuar una verificación. Algunos valores incorrectos son fáciles de detectar porque se desvían significativamente del resto de los ejemplos de datos, pero este no siempre es el caso. Los valores que faltan directamente suelen ser fáciles de detectar.
        Valores atípicos Los valores atípicos son valores fuera de la distribución principal o la dispersión de los valores. Se desvían significativamente de otros ejemplos de datos. Los valores atípicos pueden ser el resultado de errores en la observación o pueden ocurrir naturalmente en la población. En cualquier caso, pueden causar problemas con el reconocimiento de patrones, se trate de un modelo de aprendizaje automático o un analista humano. Puede utilizar varios métodos de resumen estadístico para identificar valores atípicos, pero normalmente es más fácil detectarlos a través de gráficos que representan la dispersión de los valores. Los valores atípicos aparecerán muy por fuera del grupo principal.
        Ruido El ruido son datos irrelevantes o irregulares que dificultan que un modelo "escuche" patrones revelados por datos que son realmente importantes. Esto se debe a que el ruido incluye valores, características o ejemplos que no son necesarios para realizar estimaciones o que directamente dificultan la estimación. El ruido también puede aumentar la complejidad del análisis de los datos y la creación de los modelos, lo que lleva a que ambos se vuelvan más difíciles y consuman más tiempo. Existen varias técnicas estadísticas y de aprendizaje automático para identificar la complejidad innecesaria de un conjunto de datos, especialmente sus características irrelevantes. En algunos casos, también puede graficar valores y ver que no presentan ningún patrón discernible.

      • Correlaciones

        Al poner en práctica la IA y el aprendizaje automático, es común explorar las correlaciones entre las variables. En estadística, una correlación es una asociación matemática entre dos variables. Cuando las variables se correlacionan, se sugiere que cada variable tiene algún tipo de efecto sobre la otra. La naturaleza de este efecto puede variar, pero todas las correlaciones revelan al menos alguna relación entre las variables. Muchos enfoques del análisis de los datos e incluso de los algoritmos de aprendizaje automático buscan correlaciones entre los valores de los datos. Correlaciones como estas pueden mejorar el poder predictivo y de toma de decisiones tanto del profesional como de los modelos que ellos construyen.

        Por ejemplo, supongamos que está desarrollando un modelo estadístico para predecir el aumento y la caída de las poblaciones de las ciudades a lo largo del tiempo. Es posible que observe que existe una correlación entre la disponibilidad de empleo y la población total. En promedio, más empleos disponibles podrían significar una mayor población. Por supuesto, la correlación puede no ser perfecta. Una ciudad con un índice de disponibilidad de empleo elevado podría tener una población más pequeña que una ciudad con un índice de disponibilidad de empleo más bajo. Pero, en general, si descubre que las ciudades con mayor disponibilidad de empleo tienden a tener poblaciones más grandes, podría decirse que hay una correlación positiva entre las variables job_availability y total_population. Por lo tanto, el modelo podría hacer un mejor trabajo al predecir la población futura de una ciudad en función de su índice de disponibilidad de empleo.

        Es importante tener en cuenta que las correlaciones pueden o no ser causales. En otras palabras, el cambio en una variable puede o no ser la causa directa de un cambio en otra variable. Otras variables o incluso otros factores pueden afectar las variables que esté estudiando. O bien, la causa y el efecto pueden ser lo contrario de lo que piensa. Considere el ejemplo de la población de las ciudades. ¿Un aumento en la disponibilidad del empleo realmente implica una población más grande, o una población más grande implica el crecimiento de la industria, que a su vez implica más puestos de trabajo disponibles? Al analizar los datos en busca de correlaciones, es una buena idea ejercer el pensamiento crítico y evitar sacar conclusiones precipitadas sobre el poder de una variable para cambiar otra.

      • Medición de correlación


        Puede medir la correlación entre dos variables, comúnmente llamadas x e y. La medición, a menudo representada como r, produce un valor entre +1 y #LioxSpecialChar8722#1 que muestra la fuerza de la dependencia de las variables entre sí.

        - 1 significa la correlación positiva más fuerte posible entre x e y. A medida que x aumenta, y también lo hace. Por el contrario, a medida que x disminuye, y también disminuye. Si traza un conjunto de datos en un gráfico con puntos que muestran dónde cada valor de x (en el eje horizontal) produciría un valor de y (en el eje vertical), todos los valores se ubicarían en una línea recta desde la parte inferior izquierda hasta la parte superior derecha.

        - 0 significa que no hay correlación entre x e y.

        - #LioxSpecialChar8722#1 significa la correlación negativa más fuerte posible entre x e y. A medida que uno aumenta, el otro disminuye. Un gráfico de xy mostraría todos los valores que se ubican en una línea recta que va de la parte superior izquierda a la inferior derecha.

        Figura 1. Correlaciones mostradas en un gráfico de x–y.

        Cuanto más lejos esté el coeficiente de correlación de cero, más fuerte será su correlación, lo que significa que x e y son variables dependientes, y que una puede ser un buen predictor de la otra.

        Nota: Normalmente, las correlaciones por encima de 0,90 o por debajo de #LioxSpecialChar8722#0,90 implicarían que las variables son lo suficientemente similares en efecto como para eliminarlas de los conjuntos de datos sin ninguna pérdida de información útil.

        Información adicional

        Para obtener más información sobre las correlaciones, consulte este sitio.



      • Examen de datos


        Archivos de datos

        /home/student/ITSAI/AnalyzingData/Analyzing Data.ipynb
        /home/student/ITSAI/AnalyzingData/data/houses_data_cleaned.pickle

        Escenario

        Ahora que realizó el proceso ETL en los datos de las casas al menos una vez, puede comenzar a ver más de cerca a las características de esos datos. Todavía hay muchas más formas de mejorar los datos antes de usarlos para empezar a crear modelos de aprendizaje automático. Comenzará su análisis examinando los datos desde un nivel alto, solo para tener una idea de en qué estado se encuentran y qué tiene para trabajar.


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

        1. Inicie el entorno de actividad.

        En el escritorio, haga doble clic en la aplicación Oracle VM VirtualBox para iniciarla.

        En Oracle VM VirtualBox Manager, en la lista de la izquierda, seleccione ITSAI y, a continuación, seleccione Computador→Inicio→Inicio normal.

        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.
        Nota: Seleccione el texto "ITSAI", no el icono de carpeta junto a él.
        El directorio /ITSAI contiene subdirectorios para diferentes cuadernos y conjuntos de datos.


        3. Seleccione Análisis de datos.

        4. Seleccione Analyzing Data.ipynb para abrirlo.

        -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
        3. Importe las bibliotecas de software relevantes.
        1. Vea la celda titulada Importar bibliotecas de software 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.


        2. Ejecute la celda de código.

        3. Compruebe que se muestra la versión de Python, así como las versiones de las otras bibliotecas que se importaron.


        -------------------------------------------------------------------------------------------------------------------------------------------------------------
        4. Cargue los datos.
        1. Desplácese hacia abajo y vea la celda titulada Cargar el conjunto de datos y examine la lista de código debajo de ella.
        Está cargando el equivalente del archivo pickle de la tabla de datos limpiadas de viviendas que guardó anteriormente.

        2. Ejecute la cel
        da de código y compruebe que se cargaron 21.611 registros desde houses_data_cleaned.pickle.

        Esta es la versión del conjunto de datos de vivienda del Condado de King que limpió anteriormente.


        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        5. Examine los tipos de datos registrados en el conjunto de datos.
        1. Desplácese hacia abajo para ver la celda titulada Familiarizarse con el conjunto de datos y examine la lista de código debajo de ella.

        Este código generará información sobre los distintos tipos de datos incluidos en el conjunto de datos.

        2. Ejecute la celda de código.

        3. Observe la información sobre los tipos de datos utilizados en este conjunto de datos.

        21.611 registros (cada registro representa una casa diferente) están en el conjunto de datos.
        Se muestra cada columna del conjunto de datos, junto con su tipo de datos y el número de registros que incluyen un valor de datos.
        Cinco columnas contienen valores numéricos de punto flotante: pricebathroomsfloorslat y long.
        Una columna contiene un valor datetime: date.
        Catorce columnas contienen valores numéricos enteros: idbedroomssqft_livingsqft_lotviewconditiongradesqft_abovesqft_basementyr_built,
         yr_renovatedzipcodesqft_living15sqft_lot15 y roof_type.
        Una columna contiene un valor booleano: waterfront.
        Una columna contiene un valor de objeto de cadena: roof_type.
        La mayoría de las columnas contienen 21.611 entradas. El price y bathrooms muestran que contienen menos entradas. Podrían tener valores faltantes. Esto es algo que deberá buscar más adelante en esta lección.
        4. Desplácese hacia abajo para ver la celda titulada Mostrar registros de ejemplo y examine la lista de código debajo de ella.

        Este código mostrará las primeras diez filas de datos.


        5. Ejecute la celda de código.


        6. Examine los primeros 10 registros del conjunto de datos.

        Incluso en esta pequeña muestra, puede ver una variación significativa en los precios, el número de dormitorios y baños, el espacio habitable, etc.
        Puede ver que el segundo valor de la columna de precio muestra NaNNaN indica que el campo no almacena un valor numérico (es decir, "nes un número"). Esto podría ser un indicador de datos faltantes o datos del tipo incorrecto para la columna.

        -------------------------------------------------------------------------------------------------------------------------------------------------------------
        6. ¿Qué atributos crees que podrían tener una influencia en el precio?



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

        7.  Compruebe si hay correlaciones.

        1. Desplácese hacia abajo y vea la celda titulada Buscar correlaciones y examine la lista de código debajo de ella.

        Este código mostrará las correlaciones entre las columnas del conjunto de datos.


        2. Ejecute la celda de código.


        3. Examine el resultado.

        Esto muestra una tabla donde se calcula el valor de correlación de los emparejamientos de variables. Estos valores de correlación difieren mucho entre los emparejamientos. Por lo general, es más fácil detectar correlaciones cuando se trazan visualmente, por lo que deberá investigar esto más adelante.


        Nota: Por motivos de legibilidad, no todas las variables se incluyen en esta matriz de correlación.


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

        8. Lea la fila superior de la matriz de correlación.

        ¿Qué variable parece tener la correlación positiva más alta con price? ¿Cuál tiene la más baja?