Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Graph-Hunter: Prediciendo eventos con grafos

64 views

Published on

Speaker: Roberto Sánchez, VinkOS

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Graph-Hunter: Prediciendo eventos con grafos

  1. 1. Graph-Hunter Prediciendo eventos con grafos
  2. 2. Agenda ● Introducción a neo4j ● ¿Cuándo usar neo4j? ○ Casos de uso obvios y no tan obvios ● ¿Cómo usar neo4j en un proyecto de ciencia de datos? ○ Descripción del problema y modelo del grafo. ○ Algoritmos de grafos: Similitudes ○ Conclusiones
  3. 3. Introducción a neo4j Red Comercial Aquella que nos permite intercambiar bienes y servicios con otros participantes del mercado. Red de Comunicaciones Elementos de telecomunicaciones como celulares, modems, routers, antenas, así como los medios por los cuales interactúan entre sí. Red Social Suma de personas y lazos profesionales, familiares y de amistad. Estamos acostumbrados a ver ciertas interacciones en el mundo como una red, ya sea de personas u objetos y las relaciones entre ellos mismos...
  4. 4. Introducción a neo4j … neo4j conquista el reto de imitar esas relaciones (por veces consistentes, por veces erráticas) de una manera intuitiva. Es una base de datos basada en grafos que permite entender y conocer el comportamiento en distintos escenarios. Para generalizar este comportamiento de la realidad, se utiliza una estructura matemática conocida como grafo. Un grafo está compuesto por nodos y relaciones: ● Los nodos representan entidades, por ejemplo, cliente, producto y proveedor. ● Las relaciones representan conexiones relacionales entre nodos, por ejemplo, cliente y producto tienen una relación compró. La representación en pizarrón de un grafo es sumamente intuitiva y amigable.
  5. 5. ● Graph Storage Esta característica hace referencia a que los datos están almacenados con todo y sus relaciones de manera persistente, no se infieren cada que un query se ejecuta. ● Graph Processing: Index-Free adjacency o procesamiento de grafos nativo, por la forma en la que se almacenan los datos permite recorrer el grafo de manera eficiente. Un cambio de paradigma SELECT UniqueID, FirstName, LastName, … FROM Clients AS C LEFT JOIN Products AS P ON C.ClientID = P.ClientID MATCH (Client)-[:Has_BankAccount]->(BankAccount) RETURN Client, BankAccount De RBDMS a neo4j De SQL a Cypher Almacenamiento y Procesamiento
  6. 6. ● Los datos están desconectados y las relaciones no importan. ● Los objetos y modelo de datos son fijos y consistentes. ● Se necesita escanear información en “bulk”. ● Key-value stores. ● Los datos están “bien conectados”. ● El modelo de datos necesita ser flexible. ● Es necesario encontrar caminos de relaciones entre nodos. ● Es necesaria una tecnología escalable horizontalmente, consistente y con alta disponibilidad. ¿Cuándo usar neo4j? Cuando sí Cuando no La motivación principal para adquirir cualquier tecnología nueva, como neo4j, depende siempre del caso de uso que quiera resolverse.
  7. 7. Casos de uso ● Detección de fraudes ● Monitoreo de redes y operación IT ● Sistemas de recomendación ● Data Management ● Ciencia de datos
  8. 8. Casos de uso ● Detección de fraudes ● Monitoreo de redes y operación IT ● Sistemas de recomendación ● Data Management ● Ciencia de datos Detección de fraudes ● Comunidades fraudulentas - al verlo como un grafo lo puedes identificar la red de relaciones y patrones de comportamiento: ○ Ayuda en entender las relaciones entre distintas entidades. ○ Ayuda en la identificación de Anillos de fraude ● Fraude E-Commerce: Ayuda en el monitoreo e identificación de los usuarios que realizan transacciones a través de internet.
  9. 9. Casos de uso ● Detección de fraudes ● Monitoreo de redes y operación IT ● Sistemas de recomendación ● Data Management ● Ciencia de datos ● Ciberseguridad:Ayuda en el mapeo y análisis de conexiones entrantes a algún sistema. ● Análisis de impacto:Ayuda en la medición del impacto y de las dependencias de sistemas interconectados. ● Mapeo de calidad del servicio:Ayuda a mapear procesos para encontrar puntos de falla dentro de la arquitectura empresarial. ● Análisis causa Raíz:Ayuda a mapear los puntos de falla e identificar los elementos que influyeron. Monitoreo de redes y operaciones IT
  10. 10. Casos de uso ● Detección de fraudes ● Monitoreo de redes y operación IT ● Sistemas de recomendación ● Data Management ● Ciencia de datos ● Recomendación de contenido:Permite conocer como un usuario interactúa con el contenido y generar recomendaciones de acuerdo a las características de su consumo. ● Recomendación de productos: Ayuda en la generación de recomendaciones tipo cross sell, best fit al poder identificar el tipo de productos que consume el cliente ● Recomendaciones sociales:Nos ayuda a identificar estructuras sociale, por lo que se pueden generar recomendaciones de tipo profesional (linkedIn) o de tipo redes sociales(Facebook) Sistemas de recomendación
  11. 11. ● Detección de fraudes ● Monitoreo de redes y operación IT ● Sistemas de recomendación ● Data Management ● Ciencia de datos Casos de uso ● Vista 360 Cliente:Nos permite conocer cómo interactúa nuestro cliente y mapearlo dentro de un ciclo de vida. ● Gobierno de datos:Se puede mapear los permisos de los usuarios a ciertos campos de una forma más natural. ● Jerarquías organizacionales:El mapeo de jerarquías en una tabla de datos transaccional siempre resulta en algo complejo, al nosotros almacenar relaciones podemos consultar la jerarquía de mejor manera ● Cruce de referencias de negocios: Facilita el poder identificar un usuario con las características de acuerdo a las necesidades del área de negocio Data Management
  12. 12. ¿Cómo usar neo4j en un proyecto de ciencia de datos? ● Mayor Interpretabilidad: Cuando Hablamos de un algoritmo de machine learning no es fácil la interpretabilidad del resultado. ● No sacas los datos de Neo4j: Al no sacar los datos del cluster existe un mayor gobierno y mejor desempeño ● Aprovechar el conocimiento de la estructura de la red: En la forma tradicional no aprovechamos el conocimiento contenido en la RED
  13. 13. ¿Cual es nuestro problema? ● Eventos de crimen en Boston (2015-2018). ● Predecir qué tipo de evento es a partir del histórico. ● Tener una mayor interpretabilidad de los algoritmos de grafos. ● Generar conocimiento.
  14. 14. Arquitectura de Neo4j

×