0% encontró este documento útil (0 votos)
26 vistas

Clase8 - BigDataMachineLearning

Este documento presenta conceptos clave sobre Big Data, Machine Learning y estadística. Explica que Big Data se refiere a grandes conjuntos de datos de múltiples fuentes que requieren nuevas tecnologías para su análisis. Machine Learning usa algoritmos estadísticos para analizar datos y predecir resultados futuros, mientras que la estadística describe datos y busca patrones.

Cargado por

Lukas James
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas

Clase8 - BigDataMachineLearning

Este documento presenta conceptos clave sobre Big Data, Machine Learning y estadística. Explica que Big Data se refiere a grandes conjuntos de datos de múltiples fuentes que requieren nuevas tecnologías para su análisis. Machine Learning usa algoritmos estadísticos para analizar datos y predecir resultados futuros, mientras que la estadística describe datos y busca patrones.

Cargado por

Lukas James
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

Inteligencia Artificial

Unidad 4: Big Data Definición – Machine Learning

Profesor:
Bonaccorsi Maximiliano
Unidad 4 -Big Data - Concepto
Temas

• Big Data : conceptos- tecnologías


• Análisis predictivo
• Machine Learning
• Estadística: Los Roles
Big Data - Concepto
Es cualquier tipo de fuente de datos que tiene al menos uno de 5 características,
llamadas las 5 V:

Variedad Volumen
Tiene que ver con
Esta dimensión se refiere a la
gestionar la complejidad
cantidad de datos, grandes
de múltiples fuentes y colecciones de información
formatos de datos creadas para diferentes usos y
propósitos

Velocidad
Se refiere a los datos en
movimiento, rapidez en la
BIG
Valor
DATA
generación, acceso y
análisis de datos en su Uso eficiente para sacar el máximo
entorno de explotación valor a los datos, algoritmos de
análisis de gran rendimiento y
herramientas para la visualización

Veracidad
Para que las fuentes de datos
representen la verdad y no estén
alteradas
Big Data
En contexto con Machine learning

• ML requiere el conjunto correcto de datos para aplicar a un modelo


de aprendizaje
• No se necesitan grandes datos para utilizar técnicas de ML
• Los datos ayudan a mejorar la precisión de los modelos
Big Data
Relación con Machine learning
• Es el campo dedicado al análisis, procesamiento y almacenamiento de grandes conjuntos de datos,
que frecuentemente se originan en distintas fuentes de datos
• Big Data es necesario cuando las técnicas y tecnologías tradicionales para análisis, procesamiento y
almacenamiento no son suficientes
Los requerimientos típicos para Big Data incluyen:
• • Combinación de distintos conjuntos de datos con distinta estructura
• • Procesamiento en lotes o tiempo real de grandes volúmenes de datos
• • Identificación de patrones “ocultos” en los datos (data mining, ML)

• • Toma de decisiones basadas en datos


Big Data
Se produce su auge gracias a:

• Se pueden almacenar datos de manera eficiente y rentable


• Se pueden utilizar tanto servicios físicos como on Cloud para persistir
• Mejoraras en la velocidad y la confiabilidad para cantidades masivas
• Alto poder de procesamiento, almacenamiento y reducción de costos
• Se crean masivos volumenes de datos permanentemente
Big Data
Tecnologías que se aplican para Big data:

• Virtualización de datos
• Procesamiento paralelo
• Distribuido de archivos
• Bases de datos en memoria
• Microservicios
• Contenedorizacion (Docker para aplicaciones)
Big Data
Adecuación de los datos para ingesta de Machine Learning:

• Se requiere que los datos sean precisos, significativos y confiables


Se debe:
• Limpiar los datos (curado del dataset) -> para que sean entendibles

Ejemplo:
Los algoritmos utilizan números para los datos tienen palabras.
• Se deben transformar las palabras en números
• Se deben completar los nulls
• Y corregir otras irregularidades
Análisis Predictivo
Las empresas han tenido éxito en el uso de análisis para comprender dónde han estado
y cómo pueden aprender del pasado para anticipar el futuro

Durante los últimos 30 años:


Ocurrió una progresión en los niveles de madurez analítica
Van desde:
1. Análisis descriptivo
2. Análisis predictivo
3. Aprendizaje automático
Análisis Predictivo
Las empresas han tenido éxito en el uso de análisis para comprender dónde han estado
y cómo pueden aprender del pasado para anticipar el futuro

