Está en la página 1de 24

CAPITULO 2: ASPECTOS BASICOS DEL

ANALISIS DE DATOS
Los datos están en todas partes
Las máquinas, las personas y las cosas generan datos a un ritmo sin precedentes. Cisco Visual Networking
Index (VNI) prevé el crecimiento del tráfico de Internet global y las tendencias de banda ancha para redes
móviles y fijas. Según el VNI de Cisco, el tráfico IP se triplicará durante los próximos 3 años. Para 2020, habrá
más de 26 mil millones de dispositivos/conexiones en red IP globales (a partir de 16,3 mil millones en 2015).
Globalmente, el tráfico IP alcanzará 194,4 exabytes por mes en 2020. Los videos de Internet darán cuenta de
un 79 % del tráfico de Internet global para 2020. Eso es desde un 63 % en 2015. El mundo alcanzará tres
billones de minutos de video de Internet por mes en el 2020, que equivale a cinco millones de años de video
por mes o cerca de un millón de minutos de video cada segundo.

Estamos más conectados que nunca. En nuestros hogares, escuelas, trabajos e incluso en las áreas en las
que jugamos, los avances en tecnologías de IdC generan grandes cantidades de datos. Adonde sea que va y
todo lo que hace en este mundo digital se convierte en una nueva fuente de datos. Los datos se generan a
partir de sensores, dispositivos, video, audio, redes, archivos de registro, aplicaciones transaccionales, la web
y las redes sociales. Fluyen más frecuentemente en las redes y vienen en diversos tamaños y formatos. El
gran volumen, la gran velocidad y la gran variedad de estos conjuntos de datos es una función clave que
diferencia los datos de los datos masivos.

El surgimiento de estos grandes conjuntos de datos requiere métodos, tecnologías e infraestructura más
avanzados para manejar los datos y convertirlos en información procesable. Los datos ya no se pueden
guardar en unas pocas máquinas o procesar con una sola herramienta.

Las empresas crean perfiles y procesan activamente los datos sobre sus sistemas, sus usuarios y sus
procesos para estimular el crecimiento y la innovación. Los investigadores y los analistas están buscando
maneras de analizar y acceder a los datos que una vez se consideraron inutilizables. Las técnicas avanzadas
de análisis pueden utilizarse en los grandes conjuntos de datos como análisis de texto, aprendizaje
automático, análisis predictivo, minería de datos, estadísticas y procesamiento de lenguaje natural. Las
empresas pueden analizar las fuentes de datos anteriormente no explotadas de manera independiente o con
los datos de la empresa existentes para obtener nuevas perspectivas. Estas ideas dan lugar a decisiones
significativamente mejoradas y más rápidas.

Este capítulo explica a qué nos referimos con análisis de datos, qué puede hacer para las empresas y otras
organizaciones, y las herramientas y metodologías disponibles. En el pasado, los analistas de datos tenían
acceso a datos históricos estáticos. Estos datos eran del pasado y no cambiaron. Ahora, con sensores, redes
sociales y otras fuentes, los datos son dinámicos. Deben analizarse apenas se crean. Además, hay muchos
más de estos datos dinámicos y necesitamos nuevas herramientas, metodologías, soluciones de
almacenamiento y maneras de pensar sobre estos datos masivos.

La última sección de este capítulo está diseñada para ayudarlo a prepararse para la primera de una serie de
prácticas de laboratorio que se presenta en el capítulo 5 de este curso.

CRISP-DM
¿Qué significa análisis de datos? ¿Es un proceso estandarizado o más bien artístico? Con análisis de datos
se comienza con una pregunta de negocios y la disponibilidad de algunos datos. Se termina con la creación
de información nueva relevante para resolver la pregunta de negocios. Este capítulo presenta el concepto de
análisis de datos y aplica elementos básicos de análisis de datos a una situación determinada. En este caso,
medimos la velocidad de Internet de un nodo conectado.

Existen muchas metodologías para realizar análisis de datos, incluido el popular proceso estándar a través de
la industria para minería de datos (CRISP-DM) utilizado por más del 40 % de los analistas de datos. Cerca del
27 % de los analistas de datos utilizan su propia metodología. El resto usa diversas metodologías.
(Fuente: KDnuggets)

Para poder mantener la simpleza en este curso introductorio, utilizaremos el ciclo de vida de análisis de datos
de seis pasos que se muestra en la figura. Muy similar al método científico, el ciclo de vida de análisis de
datos está diseñado para su uso en entornos comerciales. Observe que las flechas apuntan en ambas
direcciones entre algunos pasos. Esto resalta el hecho de que el ciclo de vida puede requerir varias
iteraciones antes de que los responsables de la toma de decisiones se sientan suficientemente confiados para
avanzar.

Haga clic aquí para obtener más información sobre la metodología CRISP-DM.
Funcionalidades de la herramienta de análisis de datos
Incluso antes de que las computadoras se inventaran, la información que se obtenía en los negocios se
revisaba con el objetivo de hacer los procesos de fabricación más eficientes y rentables. Aún con las
cantidades limitadas de datos y el proceso cuidadoso de análisis manual, la tarea valía la pena. Actualmente,
con el crecimiento masivo en los volúmenes de datos, las computadoras y el software son necesarios para
comprender los patrones de negocios y para dar sentido a todos estos datos.

Qué herramientas utiliza depende de las necesidades y las soluciones que ha implementado. Debido a que “la
mejor” es un término relativo, las herramientas que utiliza dependerán de sus objetivos específicos o de las
preguntas que esté intentando responder. La herramienta a utilizar depende del tipo de análisis a realizar.
Algunas herramientas están diseñadas para manejar la manipulación y visualización de grandes conjuntos de
datos. Otras herramientas están diseñadas con capacidades matemáticas complejas de modelado y
simulación para la predicción y la previsión. Independientemente de las herramientas que se utilicen, deben
poder manejar estas cinco funcionalidades:

• Facilidad de uso: una herramienta fácil de aprender y de usar es más eficaz que una herramienta difícil
de usar. Además, una herramienta fácil de usar requiere menos capacitación y soporte.

• Manipulación de datos: el software debe permitir que los usuarios limpien y modifiquen datos para que
sean más fáciles de usar. Esto permite conseguir datos más confiables porque las anomalías pueden
ser detectadas, ajustadas o eliminadas.

• Facilidad para compartir: todo el mundo debe mirar los mismos conjuntos de datos para poder
colaborar eficazmente. Esto ayuda a las personas a interpretar datos de la misma manera.

• Visualización interactiva: para comprender completamente cómo los datos cambian con el tiempo, es
importante visualizar tendencias. Los gráficos básicos no pueden representar completamente cómo se
desarrolla la información de la misma manera en que se desarrolla un mapa de calor o una vista de
movimiento del tiempo.

El rol de Python en el análisis de datos


Existen diversos programas que se utilizan para formatear datos, limpiarlos, analizarlos y visualizarlos.
Muchas empresas y organizaciones están adoptando las herramientas de código abierto para procesar,
agregar y resumir sus datos. El lenguaje de programación Python se ha convertido en una herramienta de uso
general para administrar y manipular datos. Python se utilizará en este curso para realizar todas estas
acciones.

Python se creó en 1991 como un lenguaje fácil de aprender con muchas bibliotecas utilizadas para
manipulación de datos, aprendizaje automático y visualización de datos. Con el uso de estas bibliotecas, los
programadores no tienen que estudiar distintos lenguajes de programación o perder tiempo en aprender a
utilizar muchos programas distintos para realizar las funciones de estas bibliotecas. Python es un lenguaje
flexible que está creciendo y volviéndose cada vez más importante para la ciencia de datos gracias a esta
flexibilidad y facilidad de aprendizaje.

Este curso utilizará Jupyter Notebook, como se muestra en la figura. Jupyter Notebook permite que la
instrucción y la programación formen parte del mismo archivo. Es fácil alterar código en las computadoras
portátiles y experimentar cómo diferentes códigos se pueden utilizar para manipular, analizar y visualizar
datos.

Las siguientes son algunas de las bibliotecas que se utilizarán en este curso:

• NumPy: esta biblioteca agrega soporte para matrices. También tiene muchas funciones matemáticas
incorporadas para usar en los conjuntos de datos.

