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.
• Los tipos de datos pueden crear confusión, ya que estos pueden superponerse, y la taxonomía de un tipo de software puede diferir de la de otro. El sitio web de RTutorial ( www.r-tutor.com/ ) incluye la taxonomía de R . La documentación de pandas ( https://pandas.pydata.org/docs/user_guide/ ) describe los diferentes tipos de datos y cómo se pueden manejar en Python .
• La clasificación de tipos de datos de las bases de datos es más detallada al incorporar consideraciones de niveles de precisión, campos de longitud fija o variable, entre otras cosas. Consultar la guía de W3Schools para SQL ( www.w3schools.com/sql/ ).
El marco de referencia típico para un análisis en ciencia de datos es el objeto de datos rectangulares ( rectangular data ), como puede ser una hoja de cálculo o una tabla de base de datos.
Datos rectangulares ( rectangular data ) es el término general asociado a una matriz bidimensional con filas que indican registros (casos) y columnas que indican características (variables). El marco de datos ( data frame ) es el formato específico en R y Python . Los datos no siempre tienen esta apariencia al principio: los datos no estructurados (por ejemplo, texto) deben procesarse y manipularse para que se puedan representar como un conjunto de características en la matriz de datos rectangulares (consultar "Elementos de datos estructurados" en la página 2). Para la mayor parte de las tareas de análisis y modelado de datos, los datos de las bases de datos relacionales deben extraerse y colocarse en una sola tabla.
Términos clave de los datos rectangulares
Marco de datos
Читать дальше