Análisis descriptivo Análisis predictivo

Ayuda a comprender la realidad actual. Ayuda a anticipar cambios en función de la


Ejemplo: Que estilos de productos se están vendiendo comprensión los patrones y anomalías dentro de esos
mejor este trimestre. datos .

Análisis predictivo con Machine learning


Aprovecha la sofisticada algoritmos de aprendizaje
automático para obtener conocimientos continuos,
asimiliando una fuente de datos relacionados para
predecir los resultados futuros.
Análisis Predictivo

Análisis predictivo con Machine learning


Aprovecha la sofisticada algoritmos de aprendizaje automático
para obtener conocimientos continuos, asimiliando una fuente
de datos relacionados para predecir los resultados futuros.

Veamos ejemplo 1
Predicción en Google Colab
Predicción de Poesía
Machine Learning
• Con Machine Learning la maquina construye (aprende) su propio
algoritmo para resolver un problema
MACHINE LEARNING
PROGRAMACION TRADICIONAL

Meta
Programa Programa

Datos de
entrada
Datos de Datos de Programa
entrada salida
Datos de
salida
Machine Learning
Cuando se debe Usar?
• Tenemos grandes volúmenes de datos pero no reconocemos las reglas a programar
• El Dominio no es comprensible para el humano
• Existen Patrones y/o reglas imperceptibles para el humano
Ejemplo: “Yo puedo reconocer tu voz”, pero no puedo explicar como lo hago.

MACHINE LEARNING

Meta
Programa

Datos de
entrada
Programa

Datos de
salida
Machine Learning
Se generalizan comportamientos a partir de una información suministrada en forma
de ejemplos.
• Es un proceso de inducción del conocimiento

ML es:
Dado: F?

Training set {(xi, yi) | i = 1 … N}


Encontrar: Datos de Datos de
entrada salida
una buena aproximación a F: X -> Y X Y

Ejemplos: que son X e Y ?

Detección de Spam Reconocimiento de dígitos

{0,1,2,3,4,5,6,7,8,9}
{Spam, Not Spam}
Pixels
Emails
Machine Learning
Existen diferentes técnicas para representar y construir la funcion
Ejemplos
• Redes Neuronales Artificiales (ANN)
• Support Vector Machine (SVM)
• Arboles de Desicion

F? ANN

Datos de Datos de Datos de Datos de


entrada salida entrada salida
X Y X Y
Machine Learning
Existen diferentes técnicas para representar y construir la funcion
Ejemplos
• Redes Neuronales Artificiales (ANN)
• Support Vector Machine (SVM)
• Arboles de Desicion
Los roles de la estadística
Minería de datos y machine learning
• Ayudan a la comprensión de datos
• Describen las características de un conjunto de datos
• Buscan patrones y relaciones para construir un modelo

Definición Estadística Minería de datos (Data Mining)


La estadística es la ciencia de analizar los datos. Proceso de explorar y analizar
La clásica o la estadística convencional es de naturaleza inferencial, grandes cantidades de datos para
lo que significa que es utilizada para llegar a conclusiones sobre los descubrir patrones en esos datos.
datos (varios parámetros). Los modelos de aprendizaje automático
aprovechan los algoritmos estadísticos y los aplica para predecir.
Los roles de la estadística
Análisis de datos / estadísticas
● Solución Financiera

● Python Spark

● Organizaciónes

● Data mining
Técnicas de Procesamientos
Procesos - Hadoop

● Perspectiva Tecnológica:
○ procesamiento de datos (por lotes, analítico, en memoria y gráfico)
○ almacenamiento de datos masivos en tiempo real o procesamiento histórico
○ puede ingerir miles de millones de eventos a gran escala
○ Admite múltiples formas de ejecutar modelos y algoritmos: Los ejemplos incluyen filtros
bayesianos, agrupamiento, análisis de regresión, redes neuronales, etc. Los desarrolladores
tienen la opción de MapReduce, Spark (a través de Java, Python, R), Storm, etc. y SAS.
○ Hadoop proporciona una opción NoSQL altamente escalable: HBase. Se ha demostrado que
HBase admite la ingesta casi en tiempo real de miles de millones de flujos de datos
Hadoop para la predicción
detección de posibles fraudes