• Pandas: esta biblioteca agrega soporte para las tablas y las series de tiempo. Pandas se utiliza para
manipular y limpiar datos, entre otras acciones.
• Matplotlib: esta biblioteca agrega soporte para la visualización de datos. Matplotlib es una biblioteca de
trazado de gráficos capaz de crear desde simples diagramas de línea hasta complejos diagramas 3D y
de contorno.

Datos masivos y toma de decisiones


Las tecnologías expansibles que son posibles gracias a la computación distribuida y la virtualización permiten
a los administradores de centros de datos gestionar los tres principales entre los cuatro aspectos de los datos
masivos: volumen, velocidad y variedad. Las metodologías estadísticas incorporadas en aplicaciones les
facilitan la tarea a los analistas de datos para interpretar y utilizar datos masivos a fin de tomar mejores
decisiones. Las herramientas de análisis de datos modernas permiten extraer y transformar los datos sin
procesar para presentar un conjunto mucho más pequeño de datos de calidad. Sin embargo, los datos por sí
mismos no son información significativa; se deben analizar y luego presentar en un formato que se pueda
interpretar. Esto es lo que necesitan los responsables de la toma de decisiones.

Los responsables de la toma de decisiones dependerán cada vez más del análisis de datos para extraer la
información necesaria en el momento correcto, en el lugar correcto, a fin de tomar la decisión correcta. Esta
información puede contar muchas historias según cómo se analicen los datos. Por ejemplo, en política, es
habitual que los analistas de datos extraigan la información relevante para su candidato. En los negocios, un
analista de datos puede descubrir tendencias de mercado que permitan a una empresa moverse un paso
adelante de la competencia.

Datos, información, conocimientos y sabiduría


El modelo de datos, información, conocimientos y sabiduría (DIKW) que se muestra en la figura se utiliza para
ilustrar las transiciones que los datos experimentan hasta obtener suficiente valor para informar decisiones
sabias. Esta estructura proporciona un medio para comunicar el valor de los datos en diferentes etapas de
manifestación.

El siguiente es un ejemplo de cada nivel de la pirámide, desde abajo hacia arriba:

• Datos: se recopilan las lecturas de temperatura de múltiples sensores geolocalizados.

• Información: se extraen perspectivas temporales y de localización. Muestra que las temperaturas


aumentan constantemente a nivel global.

• Conocimientos: se comparan múltiples hipótesis y se vuelve evidente que el aumento parece estar
causado por la actividad humana, incluidas las emisiones de gas invernadero.

• Sabiduría: se trabaja para reducir las emisiones de gas invernadero.

Las decisiones sabias dependen de una base bien establecida de conocimientos. Una frase común que se
utiliza en el análisis de datos es inteligencia comercial. La inteligencia comercial abarca todo el proceso de los
datos a la información, al conocimiento y a la sabiduría.

Análisis descriptivo
Existen varios tipos de análisis que pueden brindar a las empresas, las organizaciones y las personas la
información que puede impulsar la innovación, mejorar la eficiencia y reducir los riesgos. El tipo de análisis de
datos a implementar dependerá del problema que debe resolverse o de las preguntas que necesitan ser
respondidas.

En este curso se abarcarán tres tipos de análisis de datos:

• Descriptivo

• Predictivo
• Prescriptivo

El análisis descriptivo usa principalmente datos observados. Se utiliza para identificar las características
principales de un conjunto de datos. Los datos resumidos del análisis descriptivo proporcionan información
sobre eventos anteriores y tendencias en el rendimiento. El análisis descriptivo depende únicamente de datos
históricos para brindar informes regulares sobre eventos que ya se han producido. Este tipo de análisis
también se usa para generar informes ad hoc que resumen grandes cantidades de datos para responder
preguntas simples como “¿Cuánto…?”, “¿Cuántos…?” o “¿Qué sucedió?”. También puede utilizarse para
examinar a fondo los datos y hacer preguntas más profundas acerca de un problema específico. El análisis
descriptivo resume los datos en información más compacta e útil.

Un ejemplo de un análisis descriptivo es un informe por hora de tráfico.

Análisis predictivos
El análisis predictivo intenta predecir qué podría ocurrir con cierto grado de seguridad, en función de datos y
estadísticas. El análisis predictivo se puede utilizar para deducir datos faltantes y establecer una línea de
tendencia futura según los últimos datos. Usa modelos y predicciones de simulación para sugerir qué podría
ocurrir.

Un ejemplo de un análisis predictivo es un modelo de computadora que utiliza datos masivos para predecir el
clima.

Otra forma de ver el análisis predictivo es producir nuevos datos comenzando con datos existentes. Un
ejemplo común es el precio de una casa. Imagine que desea vender su casa y no sabe qué precio pedir por
ella. Puede tomar los precios de ventas recientes de casas en el barrio y las características de esas casas
(por ejemplo, número de dormitorios, baño, estado, etcétera) como indicación para el precio. Pero su casa
probablemente no es idéntica a cualquiera de las otras casas. Aquí es donde el análisis predictivo puede
ayudarlo. El modelo predictivo para el precio se basa en los datos que tiene de ventas anteriores. “Predice” el
precio adecuado para su casa. Otro ejemplo es la clasificación. Por ejemplo, dado un tweet o una publicación,
clasifique el tweet como positivo o negativo basado en el texto que contiene.

En 2014, Jameson Toole ganó el desafío de datos masivos de MIT: “¿Qué puede aprender de los datos de
alrededor de 2,3 millones de recorridos en taxis?” Según la información almacenada mediante algoritmos de
aprendizaje automático de coincidencia de patrones para conjuntos de datos muy grandes, Toole predijo el
número de pasajeros que viajarían en taxis en 700 intervalos de tiempo de dos horas para 36 ubicaciones en
el área de Boston. El conocimiento de dónde y cuándo se necesitan taxis en la mayoría de los casos se puede
utilizar para reducir la congestión de tráfico y eliminar la necesidad de que los taxis recorran toda la ciudad en
busca de pasajeros.

Haga clic aquí para obtener más información sobre el desafío de datos masivos de MIT.
Análisis prescriptivo
El análisis prescriptivo predice resultados y sugiere medidas de acción que lograrán el mayor beneficio para la
empresa u organización. El análisis prescriptivo recomienda acciones o decisiones según un conjunto
complejo de objetivos, restricciones y opciones. Puede utilizarse para sugerir cómo mitigar o incluso evitar
riesgos. Las implementaciones analíticas prescriptivas pueden requerir un sistema de retroalimentación para
monitorear el resultado de las medidas tomadas.

Un ejemplo de un análisis prescriptivo es un modelo de computadora que utiliza datos masivos para hacer
recomendaciones a fin de adquirir o vender una acción en el mercado de valores.

Los tres tipos de análisis se utilizan en análisis de datos.

Práctica de laboratorio: análisis de datos básicos


En esta práctica de laboratorio, utilizará métodos muy simples para describir datos existentes, llenar valores
de datos faltantes y hacer predicciones simples.

Práctica de laboratorio: Basic Data Analytics.pdf


El rol del tiempo en el análisis de datos
Antes de la era de los datos masivos, el rol del tiempo en el análisis de datos estaba limitado a cuánto tiempo
se tardaba en compilar un conjunto de datos de fuentes dispares, o a cuánto tiempo tomaba ejecutar un
conjunto de datos mediante cálculos. Con los datos masivos, el tiempo se vuelve importante de otras
maneras, porque gran parte del valor de los datos deriva de crear oportunidades de acción inmediata.

Los sensores, los consumidores, los usuarios de redes sociales, los motores, el mercado de valores y lo que
sea que esté conectado a una red genera datos a un ritmo sin precedentes. Estos datos no solo están
creciendo en cantidad; también están cambiando en tiempo real. El análisis de datos también se debe realizar
en tiempo real mientras se recopilan los datos.

Cuando se discute sobre datos masivos y negocios, tomar decisiones basadas en análisis puede mejorar el
rendimiento de la inversión (ROI) para empresas en función del tiempo. Las decisiones impulsadas por datos
pueden incluir las siguientes ventajas:

• Mayor tiempo para la investigación y el desarrollo de productos y servicios

• Mayor eficiencia y fabricación más rápida

• Menor plazo de comercialización

• Marketing y publicidad más eficaces

Del análisis tradicional al análisis de datos masivos


