Codelab - Análise de Redes Sociais com Python

962 visualizações

Publicada em

Publicada em: Dados e análise
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
962
No SlideShare
0
A partir de incorporações
0
Número de incorporações
85
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Codelab - Análise de Redes Sociais com Python

  1. 1. Análise de Redes Sociais com Python Women Techmakers 2015 Ana Paula Gomes
  2. 2. 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
  3. 3. 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
  4. 4. Redes complexas Começando pelo começo
  5. 5. 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?
  6. 6. Coleta dos dados Precisamos usar alguma coisa
  7. 7. Coleta de dados Marvel Yelp Foursquare Twitter :) Coringa: Programmable Web Lod-cloud
  8. 8. Coleta de Dados do Twitter Modalidades: Streaming Search
  9. 9. Coleta de Dados do Twitter Restrições: 1% da base Search 15 requisições numa janela de 15 minutos
  10. 10. Coleta de Dados do Twitter Tudo documentado em: dev.twitter.com Passos: Criar uma aplicação Instalar TwitterAPI
  11. 11. 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')
  12. 12. Coleta do Twitter via Search resultado = twitter_api.request('search/tweets', {'q': '#womentechmakers', 'lang': 'en', 'count': '100'})
  13. 13. Coleta do Twitter via Streaming resultado = twitter_api.request('statuses/filter', {'track': 'python'})
  14. 14. Dicas JSON SimpleJSON JSONLint Códigos de resposta
  15. 15. Grafos Relacionar é preciso
  16. 16. Grafos Estrutura que demonstra relacionamentos entre entidades Vértice Vértice Aresta
  17. 17. Grafos Estrutura que demonstra relacionamentos entre entidades Maria José amigos
  18. 18. Grafos Estrutura que demonstra relacionamentos entre entidades Maria José Rede de amigos Joana Ana
  19. 19. Algumas métricas Degree (grau) Closeness Betweenness Clustering Page Rank
  20. 20. Voltando as perguntas! Quais termos estão relacionados ao #WomenTechmakers? Quais pessoas são mais influentes dentre as pessoas que falam sobre o #WomenTechmakers?
  21. 21. Modelagem - Hashtags #IWD2015 #WTM #mulheresNaTecnologia #tech
  22. 22. Modelagem - Perfis influentes WomenTechmakers José Joana Ana
  23. 23. NetworkX Biblioteca para grafos: NetworkX pip install networkx
  24. 24. NetworkX import 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")
  25. 25. NetworkX nx.draw(G) print G.edges() nx.write_gml(G, "grafo_hashtag.gml")
  26. 26. 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
  27. 27. Métricas com grafos Algoritmos e ferramentas
  28. 28. Grau dos vértices Degree (grau) Grau de Entrada e Saída Degree Centrality
  29. 29. Grau dos vértices Influência Número de conexões WomenTechmakers José Joana Ana
  30. 30. Closeness O quão próximo um vértice está dos demais Caminhos mínimos WomenTechmakers José Joana Ana
  31. 31. Closeness Disseminação de informações Quem é a pessoa/lugar que irá atingir mais pessoas?
  32. 32. Grau de clusterização Capacidade de um nó de conectar-se com os outros #IWD2015 #WTM #mulheresNaTecnologia #tech
  33. 33. Visualização de dados O.O
  34. 34. Ferramentas NetworkX /Matplotlib Cytoscape Gephi iGraph
  35. 35. NetworkX Gallery
  36. 36. Cytoscape From Network File > GML
  37. 37. apgomes88@gmail.com Dúvidas, sugestões, troca de ideias

×