Your SlideShare is downloading. ×
Mining the social graph
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mining the social graph

2,106
views

Published on

Introduction for mining the social graph with Neo4j and R and Gephi.

Introduction for mining the social graph with Neo4j and R and Gephi.

Published in: Technology

1 Comment
13 Likes
Statistics
Notes
  • please make this presentation available to download
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,106
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
1
Likes
13
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • ・TCもmysqlも現役だし、大好き\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Mining the Social Graph mixi.inc Shunya Kimura
    • 2. Introduction• Name: Shunya Kimura • twitter: @kimuras• Job:Data mining, Software engineering • text mining, graph mining, search engine
    • 3. Agenda• Introduction• The past work• Introduction to GraphDB• Introduction to Neo4j• Introduction to analysis sample
    • 4. Introduction
    • 5. Motivation for social graph analysis Test of millions of nodes, hundreds of millions of edges. The diversity of graph algorithm by developing distributed processing technology. Challenging.
    • 6. Number of users on mixi 30000000 ID 22500000# of member id 15000000 7500000 0 2007 2008 2009 2010 2011 year
    • 7. What is Social Graph?
    • 8. Feed Back
    • 9. Feed Back
    • 10. Feed Back
    • 11. Feed Back
    • 12. Feed Back
    • 13. Approach for SG analysis Feed Back
    • 14. Approach for SG analysis Feed Back
    • 15. Approach for SG analysis Feed Back
    • 16. Approach for SG analysis Feed Back
    • 17. The past work
    • 18. • Friend recommend
    • 19. • Friend recommend• Community recommend
    • 20. Relational Databasesfrom_id to_id id name age1 2 1 Kimura 181 3 2 kato 452 3 3 ito 21
    • 21. Relational Databases Dump & Denormalizationfrom_id to_id id name age1 2 1 Kimura 181 3 2 kato 452 3 3 ito 21
    • 22. Relational Databases Dump & Denormalizationfrom_id to_id id name age Key value1 2 1 Kimura 18 From:1 2,31 3 2 kato 45 From:2 32 3 3 ito 21 Prof:1 Kimura,18 Prof:2 Kato,45
    • 23. Relational Databases Dump & Denormalizationfrom_id to_id id name age Key value1 2 1 Kimura 18 From:1 2,31 3 2 kato 45 From:2 32 3 3 ito 21 Prof:1 Kimura,18 Prof:2 Kato,45
    • 24. Relational Databases Dump & Denormalizationfrom_id to_id id name age Key value1 2 1 Kimura 18 From:1 2,31 3 2 kato 45 From:2 32 3 3 ito 21 Prof:1 Kimura,18 Prof:2 Kato,45
    • 25. Relational Databases Dump & Denormalizationfrom_id to_id id name age Key value1 2 1 Kimura 18 From:1 2,31 3 2 kato 45 From:2 32 3 3 ito 21 Prof:1 Kimuras,18 Prof:2 Kato,45
    • 26. Relational Databases Dump & reimplementation Denormalizationfrom_id to_id id name age Key value1 2 1 Kimura 18 From:1 2,31 3 2 kato 45 From:2 32 3 3 ito 21 Prof:1 Kimuras,18 Prof:2 Kato,45
    • 27. Relational Databases Dump & reimplementation Denormalizationfrom_id to_id id name age Key value11 2 3 maintenance cost 1 2 Kimura kato 18 45 From:1 From:2 2,3 32 3 3 ito 21 Prof:1 Kimuras,18 Prof:2 Kato,45
    • 28. Relational Databases Dump & reimplementation Denormalizationfrom_id to_id id name age Key value11 2 3 maintenance cost 1 2 Kimura kato 18 45 From:1 From:2 2,3 32 3 3 ito 21 Prof:1 Kimuras,18 Prof:2 Kato,45 scalability
    • 29. Introduction to GraphDB
    • 30. What is graph
    • 31. What is graph Vertex (node)
    • 32. What is graph Vertex (node)Edge
    • 33. What is graph Vertex (node) Undirected graphEdge
    • 34. What is graph Vertex (node)Edge
    • 35. What is graph Vertex (node)Edge
    • 36. What is graph Vertex (node)Edge
    • 37. What is graph Vertex (node) Directed graphEdge
    • 38. What is GraphDB Vertex (node) Edge
    • 39. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge
    • 40. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge ID: 2 NAME: ITO PROP: Female AGE: 21
    • 41. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge ID: 2 NAME: ITO PROP: Female AGE: 21
    • 42. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge ID: 2 NAME: ITO PROP: Female AGE: 21
    • 43. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge ID: 2ID: 3 NAME: ITOLABEL: Like PROP: FemaleSince: 2011/08/06 AGE: 21OutGoing: 2
    • 44. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge ID: 2ID: 3 NAME: ITOLABEL: Like PROP: FemaleSince: 2011/08/06 AGE: 21OutGoing: 2
    • 45. What is GraphDBID: 1 Vertex (node)NAME: kimuraPROP: MaleAGE: 18 Edge ID: 2ID: 3 NAME: ITOLABEL: Like PROP: FemaleSince: 2011/08/06 AGE: 21OutGoing: 2
    • 46. The implementations for GraphDB http://en.wikipedia.org/wiki/GraphDB
    • 47. Introduction to Neo4j
    • 48. GraphDB Neo4j • True ACID transactions • High availability • Scales to billions of nods and relationships • High speed querying through traversals Single instance(GPLv3) Multiple instance(AGPLv3)Embedded EmbeddedGraphDatabase HighlyAvailableGraphDatabaseStandalone Neo4j Server Neo4j Server high availability mode http://neo4j.org/
    • 49. Other my favorite features for Neo4j http://www.tinkerpop.com/post/4633229547/tinkerpop-graph-stack
    • 50. Other my favorite features for Neo4j• RESTful APIs http://www.tinkerpop.com/post/4633229547/tinkerpop-graph-stack
    • 51. Other my favorite features for Neo4j• RESTful APIs• Query Language(Cypher) http://www.tinkerpop.com/post/4633229547/tinkerpop-graph-stack
    • 52. Other my favorite features for Neo4j• RESTful APIs• Query Language(Cypher)• Full indexing – lucene http://www.tinkerpop.com/post/4633229547/tinkerpop-graph-stack
    • 53. Other my favorite features for Neo4j• RESTful APIs• Query Language(Cypher)• Full indexing – lucene• Implemented graph algorithm – A*, Dijkstra – High speed traverse http://www.tinkerpop.com/post/4633229547/tinkerpop-graph-stack
    • 54. Other my favorite features for Neo4j• RESTful APIs• Query Language(Cypher)• Full indexing – lucene• Implemented graph algorithm – A*, Dijkstra – High speed traverse• Gremlin supported – Like a query language http://www.tinkerpop.com/post/4633229547/tinkerpop-graph-stack
    • 55. Introduction simple Neo4j usecase Single node Multi nodeEmbeddedServer
    • 56. Introduction simple Neo4j usecase Single node Multi nodeEmbedded Analyses systemServer
    • 57. Introduction simple Neo4j usecase Single node Multi nodeEmbedded Analyses system Analyses systemServer
    • 58. Introduction simple Neo4j usecase Single node Multi nodeEmbedded Analyses system Analyses system Analyses systemServer
    • 59. Introduction simple Neo4j usecase Single node Multi nodeEmbedded Analyses system Analyses system Analyses system Analyses systemServer
    • 60. Introduction simple Neo4j usecase Single node Multi nodeEmbedded Analyses system Analyses system Analyses system Analyses systemServer
    • 61. Introduction simple Neo4j usecase Single node Multi node Analyses systemEmbedded Analyses system Analyses system Analyses systemServer
    • 62. Introduction simple Neo4j usecase Single node Multi node Analyses systemEmbedded Analyses system Analyses system Analyses systemServer
    • 63. Introduction to simple embedded Neo4j• Insert Vertices & make Relationships • Single node & Embedded• Traversal sample
    • 64. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { GraphDatabaseService graphDb = new EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty("Name", "Kimura"); Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { tx.finish(); } graphDb.shutdown(); }}
    • 65. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { GraphDatabaseService graphDb = new EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty("Name", "Kimura"); Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { tx.finish(); } graphDb.shutdown(); }}
    • 66. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { ID: 1 GraphDatabaseService graphDb = new NAME: kimura EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty("Name", "Kimura"); Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { tx.finish(); } graphDb.shutdown(); }}
    • 67. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { ID: 1 GraphDatabaseService graphDb = new NAME: kimura EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty("Name", "Kimura"); Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { tx.finish(); } graphDb.shutdown(); }}
    • 68. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { ID: 1 GraphDatabaseService graphDb = new NAME: kimura EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty("Name", "Kimura"); Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { ID: 2 tx.finish(); NAME: Kato } graphDb.shutdown(); }}
    • 69. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { ID: 1 GraphDatabaseService graphDb = new NAME: kimura EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty("Name", "Kimura"); Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { ID: 2 tx.finish(); NAME: Kato } graphDb.shutdown(); }}
    • 70. Insert vertices, make relationshippublic final class InputVertex { public static void main(final String[] args) { ID: 1 GraphDatabaseService graphDb = new NAME: kimura EmbeddedGraphDatabase("/tmp/neo4j"); Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); ID: 3 firstNode.setProperty("Name", "Kimura"); Relation: Like Node secondNode = graphDb.createNode(); secondNode.setProperty("Name", "Kato"); firstNode.createRelationshipTo(secondNode, DynamicRelationshipType.withName("LIKE")); tx.success(); } finally { ID: 2 tx.finish(); NAME: Kato } graphDb.shutdown(); }}
    • 71. Batch Insert • Non thread safe, non transaction • But very fast!public final class Batch { public static void main(final String[] args) { BatchInserter inserter = new BatchInserterImpl("/tmp/neo4j", BatchInserterImpl.loadProperties("/tmp/neo4j.props")); Map<String, Object> prop = new HashMap<String, Object>(); prop.put("Name", "Kimura"); prop.put("Age", 21); long node1 = inserter.createNode(prop); prop.put("Name", "Kato"); prop.put("Age", 21); long node2 = inserter.createNode(prop); inserter.createRelationship(node1, node2, DynamicRelationshipType.withName("LIKE"), null); inserter.shutdown(); }}
    • 72. Traversal sample • You can specify the traverse criteriapublic static void main(final String[] args) { GraphDatabaseService graphDB = new EmbeddedGraphDatabase(args[0]); Node node = graphDB.getNodeById(1); Traverser friends = node.traverse( Order.DEPTH_FIRST, StopEvaluator.END_OF_GRAPH, ReturnableEvaluator.ALL_BUT_START_NODE, DynamicRelationshipType.withName("LIKE"), Direction.OUTGOING); for (Node nodeBuf : friends) { TraversalPosition currentPosition = friends.currentPosition(); } }
    • 73. Traversal sample • You can specify the traverse criteriapublic static void main(final String[] args) { GraphDatabaseService graphDB = new EmbeddedGraphDatabase(args[0]); Node node = graphDB.getNodeById(1); Traverser friends = node.traverse( //how to traversal Order.DEPTH_FIRST, BREADTH_FIRST StopEvaluator.END_OF_GRAPH, ReturnableEvaluator.ALL_BUT_START_NODE, DynamicRelationshipType.withName("LIKE"), Direction.OUTGOING); for (Node nodeBuf : friends) { TraversalPosition currentPosition = friends.currentPosition(); } }
    • 74. Traversal sample • You can specify the traverse criteriapublic static void main(final String[] args) { GraphDatabaseService graphDB = new EmbeddedGraphDatabase(args[0]); Node node = graphDB.getNodeById(1); Traverser friends = node.traverse( //how to traversal Order.DEPTH_FIRST, BREADTH_FIRST //traversal termination condition StopEvaluator.END_OF_GRAPH, DEPTH_ONE ReturnableEvaluator.ALL_BUT_START_NODE, DynamicRelationshipType.withName("LIKE"), Direction.OUTGOING); for (Node nodeBuf : friends) { TraversalPosition currentPosition = friends.currentPosition(); } }
    • 75. Traversal sample • You can specify the traverse criteriapublic static void main(final String[] args) { GraphDatabaseService graphDB = new EmbeddedGraphDatabase(args[0]); Node node = graphDB.getNodeById(1); Traverser friends = node.traverse( //how to traversal Order.DEPTH_FIRST, BREADTH_FIRST //traversal termination condition StopEvaluator.END_OF_GRAPH, DEPTH_ONE // to get the type of node ReturnableEvaluator.ALL_BUT_START_NODE, ALL, isReturnableNode() DynamicRelationshipType.withName("LIKE"), Direction.OUTGOING); for (Node nodeBuf : friends) { TraversalPosition currentPosition = friends.currentPosition(); } }
    • 76. Traversal sample • You can specify the traverse criteriapublic static void main(final String[] args) { GraphDatabaseService graphDB = new EmbeddedGraphDatabase(args[0]); Node node = graphDB.getNodeById(1); Traverser friends = node.traverse( //how to traversal Order.DEPTH_FIRST, BREADTH_FIRST //traversal termination condition StopEvaluator.END_OF_GRAPH, DEPTH_ONE // to get the type of node ReturnableEvaluator.ALL_BUT_START_NODE, ALL, isReturnableNode() // type of relational for traverse DynamicRelationshipType.withName("LIKE"), Direction.OUTGOING); for (Node nodeBuf : friends) { TraversalPosition currentPosition = friends.currentPosition(); } }
    • 77. Traversal sample • You can specify the traverse criteriapublic static void main(final String[] args) { GraphDatabaseService graphDB = new EmbeddedGraphDatabase(args[0]); Node node = graphDB.getNodeById(1); Traverser friends = node.traverse( //how to traversal Order.DEPTH_FIRST, BREADTH_FIRST //traversal termination condition StopEvaluator.END_OF_GRAPH, DEPTH_ONE // to get the type of node ReturnableEvaluator.ALL_BUT_START_NODE, ALL, isReturnableNode() // type of relational for traverse DynamicRelationshipType.withName("LIKE"), // specify a edge type for traverse Direction.OUTGOING); INCOMING, BOTH for (Node nodeBuf : friends) { TraversalPosition currentPosition = friends.currentPosition(); } }
    • 78. Traversal sample Order.BREADTH_FIRST• Breadth-first search
    • 79. Traversal sample Order.BREADTH_FIRST• Breadth-first search
    • 80. Traversal sample Order.BREADTH_FIRST• Breadth-first search
    • 81. Traversal sample Order.BREADTH_FIRST• Breadth-first search
    • 82. Traversal sample Order.BREADTH_FIRST• Breadth-first search
    • 83. Traversal sample Order.BREADTH_FIRST• Breadth-first search
    • 84. Traversal sample Order.DEPTH_FIRST• Depth-first search
    • 85. Traversal sample Order.DEPTH_FIRST• Depth-first search
    • 86. Traversal sample Order.DEPTH_FIRST• Depth-first search
    • 87. Traversal sample Order.DEPTH_FIRST• Depth-first search
    • 88. Traversal sample Order.DEPTH_FIRST• Depth-first search
    • 89. Traversal sample Order.DEPTH_FIRST• Depth-first search
    • 90. Neoclipse sample http://wiki.neo4j.org/content/Neoclipse
    • 91. experiment
    • 92. experiment• Store the mixi’s social graph for Neo4j• Condition • Machine: 24 core CPU, Memory 65GB • Neo4j: BatchInsert, community, embedded• Data • # of node 15 million # of edge 600 million
    • 93. experiment• Store the mixi’s social graph for Neo4j• Condition • Machine: 24 core CPU, Memory 65GB • Neo4j: BatchInsert, community, embedded• Data • # of node 15 million # of edge 600 millionprocess time 513m17sec (about 8.6h)
    • 94. Network Dataset• Stanford Large Network Dataset Collection • SNAP has a Wide variety of graph data! Social Networks Communication networks Citation networks Collaboration networks Web graphs Product co-purchasing networks Internet peer-to-peer networks Road networks Autonomous systems graphs Signed networks Wikipedia networks and metadata Memetracker and Twitter http://snap.stanford.edu/data/index.html
    • 95. Introduction to Analysis Sample
    • 96. Architecture Service Database Analysis Visualization(Social Graph)
    • 97. Architecture Service Database Analysis Visualization(Social Graph)
    • 98. Introduction Analyses Sample• Centrality• Clustering coefficient
    • 99. Centrality• Centrality • to measure the importance of eahc nodes
    • 100. Centrality• Centrality • to measure the importance of eahc nodes
    • 101. Centrality• Centrality • to measure the importance of eahc nodes
    • 102. Centrality • Centrality • to measure the importance of eahc nodescloseness centrality
    • 103. Centrality • Centrality • to measure the importance of eahc nodescloseness centrality Pagerank
    • 104. Centrality • Centrality • to measure the importance of eahc nodescloseness centrality Pagerank degree centrality
    • 105. Centrality • Centrality • to measure the importance of eahc nodescloseness centrality Pagerank degree centrality betweenness centrality
    • 106. Centrality • Centrality • to measure the importance of eahc nodescloseness centrality Pagerank degree centrality betweenness centralityeigenvector centrality
    • 107. Centrality • Centrality • to measure the importance of eahc nodescloseness centrality Pagerank degree centrality betweenness centralityeigenvector centrality centraization
    • 108. Centrality • Centrality • to measure the importance of eahc nodes closeness centrality Pagerankdegree centralitybetweenness centrality eigenvector centrality centraization
    • 109. Centrality • Centrality • to measure the importance of eahc nodes closeness centrality Pagerankdegree centralitybetweenness centrality eigenvector centrality centraization
    • 110. Degree centrality• The simplest measuring. • Counting the number of edge of each nodes. • num of friends
    • 111. Degree centrality• The simplest measuring. • Counting the number of edge of each nodes. • num of friends 1 1 1
    • 112. Degree centrality• The simplest measuring. • Counting the number of edge of each nodes. • num of friends 2 1 1 2 1 2
    • 113. Degree centrality• The simplest measuring. • Counting the number of edge of each nodes. • num of friends 2 1 1 2 1 2
    • 114. Degree centrality• The simplest measuring. • Counting the number of edge of each nodes. • num of friends 2 1 1 5 2 1 2
    • 115. Degree centrality• The simplest measuring. • Counting the number of edge of each nodes. • num of friends 2 1 1 5 2 1 2
    • 116. Degree distribution of mixi • Random sampling the 1000 users • the summary of degree sistributionMin 1st Que. Median Mean 3rd Que. Max1.00 3.00 10.00 25.69 30.00 903.00
    • 117. Degree distribution of mixi
    • 118. Clustering coefficient• Network destiny around any node. • ≒ destiny relationship
    • 119. Clustering coefficient• Network destiny around any node. • ≒ destiny relationship clustering coefficient 0 / 3 = 0 (min)
    • 120. Clustering coefficient• Network destiny around any node. • ≒ destiny relationship clustering coefficient 0 / 3 = 0 (min) clustering coefficient =1/3
    • 121. Clustering coefficient• Network destiny around any node. • ≒ destiny relationship clustering coefficient 0 / 3 = 0 (min) clustering coefficient =1/3 clustering coefficient =2/3
    • 122. Clustering coefficient• Network destiny around any node. • ≒ destiny relationship clustering coefficient 0 / 3 = 0 (min) clustering coefficient =1/3 clustering coefficient =2/3 clustering coefficient = 3 / 3 = 1 (max)
    • 123. Clustering coefficient • Random sampling the 1000 users • summary for Clustering coefficientMin 1st Que. Median Mean 3rd Que. Max0.00 0.00 0.1157 0.2071 0.2667 1.000
    • 124. Clustering coefficient
    • 125. Clustering coefficient
    • 126. the sample of low Clustering coefficient user• degree 25, clustering coefficient 0.08
    • 127. the sample of middle Clustering coefficient user• degree 14, clustering coefficient 0.17
    • 128. the sample of high Clustering coefficient user• degree 10, clustering coefficient 0.68
    • 129. the sample of MAX Clustering coefficient user• degree 4, clustering coefficient 1
    • 130. Visualization Sample
    • 131. • Visualize a my social graph on mixi• Weighting the Edge • Amount of communication(color, thickness)• Weighting the Vertex • cluster coefficient(color, thickness)• visualization tool Gephi http://gephi.org/
    • 132. • Motivation for Social Graph mining• Overview for GraphDB• Introduction for Neo4j• The samples for graph analysis with R• Introduction Visualization tool Gephi
    • 133. Thanks!

    ×