En el pasado, cuando la mayoría de los conjuntos de datos eran relativamente pequeños y manejables, los
analistas podían utilizar las herramientas tradicionales como Excel o un programa estadístico como SPSS
para convertir datos en información útil. Generalmente, el conjunto de datos contenía datos históricos y el
procesamiento de esos datos no siempre dependía del tiempo. Las bases de datos tradicionales debían
diseñarse antes de que se pudieran ingresar los datos. Luego, los datos, si no eran demasiados, se podían
limpiar, filtrar, procesar, resumir y visualizar usando gráficos y tableros.

A medida que los conjuntos de datos crecen en volumen, velocidad y variedad, la complejidad del
almacenamiento, procesamiento y agregado de datos se convierte en un desafío para las herramientas
analíticas tradicionales. Los grandes conjuntos de datos se pueden distribuir y procesar a través de
dispositivos físicos múltiples y geográficamente dispersos o en la nube. Las herramientas de datos masivos,
como Hadoop y Apache Spark, son necesarias para que estos grandes conjuntos de datos permitan el
análisis en tiempo real y el modelado predictivo.
Análisis de nueva generación
Para que las empresas tomen decisiones óptimas, ya no es suficiente recopilar datos del año fiscal anterior y
ejecutar consultas de distintos tipos de análisis descriptivos. Cada vez es más necesario utilizar las
herramientas de análisis predictivos y prescriptivos para mantener la competitividad en un mundo en el que el
cambio se está acelerando. El análisis de próxima generación no tiene que confiar solamente en realizar
análisis estadísticos de un conjunto de datos completo, como se hacía con las herramientas tradicionales de
análisis. Debido a la gran cantidad de atributos y puntos de datos que obtiene cada registro o “cosa”, se
pueden obtener nuevos comportamientos y perspectivas a partir de los análisis avanzados que mejoran la
precisión de la predicción y la prescripción.

Por ejemplo, las siguientes preguntas pueden contestarse para realizar ajustes en tiempo real a las
decisiones:

• Probablemente, ¿Qué acciones tendrán la ganancia diaria más alta en función del comercio en la última
hora?

• ¿Cuál es la mejor forma de dirigir los camiones de reparto esta tarde en función de las ventas de esta
mañana, el inventario existente y los informes de tráfico actuales?

• ¿Qué mantenimiento se requiere para este avión según los datos de rendimiento generados durante el vuelo
más reciente?

El manejo de estos datos generados automáticamente junto con el alcance geográfico de sistemas a enorme
escala, la cantidad de dispositivos que generan datos, la diversidad de fabricantes de dispositivos, la
frecuencia de generación de datos y el volumen total de datos requiere nuevo software de infraestructura.
Este software de infraestructura debe poder distribuir la computación y el almacenamiento de datos en el
perímetro, la niebla y la nube, donde sea más útil para las necesidades del negocio.
El método científico
El proceso que un analista de datos utiliza para llegar a conclusiones es muy similar al método científico que
se muestra en la figura. Un analista de datos podría hacer la siguiente pregunta: “¿Qué distrito en San
Francisco tuvo el mayor número de denuncias de delitos entre el 1 de junio y el 1 de agosto de 2014?” Un
científico tal vez desee solucionar el siguiente problema: “¿Por qué la sangre de un ratón joven revierte los
efectos del envejecimiento si se inyecta a un ratón más viejo?” Sin importar el método exacto o los pasos
seguidos, los analistas y los científicos de datos habrán completado un proceso que incluyó hacer preguntas,
recopilar datos, analizar los datos y llegar a conclusiones o presentar los resultados.
Valor comercial
El análisis de datos permite que las empresas comprendan mejor el impacto de sus productos y servicios,
ajusten sus métodos y objetivos, y proporcionen a sus clientes mejores productos más rápido. La capacidad
de obtener nuevas perspectivas a partir de sus datos aporta valor comercial.

Michel Porter de Harvard describe cómo la TI, por tercera vez en 50 años, ha dado nueva forma a los
negocios:

“La primera ola de TI, durante las décadas de 1960 y 1970, logró que actividades individuales, como pagar
estipendios de empleados o respaldar el diseño y la fabricación de productos, se volvieran automáticas. La
segunda ola de transformación comercial fue el surgimiento de Internet, en las décadas de 1980 y 1990, que
habilitó la coordinación e integración de proveedores externos, canales de distribución y clientes a través de
grandes espacios.

Con IdC ahora estamos en la tercera etapa; la TI se está convirtiendo en una parte integral de los productos
en sí. Los sensores, los procesadores, el software y la conectividad integrados en productos (en efecto, hay
computadoras dentro de productos), junto con una nube donde se almacenan y analizan los datos del
producto y se ejecutan algunas aplicaciones, impulsan mejoras radicales en la funcionalidad y el rendimiento
de los productos. Las cantidades masivas de nuevos datos de uso de productos posibilitan muchas de estas
mejoras”.

Ejemplo del ciclo de vida de análisis de datos


Como en el método científico, el ciclo de vida de análisis de datos comienza con una pregunta. Por ejemplo,
se podría hacer la siguiente pregunta: “¿Cuál fue el delito más frecuente en San Francisco, California el 4 de
julio de 2014?” Cada paso en el ciclo de vida del análisis de datos incluye muchas tareas que deben realizarse
antes de continuar con el siguiente paso. Solo una tarea de ejemplo se muestra en la figura.

La siguiente es una descripción breve de cada paso:

• Recopilación de datos: el proceso de ubicar datos y determinar si hay suficientes para completar el
análisis. En este caso, buscaríamos un conjunto de datos abierto de las estadísticas delictivas para San
Francisco durante julio de 2014.

• Preparación de datos: este paso puede implicar muchas tareas a fin de transformar los datos a un
formato adecuado para la herramienta que se utilizará. El conjunto de datos de delitos puede estar
preparado para el análisis. Sin embargo, generalmente deben hacerse algunos ajustes para ayudar a
responder la pregunta.

• Elección de un modelo: este paso incluye elegir una técnica de análisis que dé la mejor respuesta a la
pregunta con los datos disponibles. Una vez que se elija un modelo, se selecciona una herramienta (o
varias herramientas) para el análisis de datos. En este capítulo, aprenderá a usar las bibliotecas de
Python y Python para preparar, analizar y presentar datos.

• Análisis de datos: es el proceso que consiste en probar el modelo contra los datos y determinar si el
modelo y los datos analizados son confiables. ¿Pudo responder la pregunta con la herramienta
seleccionada?

• Presentación de los resultados: este generalmente es el último paso para los analistas de datos. Es el
proceso que consiste en comunicar los resultados a los responsables de la toma de decisiones. A
veces, se le pide al analista de datos que recomiende acciones. Para datos de delitos del 4 de julio, se
puede utilizar un gráfico de barras, un gráfico circular o alguna otra representación para comunicar qué
delito resultó más frecuente. Un analista podría sugerir el aumento de presencia policial en ciertas áreas
para evitar delitos en un feriado específico como el 4 de julio.

• Toma de decisiones: es el último paso en el ciclo de vida del análisis de datos. Los líderes de
organizaciones incorporan el nuevo conocimiento como parte de la estrategia general. El proceso
comienza nuevamente con la recopilación de datos.
Práctica de laboratorio: delitos en San Francisco
En esta práctica de laboratorio, descargará e instalará algunos paquetes de Python requeridos para analizar
un conjunto de datos que contiene información de delitos en San Francisco. Luego, utilizará Python y Jupyter
Notebook para preparar estos datos a fin de analizarlos, representarlos gráficamente y comunicar los
resultados.

Utilice el iniciador PL-App para conectarse a su Raspberry Pi.

Seleccione el enlace para la carpeta de los materiales del curso y luego el enlace para la carpeta de datos
masivos y análisis.

Seleccione la práctica de laboratorio 2.2.4.5: delitos en San Francisco

Para ver una vista previa de esta práctica de laboratorio, haga clic aquí.

Archivos
Hay muchas fuentes diferentes de datos. Una gran cantidad de datos históricos se puede encontrar en
archivos como documentos de MS Word, correos electrónicos, hojas de cálculo, presentaciones de MS
PowerPoint y archivos en formato PDF, HTML y de texto simple. Estos son solo algunos de los tipos de
archivos que contienen datos.

