Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Simulación de un caso real utilizando Neo4J para análisis de red

Enviado por   •  9 de Mayo de 2023  •  Informes  •  1.552 Palabras (7 Páginas)  •  167 Visitas

Página 1 de 7

[pic 1]


Simulación de un caso real utilizando Neo4J para análisis de red

Nombre: Johanna Rosero

  1. Obtener una base de datos: Obtener una base de datos, de preferencia del lugar de trabajo o si es emprendedor, de su organización. Si no dispone de datos, obtener una base de datos pública que sea relevante para su proyecto. Asegurarse de que los datos sean relevantes y útiles para el proyecto.

El dataset utilizado para la resolución del siguiente proyecto, es una fuente de de una red de bancos, en donde se enlista los diferentes dispositivos existentes y las transacciones realizadas.

A continuación, se detalla cada columna del dataset:

CAMPOS

DESCRIPCIÓN

PROVINCIA

Provincias de Ecuador en donde se ubican los diferentes cajeros

DISPOSITIVO

Cajeros en donde se realizan diferentes transacciones, su nombre se concatena de un código y el nombre de la institución financiera adquirente

ESTADO_TRX

Indica cuál es el estado de la tracción realizada en el cajero

GRUPO_TRX

Las transacciones son agrupadas de acuerdo a su tipo de transacción

MARCA

Indica la marca del dispositivo

TIPO_DISPOSITIVO

Clasificación del dispositivo

TIPO_INSTITUCION

Identifica que tipo de institución es aquella que autoriza la transacción

TIPO_UBICACION

Ubicación específica del cajero

INSTITUCION_ADQUIRENTE

Institución a la cual pertenece el cajero y se realiza la transacción

INSTITUCION_AUTORIZADORA

Institución que autoriza que se realice la transacción

TIPO

Tipo de transacciones propias o interbancarias

Se eligió este dataset ya que tiene gran cantidad de información misma que permite realizar un análisis de como es el comportamiento de los cajeros en todo el país y su distribución, así como ver la transaccionalidad de los mismos, y de las diferentes instituciones.

  1. Preparar la base de datos: Asegurarse de que los datos estén en un formato que sea fácilmente procesable por Neo4J. Si es necesario, utilizar una herramienta de conversión para convertir los datos a un formato compatible.

Antes de utilizar la base de datos, se realizó una limpieza de datos, eliminando registros nulos y de poca relevancia, el formato del archivo es un csv separado por comas, mismo que será subido a github para posteriormente cargarlo a neo4j.

[pic 2]

  1. Procesar la base de datos: Procesar la base de datos para generar relaciones y patrones previos a la carga de la herramienta de análisis de datos. La información puede ser utilizada de sistemas transaccionales y a partir de ellos procesarla para generar nodos y relaciones entre ellos. Asegurarse de que se incluyan todas las relaciones relevantes para el proyecto.

Las relaciones y los nodos que se tomaron e cuenta se realizó en base al flujo y transaccionalidad de los cajeros.

A continuación, se detalla los nodos y relaciones creadas:

Nodos:

  • MERGE (c:prov {provincia:row.PROVINCIA})
  • MERGE (d:dispositivo {dispositivo:row.DISPOSITIVO})
  • MERGE (tu:tipo_ubic {tipoubicacion:row.TIPO_UBICACION})
  • MERGE (m:marca {marca:row.MARCA})
  • MERGE (tp:tipo_disp {tipodispositivo:row.TIPO_DISPOSITIVO})
  • MERGE (tipotrx:tipotrx {tipotrx:row.TIPO})
  • MERGE (e:estado_trx {estadotrx:row.ESTADO_TRX})
  • MERGE (g:grupo_trx {grupotrx:row.GRUPO_TRX})
  • MERGE (iadq:inst_adq {institucionadq:row.INSTITUCION_ADQUIRENTE})
  • MERGE (iaut:inst_aut {institucionaut:row.INSTITUCION_AUTORIZADORA})
  • MERGE (ti:tipo_inst {tipoinstitucion:row.TIPO_INSTITUCION})

