Читать книгу Estadística práctica para ciencia de datos con R y Python - Peter Bruce - Страница 8
Elementos de datos estructurados
ОглавлениеLos datos proceden de muchas fuentes: mediciones de sensores, eventos, texto, imágenes y vídeos. Internet de las cosas (Internet of Things [IoT]) vomita caudales de información. Gran parte de estos datos no están estructurados: las imágenes son una colección de píxeles, y cada píxel contiene información sobre el color RGB (rojo, verde, azul). Los textos son secuencias de palabras y caracteres que no son palabras, y a menudo están organizados por secciones, subsecciones, etc. Los flujos de clics son secuencias de acciones de un usuario que interactúa con una aplicación o una página web. De hecho, un desafío importante de la ciencia de datos es convertir este torrente de datos sin procesar en información útil. Para aplicar los conceptos estadísticos tratados en el libro, los datos en bruto, no estructurados, deben procesarse y manejarse en un formato estructurado. Una de las formas más habituales en la que se presentan los datos estructurados es una tabla con filas y columnas, bien porque los datos pueden proceder de una base de datos relacional o porque los recopilamos así para su estudio.
Hay dos tipos básicos de datos estructurados: numéricos y categóricos. Los datos numéricos se presentan en dos modalidades: datos de carácter continuo (continuous), como es el caso de la velocidad del viento o la duración del tiempo, y discreto (discrete), como el recuento de las veces que ocurre un evento. Los datos categóricos (categorical) adoptan solo un conjunto fijo de valores, como pueden ser los tipos de pantallas de TV (plasma, LCD, led, etc.) o los nombres de los estados (Alabama, Alaska, etc.). Los datos binarios (binary) son un importante caso especial de datos categóricos que adoptan solo uno de dos valores, como 0/1, sí/no o verdadero/falso. Otro tipo muy útil de datos categóricos son los datos ordinales (ordinal), con los que se ordenan las categorías. Un ejemplo de estos datos es una clasificación numérica (1, 2, 3, 4 o 5).
¿Por qué nos molestamos en analizar la taxonomía de los tipos de datos? Pues porque resulta que a los efectos del análisis de datos y del modelado predictivo, el tipo de datos es importante para ayudar a determinar qué tipo de presentación visual utilizar, si la de análisis de datos o la de modelos estadísticos. De hecho, el software de la ciencia de datos, como R y Python, utiliza los tipos de datos para mejorar el rendimiento computacional. Y lo que es más importante, el tipo de datos de una variable determina cómo realizará el software los cálculos para esa variable.
Términos clave de los tipos de datos
Numéricos
Datos que se expresan en una escala numérica.
Continuos
Datos que pueden adoptar cualquier valor dentro de un intervalo. (Sinónimos: intervalo, flotante, numérico)
Discretos
Datos que solo pueden adoptar valores enteros, como los valores contables. (Sinónimos: entero, contable)
Categóricos
Datos que solo pueden adoptar un conjunto específico de valores que representan un conjunto de categorías posibles. (Sinónimos: enumeraciones, enumerado, factores, nominal)
Binarios
Son un caso especial de datos categóricos con solo dos categorías de valores, por ejemplo, 0/1, verdadero/falso. (Sinónimos: dicotómico, lógico, indicador, booleano)
Ordinales
Datos categóricos que tienen un orden explícito. (Sinónimos: factor ordenado)
Los ingenieros de software y los programadores de bases de datos pueden preguntarse por qué incluso necesitamos la noción de datos categóricos (categorical) y ordinales (ordinal) para el análisis. Después de todo, las categorías son simplemente una colección de valores de texto (o numéricos) y la base de datos subyacente maneja automáticamente la representación interna. Sin embargo, la identificación explícita de datos como categóricos, como algo diferente al texto, ofrece algunas ventajas:
• Saber que los datos son categóricos puede actuar como una señal que indica al software cómo deben comportarse los procedimientos estadísticos, como crear un gráfico o ajustar un modelo. En particular, los datos ordinales se pueden representar mediante ordered.factor en R, conservando el orden especificado por el usuario en gráficos, tablas y modelos. En Python, scikit-learn admite datos ordinales con sklearn.preprocessing.OrdinalEncoder.
• El almacenamiento y la indexación se pueden optimizar (como en una base de datos relacional).
• Los posibles valores que puede adoptar una variable categórica dada se aplican al software (como puede ser una enumeración).
El tercer "beneficio" puede conducir a un comportamiento no deseado o inesperado: el comportamiento predeterminado de las funciones de importación de datos en R (por ejemplo, read.csv) es convertir automáticamente una columna de texto en un factor.
Las operaciones posteriores en esa columna supondrán que los únicos valores permitidos para la columna son los que se importaron originalmente, y la asignación de un nuevo valor de texto introducirá una advertencia y producirá un NA (valor ausente). El paquete pandas de Python no realizará dicha conversión automáticamente. Sin embargo, podemos especificar una columna como categórica explícitamente con la función read_csv.
Ideas clave
• Los datos se clasifican en el software generalmente por tipos.
• En los tipos de datos están incluidos los numéricos (continuos, discretos) y categóricos (binarios, ordinales).
• La tipificación de datos en el software actúa como una señal que le indica al software cómo debe procesarlos.