Los datos masivos también se pueden encontrar en archivos públicos y privados. Los archivos de papel
escaneados que contienen datos históricos provenientes de diversas fuentes ciertamente constituyen datos
masivos. Por ejemplo, hay una enorme cantidad de datos en formularios y facturas de seguros médicos,
declaraciones comerciales e interacciones con el cliente y documentos impositivos. Esta lista tiene solo una
pequeña parte de los datos archivados.

Los datos sin procesar internos de organizaciones se crean mediante sistemas de administración de
relaciones con los clientes, sistemas de administración de aprendizaje, sistemas y registros de recursos
humanos, intranets y otros procesos.

Diferentes aplicaciones crean archivos en diferentes formatos que no necesariamente son compatibles entre
sí. Por este motivo, un formato de archivo universal es necesario. Los archivos de valores separados por
coma (CSV) son un tipo de archivo de texto simple descrito en RFC 4180. Los archivos CSV usan comas para
separar columnas en una tabla de datos y el carácter de nueva línea para separar filas. Cada fila es un
registro. A pesar de ser comúnmente utilizados para importar y exportar en bases de datos y hojas de cálculo
tradicionales, no existe un estándar específico. JSON y XML también son tipos de archivo de texto simple que
utilizan un modo estándar para representar registros de datos. Estos formatos de archivo son compatibles con
una amplia gama de aplicaciones. La conversión de datos en un formato común es una manera valiosa de
combinar datos de diferentes orígenes.

Internet
Internet es un buen lugar para buscar datos masivos. Allí podrá encontrar imágenes, videos y audio. Los foros
de web pública también crean datos. Las redes sociales como YouTube, Facebook, mensajería instantánea,
RSS y Twitter suman más datos a los que se encuentran en Internet. La mayoría de estos datos no son
estructurados, lo cual significa que no son fáciles de categorizar en una base de datos sin algún tipo de
procesamiento.

Los sitios web se crean para proporcionar datos a los seres humanos, no a las máquinas. Las herramientas
que «raspan la red» (web scraping) extraen datos de páginas HTML automáticamente. Esto es similar al
rastreador o araña web de un motor de búsqueda. Explora la web para extraer datos y crear bases de datos
para responder a las consultas de búsqueda. El software de web scraping puede utilizar Protocolo de
transferencia de hipertexto o un explorador web para acceder a la World Wide Web. Por lo general, el proceso
de web scraping es un proceso automatizado que utiliza un bot o un rastreador web. Los datos específicos se
recopilan y se copian de la web a una base de datos o una hoja de cálculo. Los datos pueden luego analizarse
fácilmente.

Para implementar el web scraping, el proceso primero debe descargar la página web y luego extraer los datos
deseados. Las herramientas de web scraping generalmente sacan algo de una página para hacer uso de ello
con otro propósito en otro lugar. Quizá se usa la herramienta de web scraping para encontrar y copiar
nombres, números de teléfono y direcciones. Esto se conoce como contact scraping (raspado de contactos).

Además del proceso de contact scraping, el proceso de web scraping se usa para otros tipos de minería de
datos como listados de bienes raíces, datos climáticos, investigación y comparaciones de precios. Muchos
proveedores de servicios web importantes como Facebook proporcionan interfaces estandarizadas para
recopilar los datos automáticamente mediante las API. El enfoque más común es utilizar las interfaces de
programa de aplicaciones (API) RESTful. Las API RESTFul usan HTTP como el protocolo de comunicación y
estructura de JSON para codificar los datos. Las páginas web de Internet como Google y Twitter recopilan
grandes cantidades de datos estáticos y de series de tiempo. El conocimiento de API para estos sitios permite
que los analistas y los ingenieros de datos tengan acceso a las grandes cantidades de datos que se generan
constantemente en Internet.

Sensores
El Internet de las cosas (IdC) utiliza sensores para crear datos. Estos datos pueden provenir de sensores de
temperatura y humedad que se utilizan para agricultura. Los sensores ahora están en todo, desde los
teléfonos inteligentes hasta los automóviles y desde los motores de reacción hasta los electrodomésticos.
Estos, junto con muchos otros tipos de sensores (la lista de elementos con sensores se vuelve mayor cada
año), contribuyen al crecimiento exponencial de los datos masivos. Haga clic aquí para obtener más
información sobre las fuentes de datos masivos.

Necesitamos nuevas herramientas, nuevas tecnologías y una nueva manera de abordar cómo guardamos,
procesamos y computamos, para que los datos sin procesar puedan convertirse en información significativa.

Bases de datos
Las bases de datos contienen los datos que se han extraído, transformado y cargado (ETL). El ETL es el
proceso de “limpieza” de datos sin procesar para poder ubicarlos en una base de datos. A menudo, los datos
se almacenan en varias bases de datos y se deben combinar en un solo conjunto de datos para el análisis.

La mayoría de las bases de datos contienen datos que son propiedad de una organización y son privados.
Como se indica en el capítulo anterior, existen muchas bases de datos públicas que puede buscar cualquier
persona. Por ejemplo, Internet tiene varias bases de datos públicas con registros ancestrales gratuitos o a
bajo costo.

Tipos de datos y formatos


Una vez que se haya accedido a los datos desde diferentes orígenes, se requieren preparación para el
análisis. De hecho, los expertos en el campo de ciencia de datos estiman que la preparación de datos puede
tomar entre el 50 y el 80 % del tiempo necesario para completar un análisis.

Dado que los datos que formarán el conjunto de datos que se analizará pueden provenir de fuentes muy
diferentes, no necesariamente son compatibles cuando se combinan. Otro problema es que los datos que
pueden presentarse como texto deberán convertirse en un tipo numérico si se van a utilizar para el análisis
estadístico. Los tipos de datos son importantes cuando los idiomas de programación, como Python o R, se
utilizan para manejar datos. Algunos tipos de datos diferentes y sus descripciones se muestran en la Figura 1.

Además de tipos de datos diferentes, un único tipo de datos se puede formatear de distinta manera según su
origen. Por ejemplo, distintos idiomas pueden utilizar varios símbolos para representar la misma palabra. El
inglés británico puede utilizar una ortografía diferente de la del inglés estadounidense. Un análisis de texto en
inglés para menciones de modos de viaje debería buscar “airplane” y “aeroplane” (distintas maneras de
escribir avión) para ser preciso.

Los formatos de tiempo y datos presentan desafíos. Aunque las fechas y horas son muy específicas, se
representan en una amplia variedad de formatos. La fecha y la hora son fundamentales para las
observaciones sobre análisis de series de tiempo. Por lo tanto, deben pasarse a un formato estándar para que
su análisis tenga valor. Por ejemplo, las fechas se pueden formatear con el año primero y luego el día y el
mes en algunos países, mientras que otros países pueden presentar datos con el mes primero seguido del día
y el año. Del mismo modo, la hora puede representarse en el formato de 12 horas con la designación de a. m.
y p. m. o puede representarse en el formato de 24 horas. Diferentes formatos de hora y fecha se muestran en
la Figura 2. .
Estructuras de datos
La ciencia de datos es un campo en rápida evolución. Como en muchas disciplinas nuevas, el lenguaje
utilizado es variado y no está ampliamente estandarizado. Esto significa que una misma cosa puede tener
varios nombres según el contexto y los antecedentes del orador. Esto sucede también con las estructuras de
datos.

Al hablar sobre datos, podemos pensar en una jerarquía de estructuras. Por ejemplo, un almacén de datos o
lago de datos es un lugar que almacena varias bases de datos diferentes de manera tal que se pueda acceder
a las bases de datos mediante un mismo sistema. Una base de datos es una colección de tablas de datos que
se relacionan entre sí de una o más maneras. Las tablas de datos contienen campos, filas y valores que son
similares a las columnas, las filas y las celdas en una hoja de cálculo. Cada tabla de datos se puede
considerar como un archivo y cada base de datos como una colección de archivos. En la Figura 1 se muestra
la relación entre estas estructuras y la terminología relacionada. En este curso, utilizaremos campos, filas y
valores como nuestro vocabulario estándar para la estructura de las tablas de datos.

Python utiliza otras estructuras de datos u objetos. Por ejemplo, Python usa cadenas, listas, diccionarios,
tuplas y conjuntos como sus estructuras de datos principales. Cada estructura de datos tiene su propio grupo
de funciones o métodos que se pueden utilizar para trabajar con el objeto. En la Figura 2 se muestran las
estructuras de datos comunes de Python. Además, Pandas, una biblioteca popular de análisis de datos de
Python, utiliza otras estructuras de datos, como series y tramas de datos.