Relaciones:

  • MERGE (d)-[r:PERTENECA_A]->(c)
  • MERGE (d)-[r1:SE_UBICA_EN]->(tu)
  • MERGE (d)-[r2:SU_MARCA_ES]->(m)
  • MERGE (m)-[r3:TIPO_DISPOSITIVO]->(tp)
  • MERGE (d)-[r4:TIPO_TRANSACCION]->(tipotrx)
  • MERGE (tipotrx)-[r5:ESTADO]->(e)
  • MERGE (tipotrx)-[r6:GRUPO]->(g)
  • MERGE (d)-[r7:ADQUIERE_EN]->(iadq)
  • MERGE (iaut)-[r8:AUTORIZA]->(iadq)
  • MERGE (iadq)-[r9:TIPO_INSTITUCION]->(ti)

  1. Instalar Neo4J: Instalar Neo4J en su computadora o en la nube. Si está utilizando la versión de nube, asegurarse de tener las credenciales de acceso a la cuenta.

El proyecto se desarrollo en neo4j sandboox en la nube. Se selecciono una proyecto en blanco para poder empezar a cargar los datos.

[pic 3]

Como se puede ver en la siguiente imagen, la conexión se realizó de manera correcta

[pic 4]

Una vez realizada la conexión en neo4j , el proceso de carga de datos se lo realizó mediante github. A continuación, se detalla este proceso.

  1. Abrir una cuenta de en github
  2. Crear un nuevo proyecto, para este caso el proyecto se lo denominó archivo
  3. Seleccionar la opción add file, y seleccionar el set de datos

[pic 5]

  1. Seleccionar el archivo para poder visualizar que los datos se vean correctamente

[pic 6]

  1. Seleccionar la opción raw

[pic 7]

  1. Aquí se abrirá una nueva pestaña, donde estará todo el set de datos y el link que se debe utilizar para cargar la información en Neo4j

[pic 8]

  1. Una vez obtenido el link, ejecutamos el siguiente código  en neo4j para poder cargar el data set y realizar la generación de los nodos con sus respectivas relaciones.

[pic 9]

[pic 10]

  1. Cargar la base de datos en Neo4J: Una vez instalado, cargar la base de datos previamente generada en Neo4J. Asegurarse de que todos los nodos y relaciones estén correctamente cargados en la base de datos.

Una vez cargada la información correctamente en la herramienta de neo4j , se puede visualizar las relaciones  y nodos creados

[pic 11]

  1. Analizar los datos: Utilizar los comandos aprendidos en clase para analizar los datos en Neo4J. Realizar consultas para obtener información relevante y útil para el proyecto.

A continuación, se detalla todas las relaciones y consultas que se aplicaron con la base de datos cargadas.

  • Ver todos los nodos y relaciones: match(n) return n

[pic 12]

  • Visualizar las ubicaciones existentes y la distribución de los dispositivos: MATCH p=(dispositivo)-[r:SE_UBICA_EN]->(prov) RETURN p

[pic 13]

  • Distribución de los dispositivos por provincia: MATCH p=(dispositivo)-[r:PERTENECA_A]->(prov) RETURN p

[pic 14]

  • Ver las provincias que tienen mayor número de cajeros: MATCH (c:prov) OPTIONAL MATCH (d:dispositivo)-[:PERTENECA_A]->(c) RETURN c.provincia, count(d) AS totalDispositivos

ORDER BY totalDispositivos DESC

[pic 15]

  • Visualizar la distribución de los cajeros y determinar si existe cajeros relacionados con mas de una provincia:

MATCH (d:dispositivo)-[:PERTENECA_A]->(p1:prov)

MATCH (d:dispositivo)-[:PERTENECA_A]->(p2:prov)

WHERE p1 <> p2

...

Descargar como  txt (11.7 Kb)   pdf (891.6 Kb)   docx (944.2 Kb)  
Leer 6 páginas más »
Disponible sólo en Essays.club