codelab - análise de redes sociais com python

Post on 15-Jul-2015

418 Views

Category:

Data & Analytics

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Análise de Redes Sociais com PythonWomen Techmakers 2015

Ana Paula Gomes

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

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

Redes complexasComeçando pelo começo

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?

Coleta dos dadosPrecisamos usar alguma coisa

Coleta de dados

Marvel

Yelp

Foursquare

Twitter :)

Coringa:

Programmable Web

Lod-cloud

Coleta de Dados do Twitter

Modalidades:

Streaming

Search

Coleta de Dados do Twitter

Restrições:

1% da base

Search

15 requisições numa janela de 15 minutos

Coleta de Dados do Twitter

Tudo documentado em: dev.twitter.com

Passos:

Criar uma aplicação

Instalar TwitterAPI

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')

Coleta do Twitter via Search

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

Coleta do Twitter via Streaming

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

Dicas

JSON

SimpleJSON

JSONLint

Códigos de resposta

GrafosRelacionar é preciso

Grafos

Estrutura que demonstra relacionamentos entre entidades

Vértice VérticeAresta

Grafos

Estrutura que demonstra relacionamentos entre entidades

Maria Joséamigos

Grafos

Estrutura que demonstra relacionamentos entre entidades

Maria José

Rede de amigosJoana

Ana

Algumas métricas

Degree (grau)

Closeness

Betweenness

Clustering

Page Rank

Voltando as perguntas!

Quais termos estão relacionados ao #WomenTechmakers?

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

Modelagem - Hashtags

#IWD2015 #WTM

#mulheresNaTecnologia

#tech

Modelagem - Perfis influentes

WomenTechmakers José

Joana

Ana

NetworkX

Biblioteca para grafos: NetworkX

pip install networkx

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")

NetworkX

nx.draw(G)

print G.edges()

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

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

Métricas com grafosAlgoritmos e ferramentas

Grau dos vértices

Degree (grau)

Grau de Entrada e Saída

Degree Centrality

Grau dos vértices

Influência

Número de conexões

WomenTechmakers

José

Joana

Ana

Closeness

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

Caminhos mínimos

WomenTechmakers

José

Joana

Ana

Closeness

Disseminação de informações

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

Grau de clusterização

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

#IWD2015 #WTM

#mulheresNaTecnologia

#tech

Visualização de dadosO.O

Ferramentas

NetworkX /Matplotlib

Cytoscape

Gephi

iGraph

Cytoscape

From Network File > GML

apgomes88@gmail.comDúvidas, sugestões, troca de ideias

top related