Extracción, transformación y carga de datos


Como se mencionó anteriormente en este tema, muchos de los datos que se colocarán en una base de datos
para luego realizar preguntas provienen de diversas fuentes y vienen en una amplia variedad de formatos. La
extracción, transformación y carga (ETL) es un proceso para recopilar datos de esta variedad de fuentes,
transformarlos y luego cargarlos en una base de datos. Los datos de una empresa pueden encontrarse en
documentos de Word, hojas de cálculo, texto simple, presentaciones de PowerPoint, correos electrónicos y
archivos en formato PDF. Estos datos se pueden guardar en diversos servidores que utilizan diferentes
formatos.

Hay tres pasos para el proceso ETL:

Paso 1: Extracción: los datos se recopilan de varias fuentes.

Paso 2: Transformación: después de haberlos recopilado, los datos deben transformarse. La transformación
de datos puede incluir el agregado, la clasificación, la limpieza y la combinación de datos.

Paso 3: Carga: los datos transformados se cargan en la base de datos para realizar preguntas.

Las descripciones anteriores de los tres pasos del proceso de ETL están simplificadas. En realidad, hay
bastante trabajo para hacer antes de que los datos puedan cargarse en una base de datos y usarse para
realizar preguntas.

Extracción de datos
El paso de extracción recopila los datos deseados desde las fuentes y permite procesarlos. La extracción
convierte los datos en un único formato que esté listo para transformarse. Por ejemplo, combinar datos de un
servidor NOSQL y una base de datos de Oracle le dará datos en diferentes formatos. Estos datos deben
convertirse a un único formato. Además, los datos se deben revisar para asegurarse de tener el tipo deseado
de información (valor). Esto se hace mediante reglas de validación. Si los datos no cumplen con las reglas de
validación, pueden ser rechazados. A veces, estos datos rechazados se rectifican y luego se validan.

Idealmente, durante la extracción, todos los datos necesarios de fuentes se extraen mediante recursos
informáticos mínimos para no afectar el rendimiento de la red o la computadora.
Transformación de datos
El paso de transformación utiliza reglas para transformar los datos de origen al tipo de datos necesario para la
base de datos de destino. Esto incluye convertir los datos medidos a la misma dimensión (p. ej., de imperial a
métrico). El paso de transformación también requiere otras tareas. Algunas de estas consisten en combinar
datos de varios orígenes, agregar, clasificar, determinar nuevos valores que se calculan de datos agregados y
luego aplicar reglas de validación (Figura 1).

Si bien puede parecer que estos datos están completamente listos para cargar, todavía suele ser necesario
realizar más trabajo para prepararlos. Los datos (que posiblemente incluyen algunos datos rechazados)
pueden pasar por otra parte del paso de transformación, conocida como “limpieza” o “raspaje” de datos. La
parte de limpieza del paso de transformación garantiza aún más la uniformidad de los datos de origen.
Algunos ejemplos de limpieza de datos se muestran en la Figura 2.

Carga de datos
El paso de carga es cuando los datos transformados se cargan en la base de datos de destino. Esta puede
ser un archivo plano simple o una base de datos relacional. El proceso real de carga varía ampliamente.
Depende del tipo de datos de origen, el tipo de base de datos de destino y el tipo de preguntas que deben
hacerse. Algunas organizaciones pueden sobrescribir datos existentes con datos acumulativos. Los nuevos
datos transformados pueden cargarse por hora, diariamente, semanalmente o mensualmente. Puede que
suceda únicamente cuando hubo un cambio específico en los datos transformados.

Durante el paso de carga, se aplican las reglas que se han definido en el esquema de base de datos. Algunas
de estas reglas buscan detectar la singularidad y la uniformidad de los datos, que los campos obligatorios
posean los valores requeridos, etc. Estas reglas permiten asegurar que la carga y las preguntas que se
realicen a los datos tengan éxito.

Práctica de laboratorio: preparación de datos


En esta práctica de laboratorio, explorará cómo utilizar la función de búsqueda de información. También
explorará cómo dividir y concatenar columnas de datos.

Práctica de laboratorio: preparación de datos

Regulaciones actuales y futuras


Una breve búsqueda en Internet probablemente revelará que el uso ético de datos sigue provocando
inquietudes en muchas personas. Sin embargo, la respuesta de los gobiernos sobre las normas de protección
de datos varía de un país a otro, como se muestra en la figura. La Unión Europea (EU) ha decretado las
normas más estrictas, definiendo los datos personales como “cualquier dato que se pueda atribuir a una
persona identificable ya sea directa o indirectamente”. Para obtener más información, haga clic aquí para leer
el informe global de tecnología de la información del Foro Económico Mundial de 2014.

La regulación de protección de datos generales (GDPR) fue aprobada por el Parlamento de la UE el 14 de


abril de 2016. Entra en efecto el 25 de mayo de 2018, momento en que las organizaciones en incumplimiento
se enfrentarán a multas severas. La GDPR de la UE se diseñó para que las leyes de privacidad de datos sean
coherentes en toda Europa, para proteger la privacidad de los datos de todos los ciudadanos de la UE y para
cambiar la forma en que las organizaciones de la región abordan la privacidad de los datos. Haga
clic aquí para obtener más información sobre la GDPR.

El 6 de octubre de 2015, el Tribunal Europeo de Justicia creó un conjunto de requisitos de privacidad de datos
que se incluyen en el Escudo de Privacidad UE-EE. UU. El Escudo de Privacidad UE-EE. UU. reemplaza el
marco Safe Harbour anterior. Este nuevo arreglo requiere que las empresas en EE. UU. protejan los datos
personales de los europeos. Requiere un monitoreo y una ejecución más sólidos por parte del Departamento
de Comercio de los EE. UU. y la Comisión de Comercio Federal (FTC), además de la cooperación creciente
con las autoridades europeas de protección de datos. Haga clic aquí para obtener más información sobre el
Escudo de Privacidad UE-EE. UU.

Haga clic aquí para leer más acerca de la privacidad de datos de los EE. UU.
Escenarios de ética de datos masivos
Piense en los siguientes casos y cómo se pueden usar sus propios datos personales:

Escenario 1: está inconsciente después de un accidente y es llevado al hospital para obtener tratamiento.
Una gran cantidad de datos se genera durante las próximas horas mientras los profesionales médicos
trabajan para salvar su vida. ¿Es usted el dueño estos datos aunque en el futuro puedan usarse para salvar
otras vidas? Haga clic aquí para leer sobre casos de estudio reales de protección de datos de información
médica. Este sitio también contiene varios tipos de casos de estudio de protección de datos.

Escenario 2: una ciudad instala cámaras de vigilancia para reducir el crimen. Más adelante, la ciudad realiza
un análisis de datos masivos en datos de video en toda la ciudad durante el último año y descubre que los
patrones de tráfico humano en su barrio demuestran que el uso de la acera es menor que en otros barrios. La
ciudad utiliza este análisis de datos para justificar la ampliación de una calle, lo que produce un considerable
aumento del ruido de tráfico en su hogar. ¿La reducción total de delitos en la ciudad sobrepasa su derecho
como dueño de la casa?

Escenario 3: un comerciante en línea usa un modelo predictivo de datos masivos para hacerle sugerencias
sobre compras futuras según sus datos de compra anteriores. Usted ahorra montones de horas durante
algunos años, ya que dedica menos tiempo a consultar el precio y la disponibilidad de productos. ¿Qué
sucede si el comerciante vende sus hábitos de compra a otro proveedor? ¿Debería usted ser responsable de
leer y comprender el extenso acuerdo de licencia de usuario final (EULA) que una corporación que revende su
información usa como marco legal?

Estos escenarios ilustran los problemas éticos complejos que enfrentan actualmente las empresas, los
gobiernos y las personas. La ética continuará siendo una preocupación principal a medida que la cantidad de
datos que generamos crece.

¿Qué sucede con las personas que trabajan con datos masivos diariamente, es decir, los científicos de datos?
¿Qué piensan de los asuntos éticos en torno a su uso? En agosto de 2013, Revolution Analytics encuestó a
865 científicos de datos.

Estos son algunos resultados de la encuesta:

• El 88 % de los encuestados afirmaron que los consumidores deben preocuparse por problemas de
privacidad.

• El 80 % de los encuestados acordaron que debe haber un marco ético para recopilar y utilizar datos.

