BIG DATA

ETL

Cargar

Transformar

Tecnologías

Comerciales

SAS

IBM

OpenSource

Spark y Hadoop

Lenguajes de programación

R

r

Enfocado al sector numérico (matemáticas, estadística...)

Python

r

Enfocado al sector mas cercano a la informática e ingeniería

Big Data

Simples

Hive

Pig

MapReduce

Complejas

Spark

Extraer

Captura

Flume

Sqoop

Almacenamiento

Tradicional

BBDB Relacional

Ficheros

Big Data

HDFS

NoSQL

Machine Learning

Aprendizaje

Supervisado

r

En el aprendizaje supervisado tenemos un grupo de datos de entrada y para cada uno de ellos conocemos con antelación los atributos que deseamos predecir.Por ejemplo para entrenar un sistema de clasificación de imágenes debemos tener varias imágenes y para cada una de ellas conocer la categoría a la que pertenecen.

Algoritmos de Regresión

r

Lo que buscamos es entrenar un modelo capaz de predecir el valor de una variable continua.Por ejemplo podemos entrenar un modelo que aprenda a tomar la edad, el género y el peso de una persona e intente predecir su altura.

Regresión Lineal

Regresión ordinaria por mínimos cuadrados

Regresión Logística

KNN (K-Nearest Neighbor)

r

Toma un conjunto de datos y lo almacena para, posteriormente, crear un algoritmo de clasificación basado en instancias que tienen características similares. Esto significa que el algoritmo de vecinos más próximos trabaja en función del parecido de unos datos con otros para formar grupos de datos en una clasificación.Tenemos la imagen de un animal que se parece a un perro o a un lobo. Queremos determinar cuál de los dos animales es y, para ello, usamos el algoritmo de vecinos más próximos para determinar qué animal es y poder clasificarlo.Podemos hacer uso de este algoritmo, ya que lo que se busca es una medida de similitud, precisamente lo que nos brinda el K-NN. El algoritmo lo que hará será encontrar las características similares del nuevo conjunto de datos a las imágenes de perros y lobos y, en función de las características más similares, las colocará en la categoría de perros o lobos.

Algoritmos de Árboles de Decisión

r

Usan una estructura básica, los árboles precisamente, que con simples reglas de decisión aplicadas sobre los datos les permite generar predicciones.Por ejemplo podemos entrenar un árbol para que aplique de forma secuencial reglas de decisión sobre diferentes características relacionadas con el comportamiento financiero de un cliente y con esto prediga si adquirirá o no un producto.

Árboles de clasificación

Árboles de regresión

Semi-Supervisado

No supervisado

r

En el aprendizaje supervisado tenemos un grupo de datos de entrada y para cada uno de ellos conocemos con antelación los atributos que deseamos predecir.Por ejemplo para entrenar un sistema de clasificación de imágenes debemos tener varias imágenes y para cada una de ellas conocer la categoría a la que pertenecen.

Algoritmos de Agrupamiento (Clustering)

r

Generan agrupaciones basadas en el grado de similitud entre los datos, de forma tal que datos similares pertenecerán a una misma agrupación.Por ejemplo podemos usar algoritmos de clustering para encontrar diferentes perfiles de cliente de una entidad bancaria: aquellos más interesados en adquirir productos crediticios o aquellos con un perfil de inversionistas.

K-Means

Agrupamiento Espectral

Mapas Auto-Organizados

Por refuerzo

Algoritmo por contracción

r

Muchos modelos de Machine Learning sufren, en mayor o menor grado, del problema de overfitting que ocurre cuando el modelo tiende a memorizar el set de entrenamiento pero no logra generalizar (es decir que no funciona bien con el set de prueba).Para reducir este overfitting se puede intentar controlar el impacto que tiene cada una de las características en el procesamiento del dato por parte del modelo.Por ejemplo, volviendo al sencillo clasificador de tipos de fruta, puede ser que le de más importancia al color que a la forma al realizar la clasificación y tal vez el desempeño no sea el adecuado. Lo ideal sería que ambas características tuviesen niveles de importancia similares.Los algoritmos de contracción buscan reducir el overfitting contrayendo el peso o la importancia de algunas características imponiendo una penalidad sobre su tamaño.

a

Regresión Ridge

Regresión Lasso

Elastic

Capacidad

r

Las tecnologías de IA se clasifican por su capacidad para imitar las características humanas.

Estrecha(ANI)/Débil

r

Se enfoca estrechamente en una sola tarea, realizando un trabajo repetitivo dentro de un rango predefinido por sus creadores.Los sistemas de ANI generalmente se entrenan utilizando un gran conjunto de datos (por ejemplo de internet) y pueden tomar decisiones o realizar acciones basadas en ese entrenamiento.Una ANI puede igualar o superar a la inteligencia y eficiencia humana pero solo en esa área específica en la que opera.

General(AGI)/Fuerte

r

Se alcanza cuando una máquina adquiere capacidades cognitivas a nivel humano.Es decir, cuando puede realizar cualquier tarea intelectual que realiza una persona.

Super(ASI)

r

 Ocurre cuando la inteligencia sintética supera a la humana. La teoría es que cuando una máquina logre tener una inteligencia a la par con la humana, su capacidad de multiplicar esa inteligencia de forma exponencial a través de su propio aprendizaje autónomo hará que en poco tiempo nos supere ampliamente, alcanzando la ASI.

Conocimientos

Experto

Informática

Matemáticas y Estadística

r

Se encargan de crear nuevas metodologías para identificar patrones en los datos.

Estadística

Estadística descriptiva

r

Usos:-Calidad de datos-Corrección de errores-Análisis exploratorio-Creación de variables-Preselección de variables-Etc...