● Perspectiva comerciales :
○ Información en tiempo real : Hadoop se puede utilizar para generar
información con una latencia de unos pocos milisegundos que puede ayudar
a los bancos a detectar el fraude tan pronto como suceda.
○ Una vista única de cliente / transacción y fraude habilitada por Hadoop
○ Arquitectura acoplada libremente pero lista para la nube
○ Altamente escalable pero rentable
Big Data Hadoop

Patrón de
arquitectura para
una aplicación de
detección
Big Data

Ejemplo de ingesta de Datos


Posibles utilidades:

• ML (detección Fraudes)
• Reporteria
• Datos Compartir
Big Data

Ejemplo de procesos Datos


Posibles resultados:

• ML (detección Fraudes)
• Reporteria
Big data - caso practico

Machine learning para predecir


● Procesamiento rápido de datos:
● Segmentación avanzada de clientes:
● Definición de estrategias de pricing dinámico:
● Gestión de riesgos:
Prevención de fraudes:
Estudiando los patrones de comportamiento de los
clientes, detectaremos cualquier situación que se Análisis predictivo
Ayuda a anticipar cambios en función de
distancie del patrón generado y se clasificará como la comprensión los patrones y anomalías
potencialmente fraudulenta incluso antes de que dentro de esos datos.

ocurra. Análisis predictivo con Machine learning


Aprovecha la sofisticada algoritmos de
aprendizaje automático para obtener
conocimientos continuos, asimilando una fuente
de datos relacionados para predecir los
resultados futuros.
Predicciones de fraudes con Python

Por qué utilizar Machine Learning para detección de fraude?

Algoritmos Supervisados Algoritmos No Supervisados


● Linear and logistic regression ● Clustering & Dimensionality
● Naïve Bayes a. Principal component analysis (PCA)
● Support vector machines b. K-Means
● Decision trees and random forests c. Singular Value Decomposition (SVD)
● Artificial neural networks
Predicciones de fraudes con Python

Aplicando Machine Learning

df=pd.read_csv('creditcard_data.csv')
df.head()
df.shape
(5050, 30)
Predicciones de fraudes con Python

Aplicando Machine Learning


Predicciones de fraudes con Python

Tecnicas / Métodos Disponibles:

● Random Under Sampling (RUS): desechar datos, computacionalmente eficientes

● Random Over Sampling (ROS): directo y simple, pero entrenando a su modelo en muchos
duplicados

● SMOTE (Técnica de sobremuestreo de minorías sintéticas): conjunto de datos más


sofisticado y realista, pero se entrenan datos "falsos" (fake data)
Predicciones de fraudes con Python

Se divide el dataset en 80% para entrenamiento y 20% para testeo del modelo

# Define resampling method and split into train and test


method = SMOTE(kind='borderline1')
X_train, X_test, y_train, y_test = train_test_split(X, y,
train_size=0.8, random_state=0)

# Apply resampling to the training data only


X_resampled, y_resampled = method.fit_sample(X_train, y_train)

# Continue fitting the model and obtain predictions


model = LogisticRegression()
model.fit(X_resampled, y_resampled)

# Get your performance metrics


predicted = model.predict(X_test)
print (classification_report(y_test, predicted))
Big Data – Prediccion de Fraude

Detección de fraude tradicional con sistemas basados en reglas


Predicciones de fraudes con Python

contras del uso del sistema basado en reglas

1. Umbrales fijos por regla para determinar el fraude

1. Limitado a resultados sí / no

1. Error al capturar la interacción entre características


Predicciones de fraudes con Python

Pros: Machine Learning para prediccion ?


1. Los modelos de aprendizaje automático se adaptan a los datos y, por lo tanto,
pueden cambiar con el tiempo.

2. Utiliza todos los datos combinados en lugar de un umbral por características.

3. otorga porcentaje de acierto, en lugar de un sí / no.

4. Normalmente tendrá un mejor rendimiento y se puede combinar con reglas.


Predicciones de fraudes con Python

from sklearn.linear_model import LinearRegression


from sklearn.model_selection import train_test_split
from sklearn import metrics

# Step 1: split your features and labels into train and test data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Step 2: Define which model you want to use


model = LinearRegression()
Se realiza una regresión
lineal para la predicción,
# Step 3: Fit the model to your training data obteniendo un resultado
model.fit(X_train, y_train)
de 82% de acierto
# Step 4: Obtain model predictions from your test data
y_predicted = model.predict(X_test)

# Step 5: Compare y_test to predictions and obtain performance metrics


print (metrics.r2_score(y_test, y_predicted))
0.821206237313

También podría gustarte