• Más de la mitad de los encuestados opinan que la ética ya ocupa una gran parte de su investigación.

Haga clic aquí para leer más sobre la encuesta de Revolution Analytics.
Seguridad de los datos
La confidencialidad, la integridad y la disponibilidad, conocidas como la tríada CIA (Figura 1), es una guía para
la seguridad de datos de una organización. La confidencialidad garantiza la privacidad de los datos mediante
la restricción del acceso con el cifrado de la autenticación. La integridad garantiza que la información sea
precisa y confiable. La disponibilidad garantiza que la información esté disponible a las personas autorizadas.

Confidencialidad

Otro término para la confidencialidad sería privacidad. Las políticas de la empresa deben restringir el acceso a
la información al personal autorizado y garantizar que solo las personas autorizadas verán estos datos. Los
datos se pueden dividir en secciones según el nivel de seguridad o sensibilidad de la información. Por
ejemplo, un desarrollador Java no debe tener acceso a la información personal de todos los empleados.
Además, los empleados deben recibir capacitación para comprender las mejores prácticas para resguardar
datos confidenciales, para protegerse y proteger a la empresa contra ataques. Entre los métodos para
garantizar la confidencialidad se incluyen el cifrado de datos, nombre de usuario y contraseña, la autenticación
de dos pasos y la minimización de la exposición de la información confidencial.

Integridad

La integridad es precisión, consistencia y confiabilidad de los datos durante su ciclo de vida. Los datos deben
permanecer inalterados durante la transferencia y no deben ser modificados por entidades no autorizadas.
Los permisos de archivos y el control de acceso de usuarios pueden impedir el acceso no autorizado. El
control de versión se puede utilizar para evitar cambios accidentales por parte de usuarios autorizados. Las
copias de respaldo deben estar disponibles para restaurar los datos dañados, y la suma de comprobación del
hash se puede utilizar para verificar la integridad de los datos durante la transferencia.

La suma de comprobación se utiliza para verificar la integridad de los archivos, o cadenas de caracteres,
luego de que se hayan transferido desde un dispositivo a otro a través de su red local o de Internet. Las
sumas de comprobación se calculan con funciones de hash. Algunas de las funciones de hash comunes son
MD5, SHA-1, SHA-256 y SHA-512. Una función de hash utiliza un algoritmo matemático para transformar los
datos en un valor de longitud fija que representa los datos, como se ilustra en la Figura 2. El valor de hash
solo está allí para la comparación. Desde el valor de hash, los datos originales no se pueden recuperar
directamente. Por ejemplo, si olvidó su contraseña, su contraseña no se puede recuperar desde el valor de
hash. La contraseña se debe restablecer.

Luego de descargar un archivo, puede verificar su integridad comparando los valores de hash del origen con
el que usted generó con cualquier calculadora de hash. Al comparar los valores de hash, puede asegurarse
de que el archivo no se haya alterado ni dañado durante la transferencia.

Disponibilidad

Mantener los equipos, realizar reparaciones de hardware, mantener los sistemas operativos y el software
actualizados, así como crear respaldos, garantiza la disponibilidad de la red y los datos a los usuarios
autorizados. Deben existir planes para recuperarse rápidamente ante desastres naturales o provocados por el
hombre. Equipos o software de seguridad, como los firewalls, lo protegen contra el tiempo de inactividad
debido a los ataques, como la denegación de servicio (DoS). La denegación de servicio se produce cuando un
ataque intenta agotar los recursos de manera tal que los servicios no estén disponibles para los usuarios.

Nota: no siempre es fácil distinguir muchos de los términos que lee sobre el IdC. En la Figura 3 se explica la
diferencia entre la protección de datos, la privacidad de datos, la seguridad de datos y la confidencialidad de
datos.
Seguridad de datos en la nube
Actualmente, muchas personas dependen de los servicios en la nube para almacenar sus datos. Todas las
credenciales de cuentas de usuario, los datos financieros, las fotos personales y los contactos se almacenan
en la nube. La seguridad de datos ahora va más allá del usuario y es responsabilidad de los proveedores de
servicios en la nube. Es importante que el usuario se asegure de que siguen procedimientos de seguridad
mediante el uso de la política de contraseñas seguras y los métodos de autenticación adecuados. El
proveedor de servicios en la nube también debe implementar controles de seguridad en la nube. Existen
cuatro categorías generales de controles de seguridad en la nube:

• Impedimento: este tipo de control se utiliza para reducir el alcance de un ataque. A menudo, se
advierte al atacante que el ataque tendrá consecuencias calamitosas si se lleva a cabo.

• Preventivo: software y hardware actualizados son ejemplos de controles preventivos, diseñados para
reducir vulnerabilidades y contar con menos probabilidades de que se produzca un ataque.

• Detectivo: un control de seguridad activo, como la detección de intrusiones, está diseñado para
descubrir un ataque y reaccionar informando al control de seguridad siguiente, el control correctivo.

• Correctivo: este control está diseñado para reducir el impacto de un ataque exitoso.

Un ataque a Yahoo en 2013 comprometió más de mil millones de cuentas de usuario. Esta es una de las más
grandes violaciones de seguridad descubiertas. La información robada incluía datos de usuarios y cuentas, no
solo las contraseñas sino también las preguntas de seguridad que Yahoo utiliza para restablecerlas. ¡Lo más
preocupante sobre este ataque es que no se divulgó hasta fines del 2016! Otro ataque a Yahoo ocurrió en
2014, en el cual se robaron más de 500 millones de credenciales de cuentas.

Anthem, la segunda mayor aseguradora de salud en Estados Unidos y la empresa de salud administrada con
fines de lucro más grande de Blue Cross and Blue Shield Association, fue hackeada en 2015. La información
confidencial robada incluía las identificaciones de miembros, los números de seguros sociales y la información
de empleo de más de 80 millones de personas.

Haga clic aquí para obtener más información sobre muchas otras filtraciones de datos.

Cisco Cloudlock

Cisco Cloudlock es una plataforma de ciberseguridad de la nube. La mayoría de los productos de seguridad
de la nube se centran en la protección de varias aplicaciones de software como servicio (SaaS). La plataforma
de Cisco Cloudlock extiende la seguridad para proteger las aplicaciones en la infraestructura como servicio y
la plataforma como servicio (IaaS y PaaS). Cloudlock administra dinámicamente la seguridad a través de toda
la arquitectura de ciberseguridad de una organización, incluidos la identidad como servicio (IDaaS), la
administración de incidentes y eventos de seguridad (SIEM), los firewalls de próxima generación (NGFW), las
puertas de enlace web de software (SGW), la simulación de amenazas y más.

Como plataforma, Cisco Cloudlock adopta un enfoque programático para la seguridad de la nube. Además de
aprovechar la API de servicios en la nube, Cisco Cloudlock es en sí mismo un conjunto de microservicios
RESTful basados en API. Con este enfoque, Cisco Cloudlock aplica dinámicamente los servicios de seguridad
individuales (como DLP Cloud) a las aplicaciones del cliente en cualquier plataforma, ya sea que se ejecuten
en servicios conocidos como servicios web de Amazon (AWS) o en un servidor en las instalaciones.

Haga clic en Reproducir en la figura para obtener más información sobre Cisco Cloudlock.

Práctica de laboratorio: ética de datos masivos


En esta práctica de laboratorio, utilizará foros de debate para comenzar o contribuir a un tema basado en la
ética de uso de datos masivos.

Práctica de laboratorio: Big Data Ethics.pdf


Formateo de datos de hora y fecha
En esta última sección, se preparará para completar tres prácticas de laboratorio. Estas son las primeros en
una serie de prácticas de laboratorio que se extenderán en el capítulo 5 de este curso. Estas prácticas de
laboratorio se conocen como los laboratorios de medidor de Internet. En la primera práctica de laboratorio,
utilizará una característica llamada Speedtest, que da las velocidades de carga y de descarga de su conexión
a Internet. Después de adquirir las mediciones, guardará los datos recopilados. También deberá importar un
conjunto de datos más grande anteriormente recopilado de velocidad de Internet. Esto sirve para aprender a
manipular datos y poder presentarlos de manera concisa.

La segunda práctica de laboratorio no es una práctica de medidor de Internet. Es una práctica en la cual
trabajará con Python y SQLite para prepararse para la tercera práctica de laboratorio.

