Ir al contenido principal

Diagrama de temas

    • 3.3 Transformar Datos

      • Preparación y limpieza de datos

        Hay varios motivos por los que es posible que desee transformar los datos, pero los dos más frecuentes tienen que ver con la preparación de los datos y su limpieza.

        La preparación de datos es el proceso de modificar dichos datos para que respalden de manera más eficaz las tareas de IA y AA, en particular el análisis y el desarrollo de modelos. Debido a que estas tareas son tan vitales para cumplir con las metas del proyecto, la preparación de datos es un componente necesario para lograr el éxito. Hay muchas tareas individuales que pueden formar parte de la preparación de datos, varias de las cuales aprenderá en este curso. En general, la finalidad de la preparación de datos es corregir todos los problemas que pueda identificar antes de cargar los datos en su destino final. Estos problemas pueden ser a nivel macro (por ejemplo, datos no estructurados de una fuente que no encajan bien en un formato estructurado), o pueden estar en un nivel micro (por ejemplo, los valores de los datos individuales son incorrectos).

        La limpieza de datos es en realidad un subconjunto de la preparación y solo se refiere a abordar inexactitudes y otros problemas con dichos datos. Esto puede incluir datos duplicados, datos con el tipo de datos o el formato incorrectos, datos dañados, datos faltantes, etc. En realidad, "limpiar" los datos podría significar cambiar los datos ofensivos o simplemente eliminarlos. Cada uno tiene sus beneficios y uno puede ser más recomendable o práctico que el otro en ciertas situaciones. Por ejemplo, si muchos registros tienen el mismo valor erróneo en la misma columna, podría ser fácil corregir ese valor. Quitar demasiados registros podría perjudicar el conjunto de datos. Por otro lado, si solo unos pocos registros tienen valores problemáticos, pero esos valores no siguen ningún patrón identificable, puede ser difícil corregirlos. Por lo tanto, puede optar por quitar esos registros en cambio. La elección se reduce a qué acción cree que será la más factible de tomar, mientras se minimizan todos los efectos negativos que puedan aparecer más adelante.

        Todo el proceso de preparación de datos puede ser tedioso y puede llevar mucho tiempo en un proyecto de IA/AA. A modo de reflejo de la dificultad de la tarea, a veces se conoce como disputa de datos u organización de datos, en particular cuando se realiza de forma manual o fuera de procesos formales y repetibles. Sin embargo, varias bibliotecas de software proporcionan funciones que permiten automatizar el proceso de preparación de datos. Esto es valioso sobre todo cuando debe repetir el proceso de limpieza en otros conjuntos de datos o cuando se agregan nuevos datos a lo largo del tiempo.

        Nota: Siempre que realice operaciones en datos, considere la posibilidad de crear una copia de seguridad para poder volver al conjunto de datos original si algo sale mal.

      • Irregularidades en los datos


        Las tareas de limpieza de nivel inferior implican abordar datos "irregulares" o cualquier dato que no se ajuste a las expectativas. Hay muchos tipos de problemas que pueden indicar datos irregulares, tales como:

        - Datos dañados o inutilizables.
        - Datos con formato incorrecto.
        - Datos duplicados.
        - Datos de marcador de posición.
        - Datos nulos o faltantes.

        Debe identificar tantas instancias de estos problemas como pueda y abordarlas como parte de sus esfuerzos generales de preparación de datos.

      • Corrección de formatos de datos


        Los elementos de datos se pueden representar de forma diferente en los distintos orígenes de los que se obtienen los datos. Los diferentes sistemas de bases de datos y almacenes de datos admiten diferentes tipos de datos y pueden almacenar valores con diferentes niveles de precisión. Por ejemplo, una característica aparentemente sencilla, como Color podría almacenarse como una cadena, un entero o incluso un flotante. Cuando se combinan valores similares de varios orígenes, deben usar un tipo de datos coherente, uno que sea compatible con el entorno de trabajo que está utilizando, así como la base de datos en la que planea cargar esos datos. Estos valores también deben estar en un formato que admita el análisis y el modelado de datos más adelante.

        Como parte del proceso de limpieza de datos, deberá inspeccionar el conjunto de datos para identificar las características cuyos tipos de datos deben cambiar. Un analizador de datos puede intentar determinar el tipo de datos óptimo que se va a utilizar para una columna y puede verse obligado a utilizar un tipo de datos inesperado o no deseado si solo un valor se desvía de la norma. Incluso si todos los valores siguen el mismo patrón, es posible que el tipo de datos no sea el que desea. Por ejemplo, es una práctica común usar un tipo de datos decimal en lugar de un flotante cuando se trata de dinero. Los decimales tienen el nivel más alto de precisión y no introducirán errores de redondeo. Sin embargo, muchas herramientas analizarán automáticamente cualquier número con un separador decimal como un flotante. Por lo tanto, deberá convertir estos valores a decimal.

        Otro ejemplo es convertir un valor categórico de una cadena en un número. Los valores de una columna Color pueden ser incoherentes o incluir errores (por ejemplo, "Blue" y "bleu"), por lo que es posible que desee convertirlos en números donde el número 1 es azul, el número 2 es rojo, etc.

        Afortunadamente, la mayoría de los entornos de IA y AA proporcionan funciones de programación para convertir fácilmente datos de un tipo a otro. Sin embargo, tenga en cuenta que no todas las conversiones van a funcionar. Puede convertir la cadena '1.34' en flotador 1.34 porque la cadena contiene un número y solo un número. Pero, si intenta convertir la cadena 'two' en un entero, probablemente no va a funcionar. Sin embargo, puede convertir cualquier valor en una cadena.

      • Conversión de fechas

        La mayoría de la conversión de tipos de datos es relativamente sencilla. Sin embargo, el tratamiento de fechas y horas merece una mención especial. En su forma más básica, una fecha u hora se puede representar como una cadena, por ejemplo, '2021-03-01 00:03:50' se refiere al 1 de marzo de 2021 a las 3:50 A.M. El problema es que hay una gran cantidad de información distinta que se transmite y no hay una forma fácil de extraer porciones individuales. ¿Qué pasaría si quisiera recuperar solo el mes? Puede intentar analizar la cadena extrayéndola de una posición específica o entre ciertos caracteres, pero esto puede ser tedioso. También es propenso a errores. Después de todo, hay muchas maneras de dar formato a fechas y horas. El método que utilice para analizar la cadena anterior no funcionará si el valor tiene el formato 'March 1st, 2021'.

        Para solucionar estos problemas, la mayoría de los lenguajes de programación implementan un tipo especial de tipo de datos llamado fecha y hora. Cada lenguaje lo implementa de manera diferente, pero todos tienden a cumplir el mismo propósito: almacenar una fecha u hora en un formato coherente que sea fácil de extraer componentes individuales y lo suficientemente flexible como para permitirle recuperar el componente, como el mes, como el entero 3 o la cadena 'March'.

        En muchos casos, si extrae una fecha u hora sin procesar de un archivo de texto o un tipo de base de datos, el entorno de programación no lo entiende. Simplemente extraerá el valor como una cadena. Sin embargo, también puede configurar el entorno para analizar explícitamente los valores como una fecha y hora. La mayoría de los entornos son lo suficientemente inteligentes como para detectar las diferentes formas de escribir una fecha y hora, por lo que si algunas fuentes usan YYYY-MM-DD y otras fuentes deletrean todo el asunto, no necesariamente tiene que preocuparse por hacerlas coherentes. Siempre y cuando ambos se reconozcan como fechas y horas y se analicen como fechas y horas, debería ser bueno que lo haga. Si el entorno en el que extraen los datos no puede convertir automáticamente los valores a fecha y hora, es posible que deba usar otras bibliotecas para hacerlo manualmente.

      • Desduplicación


        La desduplicación es el proceso de identificar y eliminar entradas duplicadas de un conjunto de datos. Las entradas duplicadas pueden generar dificultades en la interpretación de los datos y pueden afectar a la capacidad de un modelo para aprender patrones de esos datos. Por lo tanto, debe buscarlos y abordarlos dondequiera que existan en el conjunto de datos.

        En los casos más comunes, los datos duplicados hacen referencia a filas de una tabla que aparecen más de una vez cuando no deberían. Esto puede ocurrir por varias razones, pero normalmente se debe a algún error al registrar los datos o consolidar datos de varios orígenes. La indicación más obvia de ello es cuando dos o más filas comparten los mismos valores exactos para cada columna, de este modo: style="border:1px solid #000000; padding:1%;"
        ID del cliente Apellido Nombre País Género
        1056 Williams Emily CA F
        1056 Williams Emily CA F
        1056 Williams Emily CA F

        La mayoría de los lenguajes de programación tienen bibliotecas con funciones que pueden reconocer automáticamente las filas totalmente duplicadas y quitarlas todas excepto una.

        Sin embargo, es posible que existan algunos duplicados donde solo uno o dos valores son iguales en varias filas. Si al menos uno de esos valores repetidos resulta ser la clave principal, que es un identificador único con un valor diferente para cada fila, sabrá que existe un duplicado. Las discrepancias con el resto de las columnas probablemente se deban a un error de registro. Puede que no esté claro cuál fila es la "correcta" y cuál no, por lo que podría ser más seguro quitar ambas filas, dependiendo de la frecuencia con la que aparecen y el tamaño del conjunto de datos. Esto se puede ver en el siguiente ejemplo, donde el verdadero nombre y género del cliente no está claro:
        ID del cliente Apellido Nombre País Género
        1056 Williams Emily CA F
        1056 Williams Marta CA F
        1056 Williams Zachary CA M

        Ciertas pruebas de duplicación pueden ser engañosas. Consulte la siguiente tabla:
        ID del cliente Precio de venta Impuesto Cantidad Producto
        1056 799.99 63.99 1 Televisor
        1056 78.99 6.32 2 Altavoces
        1056 199.99 15.99 1 Subwoofer

        En este ejemplo de transacciones de ventas, Customer ID no es la clave principal. El mismo cliente puede iniciar varias transacciones. Por lo tanto, aquí no existen duplicados. Si hubiera una columna llamada Transaction ID que tuviera los mismos valores en varias filas, serían duplicados, ya que esa característica actuaría como la clave principal. En ausencia de cualquier tipo de clave común, puede quedar aún menos claro que es un error de grabación y qué es una observación legítima. Esta es la razón por la que es importante tener una comprensión profunda del conjunto de datos; es posible que deba resolver problemas como este manualmente, ya que las bibliotecas de programación automatizadas no siempre sabrán qué hacer.

        La duplicación de datos también puede hacer referencia a columnas, no solo a filas. Una columna podría aparecer literalmente dos veces y contener, por ejemplo, los mismos valores para cada fila. O bien, dos columnas pueden contener valores diferentes sin procesar y continuar siendo redundantes.

        Nombre Lugar Tiempo en minutos Tiempo en horas
        Romano 2 176 2.93
        Alvarez 3 201 3.35
        Matthews 1 168 2.80

        En este ejemplo, la columna Time in Hours es redundante con la columna Time in Minutes ya que en ambas se mide lo mismo, solo que en escalas diferentes. Por lo tanto, el proceso de desduplicación podría implicar la eliminación de una de estas columnas. Una vez más, el conocimiento de los datos es un factor importante para determinar qué columnas están duplicadas y se pueden eliminar.

      • Análisis de texto


        En algunos conjuntos de datos se incluye contenido textual. Considere un conjunto de datos donde una de las características es Review. Esta es la revisión escrita sobre del producto que compró un usuario. Esta característica no es del todo categórica, y aunque el orden de las palabras es importante, no es del todo ordinal en el sentido de que una palabra sea necesariamente más importante que otra. Necesita un modo para transformar estos datos a fin de que sean más fáciles de analizar y más propicios para el modelado.

        Hay varios métodos disponibles para analizar e identificar partes relevantes del texto. Algunos implican identificar palabras individuales y contar con qué frecuencia aparecen, entre otros. Si su proyecto requiere un análisis de texto, tenga en cuenta que ya se proporcionó entrenamiento sobre modelos de análisis de texto útiles. Puede aprovecharlos para sus proyectos.



      • Representación de datos de imagen

        Al igual que los datos textuales, los datos de imágenes deben transformarse antes de que puedan usarse de forma eficaz. Generalmente, las imágenes sin procesar pueden representarse como una matriz de valores numéricos donde cada celda en la matriz representa un píxel. En una imagen en blanco y negro (monocromática), el número en una celda puede ser 0 (negro) o 1 (blanco). En una imagen en escala de grises, el número de una celda representa la intensidad de ese píxel, donde 0 es negro y 255 es blanco. Las imágenes en colores simples a menudo se representan con valores RGB (rojo, verde, azul) para cada píxel. RGBA también es un formato común, donde la "A" representa el canal alfa, que es el porcentaje de transparencia para un píxel de 0 (totalmente transparente) a 100 (totalmente opaco).

        La mayoría de los algoritmos de aprendizaje profundo como las redes neuronales convolucionales (CNN) comprimen este tipo de datos para eliminar el "ruido" en la imagen y solo conservan las características de la imagen que son más útiles para determinar patrones. Estas representaciones comprimidas aparecen como matrices unidimensionales (es decir, que tienen una sola columna) llamadas vectores.
        Figura 1. Representar una imagen en escala de grises como una matriz de píxeles y luego como un vector comprimido. 

        Tenga en cuenta que los números más bajos indican tonos más oscuros, mientras que los números más altos indican tonos más claros.

        Es posible que tenga la tentación de incluir tanto color como sea posible en los datos de imagen, ya que el color es obviamente un componente visual importante. Sin embargo, cuanto más color agregue a una imagen, más información deberá procesar la red neuronal. La información de los colores puede causar problemas significativos en la memoria, especialmente si la red procesa miles o millones de imágenes a la vez. Las imágenes monocromáticas consumen la menor cantidad de memoria, ya que cada píxel es solo blanco o negro. Las imágenes en escala de grises requieren más memoria, mientras que las imágenes RGB de 256 colores requieren aún más y así sucesivamente. Las imágenes sin color todavía pueden ser útiles para detectar patrones.


      • Documentación de opciones de diseño

        Como ha visto, una gran parte del pensamiento y del trabajo se dedica a diseñar un modelo de aprendizaje automático, desde experimentar hasta determinar características, eliminar ciertas características mientras se conservan otras y ajustar las irregularidades de los datos. Estas son opciones de diseño, y los profesionales de IA deben documentarlas en su totalidad. Esto sirve para diferentes propósitos. En primer lugar, la documentación obliga a las personas que toman las decisiones de diseño a indicar claramente los objetivos que están tratando de lograr y las razones para tomar las decisiones que corresponden. Esto se puede compartir con otros miembros del equipo y evaluarlo. Si se descubre que los miembros del equipo no están de acuerdo en el objetivo, el proyecto o el enfoque, o si la solución se considera demasiado compleja para ser viable, el equipo puede analizar esos problemas y abordarlos antes de que el tiempo y los gastos se desborden por completo por la creación, el entrenamiento, las pruebas y la implementación del modelo.

        La documentación completa y clara también es muy útil para proyectos de larga duración donde cambia la pertenencia a un equipo. La documentación puede ayudar a los nuevos miembros del equipo a ponerse al día sobre qué decisiones de diseño se tomaron y cuál fue el motivo. La documentación también es útil si los datos de entrada cambian, si el objetivo o la solución debe cambiar, o para aplicar la solución a un problema diferente. En todos esos casos, la documentación puede ayudar a los miembros del equipo a ajustar las opciones de diseño más rápidamente.

      • Limpieza y preparación de datos


        Antes de empezar

        Se abrirá Accessing and Managing Data for AI.ipynbI en Jupyter Notebook.
        Nota: Si cerró Jupyter Notebook desde que completó la actividad anterior, deberá reiniciar Jupyter Notebook y volver a abrir el archivo. Para asegurarse de que todos los objetos y la salida de Python están en el estado correcto para comenzar esta actividad:

        1. Seleccione Kernel→Reiniciar & y Borrar salida.
        2. Seleccione Reiniciar y borrar todas las salidas.
        3. Desplácese hacia abajo y seleccione la celda con la etiqueta Identificar datos donde yr_built sea mayor que 2040.
        4. Seleccione Celda→ Ejecutar todo lo anterior.

        Escenario

        Los datos de vivienda tienen miles de registros y es poco probable que estén en un estado inmaculado. Existe la posibilidad de que incluyan al menos algunos datos corruptos o defectuosos, ya sea como resultado de errores de entrada de datos o algo más. En cualquier caso, deberá identificar cualquier dato inutilizable y abordar el problema para que no cause problemas en el futuro. Usted sospecha que algunos de los números establecidos durante los años anteriores se registraron incorrectamente, por lo que buscará pruebas y tomará las medidas apropiadas, si es necesario.

        Otro problema que afecta a los conjuntos de datos relativamente grandes es la presencia de duplicados y los datos de vivienda no son diferentes. Deberá identificar las filas potencialmente duplicadas y luego las quitará del conjunto de datos. De este modo, el análisis y el modelado que realice no estarán sesgados por los datos repetidos.


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

        1. Identificar los datos donde yr_built es mayor que 2040.

        1. Desplácese hacia abajo y vea la celda titulada Identificar datos donde yr_built es mayor que 2040 y examine el listado de código debajo de esta.



        Este código mostrará las casas que tengan yr_built mayor que 2040.

        2. Ejecute la celda de código.
        3. Examine el resultado.

        Hay cuatro casas que tienen un yr_built mayor que 2040, lo que sugiere que los datos están dañados. Por lo tanto, deberá quitar estas filas del conjunto de datos.

        Nota: Puede que deba desplazarse hacia la derecha para ver la columna yr_built.


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

        2. Quite los datos incorrectos.

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

        Este código mueve todos los registros con un valor de yr_built menor o igual a 2040 a houses_cleaned. Quitar filas enteras con datos defectuosos no es la única forma de hacer esto, especialmente si cree que los valores de las otras columnas son precisos. Sin embargo, dado que solo hay cuatro registros afectados entre decenas de miles, eliminarlos es seguro.


        2. Ejecute la celda de código.

        3. Examine el resultado.

        Ahora hay 21.614 filas, cuatro menos que antes.


        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        3. Identifique todos los datos duplicados.
        1. Desplácese hacia abajo y vea la celda titulada Identificar todos los datos duplicados y examine la lista de código debajo de ella.

        Este código buscará los registros duplicados en el conjunto de datos actual y mostrará el número de filas duplicadas.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        Hay seis filas con datos duplicados.


        4. En la siguiente celda de código, examine el código.

        Este código mostrará las filas duplicadas.


        5. Ejecute la celda de código.

        6. Examine el resultado.

        Puede ver las seis filas duplicadas, donde cada fila única parece tener un duplicado. Por lo tanto, en realidad hay tres filas que se pueden quitar.


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

        4. Quite los datos duplicados.
        1. Desplácese hacia abajo y vea la celda titulada Quitar los datos duplicados y examine la lista de código debajo de ella.

        Este código mueve todos los registros excepto los duplicados a houses_cleaned_2. Luego, recupera un ID de casa específico que se duplicó antes para asegurarse de que solo aparezca una vez en el nuevo conjunto de datos.


        2. Ejecute la celda de código.

        3. Examine el resultado.

        Este ID de casa en particular solo aparece una vez, por lo que parece que los duplicados se eliminaron con éxito.

        4. En la siguiente celda de código, examine el código.

        Este código mostrará el número de filas y columnas de este conjunto de datos.

        5. Ejecute la celda de código.


        6.Examine el resultado.

        Como se esperaba, se quitaron tres filas del conjunto de datos.


      • Corrección de formatos de datos


        Antes de empezar

        Se abrirá Accessing and Managing Data for AI.ipynbI en Jupyter Notebook.
        Nota: Si cerró Jupyter Notebook desde que completó la actividad anterior, deberá reiniciar Jupyter Notebook y volver a abrir el archivo. Para asegurarse de que todos los objetos y la salida de Python están en el estado correcto para comenzar esta actividad:

        1. Seleccione Kernel→Reiniciar & y Borrar salida.

        2.Seleccione Reiniciar y borrar todas las salidas.

        3. Desplácese hacia abajo y seleccione la celda con la etiqueta Identificar tipos de datos que necesitan corrección.

        4. Seleccione Celda→ Ejecutar todo lo anterior.

        Escenario

        Afortunadamente, parece que la mayoría de los tipos de datos del conjunto de datos se establecieron correctamente. Sin embargo, la columna waterfront debe ser un valor booleano True o False. Además, las fechas y horas a menudo pueden causar problemas cuando se introducen en un entorno de programación, especialmente porque suelen establecerse como cadenas estándar. Aunque esto no es necesariamente un problema, es mucho más fácil trabajar con fechas y horas cuando se establecen como objetos datetime.


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

        1. Identifique los tipos de datos que necesitan corrección.
        1. Desplácese hacia abajo y vea la celda titulada Identificar los tipos de datos que necesitan corrección y examine la lista de código debajo de ella.

        Este código mostrará una lista de todas las columnas y sus tipos de datos.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        Puede ver que el campo date tiene un tipo de datos de object (una cadena) en lugar de datetime64 (un formato datetime). Un formato datetime hará que sea más fácil trabajar con la columna. Además, la columna waterfront debe ser de tipo booleano, en función de sus valores "Yes" y "No".

        Notaprice debe ser un entero (un número entero), pero debido a que faltan valores, el valor predeterminado es un número flotante (un número con separadores decimales).

        4. En la siguiente celda de código, examine el código.

        Este código mostrará los valores de la columna waterfront y sus frecuencias.

        5. Ejecute la celda de código.

        6. Examine el resultado.

        La variable waterfront solo tiene valores "Yes" o "No" en forma de objeto de cadena. Hay 21.447 valores "No" y 164 valores "Yes". Sería mejor si esta variable fuera de tipo booleano.


        -------------------------------------------------------------------------------------------------------------------------------------------------------------
        2.Convierta las variables relevantes a un tipo booleano.
        1. Desplácese hacia abajo y vea la celda titulada Convertir las variables relevantes a un tipo booleano y examine la lista de código debajo de ella.

        Este código hará la conversión de la variable waterfront y pondrá todo en houses_cleaned_3.

        2. Ejecute la celda de código.


        3. Examine el resultado.

        Los valores que eran "Yes" y "No" ahora son True y False para la columna waterfront.


        4. En la siguiente celda de código, examine el código.

        Este código mostrará una lista de todas las columnas y sus tipos de datos.


        5. Ejecute la celda de código.


        6. Examine el resultado.

        Como puede ver, la columna waterfront es ahora del tipo de datos booleano (bool).

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

        3. Convierta date a un formato datetime.
        1. Desplácese hacia abajo y vea la celda titulada Convertir date un formato datetime y examine la lista de código debajo de ella.

        Este código convertirá la columna date para que siga el formato AAAA-MM-DD, que coincide con la forma en que figuraba cuando era un objeto de cadena.


        2. Ejecute la celda de código.

        3. En la siguiente celda de código, examine el código.

        Este código mostrará una lista de todas las columnas y sus tipos de datos.

        4. Ejecute la celda de código.


        5. Examine el resultado.

        La columna date está ahora en un formato datetime.



      • Transformación de datos de texto


        Archivos de datos

        /home/student/ITSAI/ETL/Handling Textual Data.ipynb
        /home/student/ITSAI/ETL/data/home_loan_complaints.csv

        Antes de empezar

        Se abrirán las pestañas Accessing and Managing Data for AI.ipynbI e ITSAI/ETL/ en Jupyter Notebook.

        Escenario

        Deberá utilizar los datos de quejas de los consumidores para practicar el control de datos textuales. El control de los datos textuales dentro de este archivo requiere un enfoque muy diferente al de los datos numéricos y categóricos con los que trabajó anteriormente. Necesita una forma de procesar el texto para que sea más favorable para el análisis y el aprendizaje automático. Hay muchas técnicas para hacerlo y aplicará varias de ellas a los datos de la queja.


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

        1. Abra el cuaderno.

        1. En el cliente web de Jupyter Notebook, seleccione la pestaña ITSAI/ETL/.

        Nota: Asegúrese de que el cuaderno Accessing and Managing Data for AI.ipynb siga abierto y que esté abriendo este nuevo cuaderno en una pestaña diferente.


        2. Seleccione Handling Textual Data.ipynb para abrirlo.


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

        2. 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 varias bibliotecas de software que se utilizarán en este programa y, luego, muestra los nombres de las diferentes bibliotecas.

        2. Ejecute la celda de código.

        3. Compruebe que se muestra la versión de Python, junto con las versiones de las otras bibliotecas que se importaron.

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

        3.Lea y obtenga una vista previa de los datos de texto.

        1.Desplácese hacia abajo y vea la celda titulada Leer y obtener una vista previa de los datos de texto y examine la lista de código debajo de ella.

        Este código carga los datos y muestra su estructura.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        Cada usuario que presentó una queja se muestra en una fila y cada columna es un aspecto diferente del usuario o su queja.


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

        4.Extraiga un subconjunto de datos para tener en cuenta solo las quejas de los consumidores.

        1. Desplácese hacia abajo y vea la celda titulada Extraer un subconjunto de datos para tener en cuenta solo las quejas de los consumidores y examine el listado de código debajo de él.


        Este código mostrará el número de quejas sin texto para la queja del usuario.

        2.Ejecute la celda de código.

        3. Examine el resultado.

        Como era de esperar, la mayoría de los registros no se presentaron con el texto real de la queja del usuario.

        4. En la siguiente celda de código, examine el código.

        Este código mueve solo los registros que realmente tienen una narrativa de queja a un nuevo conjunto de datos.

        5. Ejecute la celda de código.

        6. Examine el resultado.

        El conjunto de datos reducido tiene el ID del usuario y el texto de su queja.

        7. En la siguiente celda de código, examine el código.

        Este código mostrará el número de filas y columnas de este conjunto de datos.

        8. Ejecute la celda de código.

        9.Examine el resultado.

        Hay 22 filas y 2 columnas.

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

        5.Obtenga un ejemplo de las quejas de los consumidores.

        1.Desplácese hacia abajo y vea la celda titulada Obtener un ejemplo de las quejas de los consumidores y examine la lista de código debajo de ella.

        Este código mostrará el primer texto de queja.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        La queja está llena de caracteres como puntuación, números y palabras comunes. Deberá simplificar este texto para que sea más fácil de analizar.


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

        6.Tokenice una oración en palabras.

        1. Desplácese hacia abajo y vea la celda titulada Tokenizar una oración en palabras y examine la lista de código debajo de ella.

        Este código utiliza una biblioteca de procesamiento de texto de terceros denominada spaCy para crear un documento a partir del texto de ejemplo. Para demostrar la tokenización de palabras individuales, este código toma una única frase del documento en general.

        2. Ejecute la celda de código.

        3. En la siguiente celda de código, examine el código dentro de ella.

        Este código mostrará cada palabra de la oración.

        4. Ejecute la celda de código.

        5. Examine el resultado.

        Se muestra cada "palabra" individual (según lo definido por spaCy). Tenga en cuenta que los números y la puntuación cuentan como palabras.

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

        7. Identifique las categorías gramaticales de cada token.

        1. Desplácese hacia abajo y vea la celda titulada Identificar las categorías gramaticales de cada token y examine la lista de código debajo de ella.

        Los procesadores de texto como spaCy pueden identificar el rol de cada token en una oración, incluidos aquellos que no son palabras como números y signos de puntuación.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        La tabla enumera a qué categoría gramatical pertenece cada token. Por ejemplo, It es un pronombre, is es un verbo auxiliar (un verbo que afecta a los tiempos y modos de otros verbos), { es puntuación, 250.00 es un número y así sucesivamente.

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

        8.Identifique palabras irrelevantes.

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

        Este código identificará si un token califica o no como una palabra irrelevante o una palabra que es tan común que debe excluirse del texto para no ejercer una influencia indebida.

        2. Ejecute la celda de código.

        3. Examine el resultado.

        Las palabras como It e is se consideran palabras irrelevantes, pero showing no lo es.

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

        9. Transforme el texto.

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

        Este código transformará los datos de texto combinando algunos de los métodos que acaba de observar. El código transformará los datos de texto omitiendo la puntuación, los espacios, los números y las palabras identificadas como palabras irrelevantes.

        2.Ejecute la celda de código.

        3. En la siguiente celda de código, examine el código.

        Este código probará la transformación en el ejemplo de texto de queja única.

        4. Ejecute la celda de código.

        5. Examine el resultado.

        Como se esperaba, el texto de la revisión se simplificó.

        6. En la siguiente celda de código, examine el código.

        Este código mostrará el texto de ejemplo original.

        7. Ejecute la celda de código.

        8. Examine el resultado.

        Puede ver diferencias significativas entre la forma original de la queja y la queja después de someterla a un procesamiento de texto.

        9. En la siguiente celda de código, examine el código.
        Este código aplicará la transformación a todo el conjunto de datos.

        10. Ejecute la celda de código.
        Nota: Esto puede tardar unos minutos en ejecutarse.

        11Examine el resultado.

        Se muestran los tres primeros registros, junto con la narrativa original y la narrativa transformada para cada queja.


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

        10. 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 Handling Textual Data.ipynb en Firefox, pero vuelva al cuaderno Accessing and Managing Data for AI.ipynb.





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