• Save
Mining the social graph
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Mining the social graph

on

  • 2,415 views

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

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

Statistics

Views

Total Views
2,415
Views on SlideShare
2,408
Embed Views
7

Actions

Likes
11
Downloads
0
Comments
1

4 Embeds 7

http://www.linkedin.com 3
https://www.linkedin.com 2
http://paper.li 1
http://a0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • please make this presentation available to download
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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

Mining the social graph Presentation 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!