La tercera práctica de laboratorio es la próxima práctica de medidor de Internet. Utilizará una base de datos
relacional, SQLite, y realizará algunas preguntas SQL básicas con Python. También calculará el promedio y
diagramará los datos y los promedios calculados de los datos de velocidad de Internet. Combinará las tablas
que contienen información de velocidad promedio e información geográfica en una única base de datos.

Como se mencionó anteriormente, los datos de IdC que se han combinado de muchas fuentes se pueden
formatear de maneras que no son compatibles. Por ejemplo, hay muchas maneras en que pueden
presentarse los datos de hora y fecha. Sin embargo, a los fines de análisis, es mejor que las fechas y horas
estén formateadas consistentemente. Una manera de abordar este problema es simplemente utilizar datos
que tengan un único formato de fecha y hora. Sin embargo, esto haría que un analista descartara datos
relevantes pero formateados de manera incompatible, lo cual generaría un sesgo y llevaría a conclusiones
erróneas.

Uno de los motivos por los cuales Python es tan popular entre los analistas de datos es que las
funcionalidades centrales del lenguaje se han ampliado con muchas bibliotecas o módulos diferentes. Un
módulo de Python, que se usará en la próxima práctica de laboratorio, se usa para manejar datos de hora y
fecha. Este módulo se denomina datetime. Haga clic aquí para leer la documentación detallada sobre el
módulo datetime.

El módulo datetime se incluye en la mayoría de las distribuciones de Python como biblioteca estándar; sin
embargo, debe importarlo para poder usarlo en su código. Las funciones del módulo datetime están
representadas por el paradigma de la programación orientada a objetos. El módulo contiene las clases de
fecha, hora y datetime. Cada clase tiene sus propios métodos que pueden ser llamados a la acción con
instancias de las clases llamadas objetos. En la Figura 1 se muestran definiciones de algunos conceptos
básicos orientados a objetos. Una introducción detallada a la programación orientada a objetos se encuentra
más allá del alcance de este curso. Haga clic aquí para una lección introductoria a las clases y objetos de
Python. En la Figura 2 se muestra el uso de algunos de los objetos y métodos básicos incluidos en el
módulo datetime
. En la primera práctica de laboratorio de medidor de Internet en este capítulo, cambiará datos de fecha y hora
de un formato a otro. Esto se realiza mediante el método strftime (cadena desde la hora) disponible para los
objetos datetime. El método strftime utiliza una serie de códigos de formato, o directivas, como parámetros. La
lista de códigos de formato se muestra en la Figura 3.

En la Figura 4 se muestra el código de Python que utiliza el módulo datetime para representar la fecha y la
hora en un formato de uso general en los Estados Unidos. Este código se puede recrear en una computadora
portátil nueva de Python para la práctica y la exploración.
Lectura y escritura de archivos
Además del módulo datetime, la práctica de laboratorio utiliza un módulo de valores separados por comas
llamado csv. El módulo csv también es un módulo central que forma parte de la biblioteca estándar de
Python. El módulo csv permite leer y escribir en archivos .csv. Python también tiene métodos básicos para
crear, abrir y cerrar archivos externos. Más adelante en el curso aprenderá cómo modificar datos ampliamente
manipulándolos dentro de tablas de datos. Estas tablas de datos existirán solo en la RAM hasta que se
guarden los archivos. Aprenderá varias maneras de hacerlo.

En esta práctica de laboratorio, utilizará los métodos de Python open() y close(). El método open() se utiliza
para crear un nuevo archivo o para abrir un archivo existente que contiene los datos que se guardarán. La
función close() elimina datos no escritos de los búferes y finaliza la funcionalidad de escritura del archivo para
el archivo especificado. Es importante cerrar explícitamente todos los archivos sobre los que no se desea
escribir. Esto conserva los recursos del sistema y protege el archivo de la corrupción. En la Figura 1 se
muestra la sintaxis para la función open() y se explican algunos valores importantes que se pueden
suministrar al método. También se muestra el uso del método close().

Nota: abrir un archivo inexistente en modo “a” creará ese archivo de la misma manera que el modo “w”. La
única diferencia es dónde estará el puntero. Señalará al principio del archivo o al final del archivo.

En la Figura 2 se explican algunos valores importantes que pueden suministrarse al método open(). Estos
parámetros se pueden combinar o se puede agregar el símbolo “+” para especificar que se utilizarán los
modos de lectura y escritura o de lectura y anexo (append).

Los datos pueden escribirse en el archivo utilizando el método de archivo write(). Si el archivo se abrió en
modo “a”, los datos se agregarán al final del archivo. Puede que deba agregar caracteres de escape (a veces
denominados secuencia de escape) al archivo para el formato. Por ejemplo, los caracteres de escape \n o \r\n
agregarán saltos de línea al final de una línea de datos escrita. El método de archivo read() lee los contenidos
de un objeto de archivo abierto. Esto se muestra en la Figura 3. En la figura, en la celda de entrada uno, se
crea un nuevo archivo. Luego, se cierra. En la celda dos, el archivo se abre nuevamente en modo anexo. Tres
líneas de texto se escriben en el archivo. En la celda tres, el archivo se cierra para asegurarse de que el texto
fue escrito en el archivo. El archivo se abre nuevamente en modo lectura, y el método read() se utiliza para
ver el archivo. El archivo también se muestra a medida que aparece en un editor de texto, que formatea el
texto utilizando los caracteres de escape para crear tres líneas separadas.

Interacción con aplicaciones externas


Python permite la interacción con aplicaciones externas y con el sistema operativo. En la primera práctica de
laboratorio, instalará y ejecutará una aplicación externa y recopilará datos para el análisis.

En Jupyter Notebook, el símbolo “!” permite la interacción directa con el sistema operativo. Por ejemplo, en la
Figura 1 se muestran dos comandos de Linux que se han ejecutado en Jupyter Notebook. Observe que los
comandos comienzan con el símbolo ”!”.

En la Figura 2 se muestra el uso del módulo subprocess para comunicarse con una aplicación externa y
guardar el resultado de un comando enviado a esa aplicación en un objeto de Python. Primero, se crea un
objeto cadena para conservar el comando al que se enviará el programa. En este caso, nos proponemos
enviar un comando a la utilidad ping que está disponible en el shell de Linux. Luego, enviamos ese comando
(después de dividirlo en palabras individuales) al programa mediante un método subprocess. Por último,
guardamos el resultado del comando en una variable y lo dividimos en una cadena. Luego, podemos ver el
contenido de objetos con la impresión y abordar sus elementos individuales mediante la indexación de
cadena.

Práctica de laboratorio: análisis de datos del medidor de Internet


En esta práctica de laboratorio, usted adquirirá estadísticas de velocidad de Internet y almacenará los datos
en vivo en archivos de valores separados por comas (csv). También cargará los datos almacenados del
archivo csv a una estructura de datos de Python, el marco de datos de Pandas, y utilizará sus funcionalidades
para explorar los datos y manipularlos para que sean fáciles de leer.

Utilice el iniciador PL-App para conectarse a su Raspberry Pi.


Seleccione el enlace para la carpeta de los materiales del curso y luego el enlace para la carpeta de datos
masivos y análisis.

Seleccione la práctica de laboratorio: 2.5.1.4; análisis de datos del medidor de Internet

Para ver una vista previa de esta práctica de laboratorio, haga clic aquí.

SQL
SQL se ha discutido previamente en el Capítulo 1. En la segunda práctica de laboratorio en este capítulo
trabajamos con SQLite para crear y modificar bases de datos externas.

Existen muchas maneras de trabajar con archivos externos en Python. SQLite es una implementación de SQL
que funciona bien con Python. En lugar de utilizar un método de servidor de cliente, utiliza conexiones
establecidas entre Python y una base de datos de SQL mediante la creación de un objeto de conexión de
SQL. Este objeto tendrá métodos asociados. Después de crear el objeto de conexión, se utiliza un método
para crear un objeto de cursor. El objeto de cursor tiene métodos de SQLite disponibles para ejecutar
operaciones de SQL en la base de datos. Muchas operaciones de SQL se pueden ejecutar de esta manera.

Operaciones de SQL básicas


