codelab - análise de redes sociais com python

37
Análise de Redes Sociais com Python Women Techmakers 2015 Ana Paula Gomes

Upload: ana-paula-gomes

Post on 15-Jul-2015

417 views

Category:

Data & Analytics


3 download

TRANSCRIPT

Page 1: Codelab - Análise de Redes Sociais com Python

Análise de Redes Sociais com PythonWomen Techmakers 2015

Ana Paula Gomes

Page 2: Codelab - Análise de Redes Sociais com Python

Quem

Ana Paula Gomes

Mestranda em Ciência da Computação - UFMG

Organizer do GDG-BH / Leader Women Techmakers BH

Inquieta, curiosa e apaixonada por tecnologia

Page 3: Codelab - Análise de Redes Sociais com Python

O quê

1. Introdução: Redes complexas

2. Coleta de dados do Twitter

3. Modelagem em grafos e implementação

4. Uso de métricas de grafos

5. Visualização de dados

Page 4: Codelab - Análise de Redes Sociais com Python

Redes complexasComeçando pelo começo

Page 5: Codelab - Análise de Redes Sociais com Python

Antes de mais nada…

Precisamos responder perguntas:

Quais termos estão relacionados ao #WomenTechmakers?

Quais pessoas são mais influentes dentre as pessoas que falam sobre o #WomenTechmakers?

Page 6: Codelab - Análise de Redes Sociais com Python

Coleta dos dadosPrecisamos usar alguma coisa

Page 7: Codelab - Análise de Redes Sociais com Python

Coleta de dados

Marvel

Yelp

Foursquare

Twitter :)

Coringa:

Programmable Web

Lod-cloud

Page 8: Codelab - Análise de Redes Sociais com Python

Coleta de Dados do Twitter

Modalidades:

Streaming

Search

Page 9: Codelab - Análise de Redes Sociais com Python

Coleta de Dados do Twitter

Restrições:

1% da base

Search

15 requisições numa janela de 15 minutos

Page 10: Codelab - Análise de Redes Sociais com Python

Coleta de Dados do Twitter

Tudo documentado em: dev.twitter.com

Passos:

Criar uma aplicação

Instalar TwitterAPI

Page 11: Codelab - Análise de Redes Sociais com Python

Coleta do Twitter - conexão

from TwitterAPI import TwitterAPI

# credenciais de conexao com o Twitter twitter_api = TwitterAPI(consumer_key='XXXX', consumer_secret='XXXX', access_token_key='XXXX', access_token_secret='XXXX')

Page 12: Codelab - Análise de Redes Sociais com Python

Coleta do Twitter via Search

resultado = twitter_api.request('search/tweets', {'q': '#womentechmakers', 'lang': 'en', 'count': '100'})

Page 13: Codelab - Análise de Redes Sociais com Python

Coleta do Twitter via Streaming

resultado = twitter_api.request('statuses/filter', {'track': 'python'})

Page 14: Codelab - Análise de Redes Sociais com Python

Dicas

JSON

SimpleJSON

JSONLint

Códigos de resposta

Page 15: Codelab - Análise de Redes Sociais com Python

GrafosRelacionar é preciso

Page 16: Codelab - Análise de Redes Sociais com Python

Grafos

Estrutura que demonstra relacionamentos entre entidades

Vértice VérticeAresta

Page 17: Codelab - Análise de Redes Sociais com Python

Grafos

Estrutura que demonstra relacionamentos entre entidades

Maria Joséamigos

Page 18: Codelab - Análise de Redes Sociais com Python

Grafos

Estrutura que demonstra relacionamentos entre entidades

Maria José

Rede de amigosJoana

Ana

Page 19: Codelab - Análise de Redes Sociais com Python

Algumas métricas

Degree (grau)

Closeness

Betweenness

Clustering

Page Rank

Page 20: Codelab - Análise de Redes Sociais com Python

Voltando as perguntas!

Quais termos estão relacionados ao #WomenTechmakers?

Quais pessoas são mais influentes dentre as pessoas que falam sobre o #WomenTechmakers?

Page 21: Codelab - Análise de Redes Sociais com Python

Modelagem - Hashtags

#IWD2015 #WTM

#mulheresNaTecnologia

#tech

Page 22: Codelab - Análise de Redes Sociais com Python

Modelagem - Perfis influentes

WomenTechmakers José

Joana

Ana

Page 23: Codelab - Análise de Redes Sociais com Python

NetworkX

Biblioteca para grafos: NetworkX

pip install networkx

Page 24: Codelab - Análise de Redes Sociais com Python

NetworkXimport networkx as nx

G = nx.Graph()

G.add_node("ana")G.add_node("joao")G.add_node("camila")

G.add_edge("ana", "joao")G.add_edge("ana", "camila")

Page 25: Codelab - Análise de Redes Sociais com Python

NetworkX

nx.draw(G)

print G.edges()

nx.write_gml(G, "grafo_hashtag.gml")

Page 26: Codelab - Análise de Redes Sociais com Python

Criação do grafo de hashtags

Lê o arquivo de tweets

Extrai as hashtags

Cria uma aresta para as hashtags que estiverem em um mesmo tweet

Page 27: Codelab - Análise de Redes Sociais com Python

Métricas com grafosAlgoritmos e ferramentas

Page 28: Codelab - Análise de Redes Sociais com Python

Grau dos vértices

Degree (grau)

Grau de Entrada e Saída

Degree Centrality

Page 29: Codelab - Análise de Redes Sociais com Python

Grau dos vértices

Influência

Número de conexões

WomenTechmakers

José

Joana

Ana

Page 30: Codelab - Análise de Redes Sociais com Python

Closeness

O quão próximo um vértice está dos demais

Caminhos mínimos

WomenTechmakers

José

Joana

Ana

Page 31: Codelab - Análise de Redes Sociais com Python

Closeness

Disseminação de informações

Quem é a pessoa/lugar que irá atingir mais pessoas?

Page 32: Codelab - Análise de Redes Sociais com Python

Grau de clusterização

Capacidade de um nó de conectar-se com os outros

#IWD2015 #WTM

#mulheresNaTecnologia

#tech

Page 33: Codelab - Análise de Redes Sociais com Python

Visualização de dadosO.O

Page 34: Codelab - Análise de Redes Sociais com Python

Ferramentas

NetworkX /Matplotlib

Cytoscape

Gephi

iGraph

Page 36: Codelab - Análise de Redes Sociais com Python

Cytoscape

From Network File > GML

Page 37: Codelab - Análise de Redes Sociais com Python

[email protected]úvidas, sugestões, troca de ideias