Escalas de medida

Análisis de variables categóricas

Análisis de variables contínuas

Correlación, correlación vs casualidad

Estadística inferencial

r

Usos:-Resolver casos de uso: ej de gestión de colas-Estimar datos poblacionales a partir de muestras-Definir escenarios de riesgos-Evaluar significatividad de variables predictoras-Test A/B-Etc

Distribuciones

Distribución Normal

Teorema del límite central

Margen de error y nivel de confianza

Alpha y pvalor

Contraste de hipótesis

Conceptos avanzados

r

-Hacer mejores modelos-Hacer modelos más avanzados-Personalizar modelos a situaciones concretas

Normalidad

Homocedasticidad de varianzas

Linealidad Vs no linealidad

Multicolinealidad

Bootstrapping

Casos de uso

Ejemplo por fases

1. Descubrimiento

Subtopic

Tipo de datos

SemiEstructurados

Estructurados

No estructurados

Teorema CAP

r

El Teorema CAP nos sugiere que todo sistema distribuido de almacenamiento de datos es vulnerable a fallos de conectividad de la red, por lo que, frente al nivel de tolerancia de la partición de los nodos, tendrá que realizar algún tipo de concesión entre el acceso a la información o a su versión más reciente.Este teorema fue presentado por Eric Brewer en el año 2000 y su nombre está basado en los siguientes tres atributos claves de los sistemas distribuidos:C - Consistencia (Consistency): Se refiere a la lectura coherente del valor actual del dato desde cualquier instancia, es decir que los datos se encuentran sincronizados y replicados en todos los nodos a la vez.A - Disponibilidad (Availability): Se refiere a obtener una respuesta válida y rápida para todas las solicitudes, aunque existan nodos inactivos, es decir el acceso a los datos sin interrupciones.P - Tolerancia a particiones (Partition tolerance): Se refiere a la capacidad del sistema para permanecer estable y continuar procesando solicitudes a pesar de ocurrir una partición (interrupción) entre la comunicación de los nodos.El Teorema CAP nos da tres opciones de combinaciones de pares de atributos que pueden garantizarse a la vez.Se pueden clasificar los gestores de bases de datos según varios criterios, pero en esta ocasión, utilizaré la siguiente clasificación

SQL

r

Las bases de datos SQL son modelos de bases de datos relacionales tradicionales que procesan las transacciones cumpliendo con las propiedades ACID (acrónimo en inglés traducido como Atomicidad, Consistencia, Aislamiento y Durabilidad), es decir, de los tres atributos del Teorema CAP otorgan mayor relevancia a la Consistencia y Disponibilidad de la información. Al ocurrir una interrupción de la comunicación de los nodos, el sistema no trabajará correctamente y generará errores del sistema al ejecutar una solicitud. Entre las principales bases de datos tipo CA según el teorema CAP, se encuentran:

CA: Consistencia y Disponibilidad

r

Se garantiza el acceso a la información y el valor del dato es consistente (igual) para todas las peticiones atendidas; de haber cambios, se mostrarán inmediatamente. Sin embargo, la partición de los nodos no es tolerada por el sistema de forma simultánea.

SQL

MySql

Oracle

Maria DB

NoSQL (Not Only SQL)

r

Las bases de datos NoSQL, son modelos de bases de datos No relacionales y otorgan un mejor rendimiento en el procesamiento de grandes volúmenes de transacciones de distintas fuentes de datos, permitiendo la escalabilidad horizontal de los recursos del sistema de forma sencilla, por lo que la tolerancia a las particiones de la red es soportada. Luego, dependiendo del sistema y gestor escogido, se priorizará entre alguno de los otros dos atributos del teorema CAP, la consistencia o la disponibilidad de la información.Al presentarse problemas de conexión entre los nodos, el sistema aún podrá dar respuestas a las peticiones de lectura de los datos, sin embargo, las peticiones de escritura no se completarán hasta que sea totalmente segura la comunicación de los nodos a fin de garantizar la coherencia de la información.En el momento que surja una partición de los nodos, el sistema atenderá a las peticiones de escritura del dato con alguno de los nodos activos. Pero si luego hacemos una petición de la lectura del dato, puede suceder que el sistema nos dé un resultado inconsistente porque provenga de un nodo donde aún no está replicado el último cambio. Una vez restablecida la comunicación de los nodos, los datos se replicarán al resto de los nodos.

AP: Disponibilidad y Tolerancia a la partición

r

Se garantiza el acceso a los datos y el sistema es capaz de tolerar (gestionar) la partición de los nodos, pero dejando en segundo plano la consistencia de los datos, ya que no se conserva y el valor de dato no estará replicado en los diferentes nodos al instante.

Cassandra

Dynamo

KAI

CouchDB

Riak

CP: Consistencia y Tolerancia a la partición

r

Se garantiza la consistencia de los datos entre los diferentes nodos y la partición de los nodos se tolera, pero sacrificando la disponibilidad de los datos, con lo cual, el sistema puede fallar o tardar en ofrecer una respuesta a la petición del usuario.

BigTable

Hbase

Redis

MongoDB

NewSQL

r

Por último, las bases de datos NewSQL son una versión moderna de los modelos de datos relacionales que abarcan ciertas características de las NoSQL tales como la escalabilidad y el alto rendimiento, pero a su vez, conservan las propiedades ACID de los gestores tradicionales. Podríamos entonces pensar que las NewSQL combinan y ofrecen los mejores atributos que encontramos en las SQL y NoSQL, y por tanto ser capaces de cumplir con los 3 atributos del Teorema CAP.

ClustrixDB

NuoDB

CockroachDB

TokuDB

Apache Trafodion