SQL es un lenguaje para interactuar con bases de datos y tablas de datos. Existen varios dialectos de SQL.
Sin embargo, algunas operaciones centrales son estándar y deberían funcionar de manera similar en SQLite,
MySQL u otras implementaciones de SQL. SQLite puede ejecutarse en modo interactivo desde una línea de
comandos. De manera alternativa, un lenguaje de programación como Python puede interactuar con SQLite
mediante módulos importados. El enfoque de este curso estará principalmente en utilizar Python para
interactuar con SQLite.

SQL se conoce generalmente como un idioma compuesto por tres idiomas con fines específicos. El primero
es el lenguaje de definición de datos. Se usa para crear y manipular la estructura de bases de datos y tablas
de SQL. En la Figura 1 se muestran algunos comandos comunes del lenguaje de definición de datos SQL. El
segundo es el lenguaje de manipulación de datos. Se utiliza para agregar, eliminar o transformar datos que se
encuentran en tablas de datos. Finalmente, está el lenguaje de consulta de datos. Se utiliza para acceder a
datos en tablas de datos a fin de generar información. En la Figura 2 se muestran la manipulación de datos
comunes y los comandos de lenguaje de consulta de datos.
Trabajar con Python y SQLite
En la figura se muestra una secuencia de comandos, que ilustra los principios básicos de las operaciones de
SQLite que se llevan a cabo en la práctica de laboratorio. Primero, se debe instalar una herramienta externa
denominada csvkit en el sistema operativo, para poder importar archivos csv a una base de datos de SQLite.
En la figura se ilustran los pasos del proceso de creación de una base de datos de SQLite, la importación de
datos csv a la base de datos, la ejecución de una consulta en la tabla de datos y la visualización de los
resultados de la consulta.

Nota: En la figura, “!csvsql --db …” puede ejecutarse como el primer comando. Esta es una herramienta
externa que se debe instalar en el SO. Se puede usar una consola de comandos (Linux CLI) para ejecutarla,
pero, para simplificar las cosas, este comando externo puede ejecutarse directamente desde una
computadora portátil prefijando el comando con “!”.

.Importar módulo SQLite y denominado sql.

.Crear una BD SQLite estableciendo una


conexión.

.Usar herramienta csvkit csvsql para


importar un archivo .csv en una tabla
dentro de la base de datos.

.Crear un objeto del cursos para


consultas sql.

.Crear una consulta SQL como objeto de


secuencia.

.Ejecutar consulta sql. Objeto(query)


tiene los resultados de la consulta.

.Crear un bucle for que itere por la


cantidad de filas en el objeto del cursos
e imprima contenido.

Práctica de laboratorio: trabajar con Python y SQLite


En esta práctica de laboratorio, aprenderá cómo conectarse a una base de datos relacional, realizar consultas
y recuperar datos a través de Jupyter Notebook. También aprenderá cómo transferir datos de una hoja de
cálculo de Microsoft Excel a una base de datos de SQLite.

Utilice el iniciador PL-App para conectarse a su Raspberry Pi.

Seleccione el enlace para la carpeta de los materiales del curso y luego el enlace para la carpeta de datos
masivos y análisis.

Seleccione la práctica de laboratorio: 2.5.2.4; trabajar con Python y SQLite

Para ver una vista previa de esta práctica de laboratorio, haga clic aquí.
Práctica de laboratorio: medidor de Internet de SQL
En esta práctica de laboratorio aprenderá cómo conectarse a una base de datos relacional, extraer y
manipular datos a través de Jupyter Notebook. Los datos que se le proporcionan contienen distintas
mediciones para ping y velocidad de carga y descarga realizadas en diferentes autoridades locales a través
de Inglaterra.

Utilice el iniciador PL-App para conectarse a su Raspberry Pi.

Seleccione el enlace para la carpeta de los materiales del curso y luego el enlace para la carpeta de datos
masivos y análisis.

Seleccione la práctica de laboratorio: 2.5.2.5; medidor de Internet de SQL.

Para ver una vista previa de esta práctica de laboratorio, haga clic aquí.

Capítulo 2: Aspectos básicos del análisis de datos


Este capítulo comenzó con la pregunta “¿Qué son los análisis?” Según el VNI de Cisco, el tráfico IP se
triplicará durante los próximos 3 años. El surgimiento de estos grandes conjuntos de datos requiere métodos,
tecnologías e infraestructura más avanzados para manejar los datos y convertirlos en información procesable.
Los datos ya no se pueden guardar en unas pocas máquinas o procesar con una sola herramienta. Existen
muchas metodologías para realizar análisis de datos, incluido el popular proceso estándar a través de la
industria para minería de datos (CRISP-DM) utilizado por más del 40 % de los analistas de datos. El lenguaje
de programación Python se ha convertido en una herramienta de uso general para administrar y manipular
datos.

En la siguiente sección se detallan los problemas que rodean el uso de datos masivos. Los responsables de la
toma de decisiones dependerán cada vez más del análisis de datos para extraer la información necesaria en
el momento correcto, en el lugar correcto, a fin de tomar la decisión correcta. Las decisiones sabias dependen
de una base bien establecida de conocimientos. La inteligencia comercial abarca todo el proceso de los datos
a la información, al conocimiento y a la sabiduría.

El análisis descriptivo depende únicamente de datos históricos para brindar informes regulares sobre eventos
que ya se han producido. El análisis descriptivo resume los datos en información más compacta e útil. El
análisis predictivo intenta predecir qué podría ocurrir con cierto grado de seguridad, en función de datos y
estadísticas. El análisis prescriptivo predice resultados y sugiere medidas de acción que lograrán el mayor
beneficio para la empresa u organización.

Ciertos análisis de datos también deben llevarse a cabo en tiempo real mientras se recopilan los datos. A
medida que los conjuntos de datos crecen en volumen, velocidad y variedad, la complejidad del
almacenamiento de datos, el procesamiento y el agregado se convierte en un desafío para las herramientas
analíticas tradicionales. Los grandes conjuntos de datos se pueden distribuir y procesar a través de
dispositivos físicos múltiples y geográficamente dispersos o en la nube. El análisis de datos permite que las
empresas comprendan mejor el impacto de sus productos y servicios, ajusten sus métodos y objetivos, y
proporcionen a sus clientes mejores productos más rápido. La sección se cierra con una explicación del ciclo
de vida del análisis de datos.

La próxima sección de este capítulo abarca la adquisición y preparación de datos. Los archivos, la Internet, los
sensores y las bases de datos son buenas fuentes de datos. Dado que los datos que formarán el conjunto de
datos que se analizará pueden provenir de fuentes muy diferentes, no necesariamente son compatibles
cuando se combinan. Además de tipos de datos diferentes, un único tipo de datos se puede formatear de
distinta manera según su origen. Las tablas de datos contienen campos, filas y valores que son similares a las
columnas, las filas y las celdas en una hoja de cálculo. Cada tabla de datos se puede considerar como un
archivo y cada base de datos como una colección de archivos. Como se mencionó anteriormente en este
tema, muchos de los datos que se colocarán en una base de datos para luego realizar preguntas provienen de
diversas fuentes y vienen en una amplia variedad de formatos. La extracción, transformación y carga (ETL) es
un proceso para recopilar datos de esta variedad de fuentes, transformarlos y luego cargarlos en una base de
datos.
La siguiente sección analizó la ética de datos masivos. Una breve búsqueda en Internet probablemente
revelará que el uso ético de datos sigue provocando inquietudes en muchas personas. Varios gobiernos
tienen normas para el uso correcto de datos personales. La confidencialidad, la integridad y la disponibilidad,
conocidas como tríada CIA, es una guía para la seguridad de datos de una organización. La confidencialidad
garantiza la privacidad de los datos mediante la restricción del acceso con el cifrado de la autenticación. La
integridad garantiza que la información sea precisa y confiable. La disponibilidad garantiza que la información
esté disponible a las personas autorizadas. La seguridad de datos ahora va más allá del usuario y es
responsabilidad de los proveedores de servicios en la nube. Es importante que el usuario se asegure de que
siguen procedimientos de seguridad mediante el uso de la política de contraseñas seguras y los métodos de
autenticación adecuados. El proveedor de servicios en la nube también debe implementar controles de
seguridad en la nube.

La sección final de este capítulo analizó la preparación para las prácticas de laboratorio de medidor de
Internet y el trabajo con Python y SQL.
Haga clic aquí para obtener más información sobre el concepto de análisis de perímetro y niebla en la
estructura de análisis de perímetro.

También podría gustarte