SlideShare uma empresa Scribd logo
1 de 18
Globalcode – Open4education
Trilha – NoSQL
Jhonathan de Souza Soares
Microsoft MVP, Neo4j TOP 50 Certified, MongoDB Evangelist e Arquiteto de
Software
Globalcode – Open4education
Link Predictions
com
Globalcode – Open4education
Link Predictions
Understand. Predict. Prescribe.
Neo4j Graph
Analytics and
Algorithms
Globalcode – Open4education
Algoritmos grafos
Localiza o caminho ideal
ou avalia a
disponibilidade e a
qualidade da rota
Avalia como um
grupo é agrupado
ou particionado
Determina a
importância de nós
distintos na rede
Globalcode – Open4education
Algorithms - Centralities
• PageRank (baseline)
• Betweeness
• Closeness
• Degree
Pathfinding
Centrality
Community
Detection
Globalcode – Open4education
Algorithms – Communitity Detection
• Label Propagation
• Union Find
• Strongly Connected Components
• Louvain
• Triangle-Count / Clustering Coefficent
Pathfinding
Community
Detection
Centrality
Globalcode – Open4education
Algorithms - Pathfinding
• Single Source Short Path
• All-Nodes / Successive SP
• Parallel BFS / DFS Centrality Community
Detection
Pathfinding
Globalcode – Open4education
O que é a previsão de links?
• A previsão de links existe há muito tempo,foi
popularizada em 2004, intitulado The Link Prediction
Problem for Social Networks.
• Dado um momento de uma rede social, podemos
inferir quais novas interações entre seus membros
provavelmente ocorrerão em um futuro próximo?
Globalcode – Open4education
O que é a previsão de links?
Formalizamos essa questão como o problema de
previsão de links e desenvolvemos abordagens para
vincular a previsão com base em medidas para
analisar a “proximidade” de nós em uma rede.
Globalcode – Open4education
Link Prediction Algorithms
Globalcode – Open4education
Um pouco mais sobre algoritmos
• Adamic Adar - a soma do log inverso do grau de vizinhos comuns
• Preferential Attachment - o produto do grau de cada nó
• Resource Allocation - a soma do inverso do grau de vizinhos comuns
• Same Community - verifica se dois nós estão na mesma comunidade,
calculados por um dos algoritmos de detecção da comunidade
• Total Neighbors - total de vizinhos únicos dos dois nós
• Common Neighbors - capta a noção de que dois estranhos que têm
um relações em comum podem ser conectados.
Globalcode – Open4education
Common Neighbors
Globalcode – Open4education
Common Neighbors
• Em seguida, calcule os vizinhos comuns para os nós A e D usando
essa função:
Globalcode – Open4education
Common Neighbors
• Esses nós têm dois vizinhos em comum, então eles recebem uma
pontuação de 2. Agora vamos fazer o mesmo para os nós A e E.
Esperamos que eles recebam uma pontuação de 1, pois eles têm
apenas um único vizinho comum:
Globalcode – Open4education
Preferential attachment
• A função de ligação preferencial retorna o produto dos graus dos dois
nós. Se executarmos isso para os nós A e D, esperamos obter uma
pontuação de 2*2 = 4, já que os nós A e D têm dois vizinhos. Vamos
tentar:
Globalcode – Open4education
Finalizando
• Você precisa saber basicamente quais algoritmos utilizar e qual o
objetivo a ser atingido.
• Na nossa “rede” de exemplo, ao executar a função com outros nós verá
que a ligação futura é entre A e D pois é a que possui maior score.
Globalcode – Open4education
OBRIGADO!
http://codigosimples.net
http://bit.ly/ptebookneo4j
https://www.linkedin.com/in/jhonathansouza/

Mais conteúdo relacionado

Mais de Jhonathan de Souza Soares

Azure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .NetAzure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .NetJhonathan de Souza Soares
 
Azure CosmosDB para desenvolvedores de software
Azure CosmosDB para desenvolvedores de softwareAzure CosmosDB para desenvolvedores de software
Azure CosmosDB para desenvolvedores de softwareJhonathan de Souza Soares
 
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft Jhonathan de Souza Soares
 
Criando sistemas de recomendação com Neo4j
Criando sistemas de recomendação com Neo4jCriando sistemas de recomendação com Neo4j
Criando sistemas de recomendação com Neo4jJhonathan de Souza Soares
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBJhonathan de Souza Soares
 
Criando sistemas de recomendação com neo4j
Criando sistemas de recomendação com  neo4jCriando sistemas de recomendação com  neo4j
Criando sistemas de recomendação com neo4jJhonathan de Souza Soares
 
Conhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSetConhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSetJhonathan de Souza Soares
 

Mais de Jhonathan de Souza Soares (19)

6 Principios arquitetura de dados moderna
6 Principios arquitetura de dados moderna6 Principios arquitetura de dados moderna
6 Principios arquitetura de dados moderna
 
Api todo list
Api todo listApi todo list
Api todo list
 
Azure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .NetAzure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .Net
 
Azure CosmosDB para desenvolvedores de software
Azure CosmosDB para desenvolvedores de softwareAzure CosmosDB para desenvolvedores de software
Azure CosmosDB para desenvolvedores de software
 
Graph of Thrones - Neo4j + Game of Thrones
Graph of Thrones - Neo4j + Game of Thrones Graph of Thrones - Neo4j + Game of Thrones
Graph of Thrones - Neo4j + Game of Thrones
 
CosmosDB from zero2hero
CosmosDB from zero2heroCosmosDB from zero2hero
CosmosDB from zero2hero
 
NoSQL CosmosDB e IOT na era Serveless
NoSQL CosmosDB e IOT na era ServelessNoSQL CosmosDB e IOT na era Serveless
NoSQL CosmosDB e IOT na era Serveless
 
Introdução ao neo4j com c# e asp.net core
Introdução ao neo4j com c# e asp.net coreIntrodução ao neo4j com c# e asp.net core
Introdução ao neo4j com c# e asp.net core
 
NoSQL Multi-Model - Conheça o CosmosDB
NoSQL Multi-Model - Conheça o CosmosDB NoSQL Multi-Model - Conheça o CosmosDB
NoSQL Multi-Model - Conheça o CosmosDB
 
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
 
Criando sistemas de recomendação com Neo4j
Criando sistemas de recomendação com Neo4jCriando sistemas de recomendação com Neo4j
Criando sistemas de recomendação com Neo4j
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
 
Sem limites com NoSQL
Sem limites com NoSQLSem limites com NoSQL
Sem limites com NoSQL
 
Graph of Thrones - Neo4j + Game of Thrones
Graph of Thrones - Neo4j + Game of ThronesGraph of Thrones - Neo4j + Game of Thrones
Graph of Thrones - Neo4j + Game of Thrones
 
Neo4j + nodejs
Neo4j + nodejsNeo4j + nodejs
Neo4j + nodejs
 
Criando sistemas de recomendação com neo4j
Criando sistemas de recomendação com  neo4jCriando sistemas de recomendação com  neo4j
Criando sistemas de recomendação com neo4j
 
Conhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSetConhecendo o mongodb e clusterização de dados - ReplicaSet
Conhecendo o mongodb e clusterização de dados - ReplicaSet
 
Migrando dados do SQL para Neo4j - TDC
Migrando dados do SQL para Neo4j  - TDCMigrando dados do SQL para Neo4j  - TDC
Migrando dados do SQL para Neo4j - TDC
 
Introdução ao neo4j
Introdução ao neo4jIntrodução ao neo4j
Introdução ao neo4j
 

Link Prediction with Neo4j