From e266e762c25ae7ad198fa3454fe01fd285f668e9 Mon Sep 17 00:00:00 2001 From: Jack005 Date: Tue, 14 Oct 2014 15:59:06 -0700 Subject: [PATCH 1/2] Corr between centrality and community full version --- ...between centrality and community 0.1.ipynb | 430 ++++++++++++++++++ 1 file changed, 430 insertions(+) create mode 100644 examples/Corr between centrality and community 0.1.ipynb diff --git a/examples/Corr between centrality and community 0.1.ipynb b/examples/Corr between centrality and community 0.1.ipynb new file mode 100644 index 00000000..ad22597a --- /dev/null +++ b/examples/Corr between centrality and community 0.1.ipynb @@ -0,0 +1,430 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:8b8e00dccdcb9fcc9c23efc7a414aa060aec692c42032eb68b275a4617b1e9ed" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An IPython notebook that explores the relationship(correlation) between betweenness centrality and community membership of a number of mailing-lists in a given time period." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from bigbang.archive import Archive\n", + "import bigbang.parse as parse\n", + "import bigbang.graph as graph\n", + "import bigbang.mailman as mailman\n", + "import bigbang.process as process\n", + "import networkx as nx\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "from pprint import pprint as pp\n", + "import pytz\n", + "import numpy as np\n", + "import math\n", + "from itertools import repeat" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "urls = [\"http://mail.scipy.org/pipermail/ipython-dev/\",\n", + " \"http://mail.scipy.org/pipermail/ipython-user/\",\n", + " \"http://mail.scipy.org/pipermail/scipy-dev/\",\n", + " \"http://mail.scipy.org/pipermail/scipy-user/\",\n", + " \"http://mail.scipy.org/pipermail/numpy-discussion/\"]\n", + "\n", + "\n", + "archives= [Archive(url,archive_dir=\"../archives\") for url in urls]" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Opening 138 archive files\n", + "Opening 139 archive files" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Opening 160 archive files" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Opening 159 archive files" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Date parsing error on: " + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "pon, 4 stu 2002 16:22:52\n", + "Opening 177 archive files" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Date parsing error on: " + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Wed, 01 Nov 2006 15:46:73 +0800\n", + "Date parsing error on: " + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Wed, 01 Nov 2006 15:46:73 +0800\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following sets start month and end month, both inclusive." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "date_from_whole = [2010,1] #Include June(Start month)\n", + "date_to_whole = [2012,12] #Include December(End month)\n", + "total_month = (date_to_whole[0] - date_from_whole[0])*12 + (date_to_whole[1]-date_from_whole[1]+1)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "date_from = []\n", + "date_to = []\n", + "temp_year = date_from_whole[0]\n", + "temp_month = date_from_whole[1]\n", + "\n", + "for i in range(total_month):\n", + " date_from.append(pd.datetime(temp_year,temp_month,1,tzinfo=pytz.utc))\n", + " if temp_month == 12:\n", + " temp_year += 1\n", + " temp_month = 0\n", + " date_to.append(pd.datetime(temp_year,temp_month+1,1,tzinfo=pytz.utc))\n", + " temp_month += 1\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def filter_by_date(df,d_from,d_to):\n", + " return df[(df['Date'] > d_from) & (df['Date'] < d_to)]" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 7 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "IG = []\n", + "for k in range(total_month):\n", + " dfs = [filter_by_date(arx.data,\n", + " date_from[k],\n", + " date_to[k]) for arx in archives]\n", + " bdf = pd.concat(dfs)\n", + " IG.append(graph.messages_to_interaction_graph(bdf))\n", + "\n", + "#RG = graph.messages_to_reply_graph(messages)\n", + "\n", + "#IG = graph.messages_to_interaction_graph(bdf)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 8 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "bc = []\n", + "for j in range(total_month):\n", + " bc.append(pd.Series(nx.betweenness_centrality(IG[j])))" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 9 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "len(bc)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 10, + "text": [ + "36" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "new_dict is a dictionary with keys as users' names, and values of their community membership(can have different interpretation)\n", + "Here the community membership for a user is defined as sum of log(Ni + 1), with Ni corresponds to the number of emails a user sent to Mailing list i." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "new_dict = [{} for i in repeat(None, total_month)]\n", + "for t in range(total_month):\n", + " filtered_activity = []\n", + " for i in range(5):\n", + " df = archives[i].data\n", + " fdf = filter_by_date(df,date_from[t],date_to[t])\n", + " filtered_activity.append(Archive(fdf).get_activity().sum())\n", + " for k in range(len(filtered_activity)):\n", + " for g in range(len(filtered_activity[k])):\n", + " original_key = filtered_activity[k].keys()[g]\n", + " new_key = (original_key[original_key.index(\"(\") + 1:original_key.rindex(\")\")])\n", + " if new_key not in new_dict[t]:\n", + " new_dict[t][new_key] = 0\n", + " new_dict[t][new_key] += math.log(filtered_activity[k].get_values()[g]+1)\n", + " #can define community membership by changing the above line.\n", + " #example, direct sum of emails would be \n", + " #new_dict[t][new_key] += filtered_activity[k].get_values()[g]\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stderr", + "text": [ + "/Users/jiabinchen/Desktop/Research/asd/bigbang/bigbang/archive.py:124: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_index,col_indexer] = value instead\n", + " mdf2['Date'] = mdf['Date'].apply(lambda x: x.toordinal())\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#check if there's name difference, return nothing if perfect.\n", + "for i in range(total_month):\n", + " set(new_dict[i].keys()).difference(bc[i].index.values)\n", + " set(bc[i].index.values).difference(new_dict[i].keys())" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 20 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#A list of corresponding betweenness centrality and community membership for all users, monthly\n", + "comparison = []\n", + "for i in range(len(new_dict)):\n", + " comparison.append(pd.DataFrame([new_dict[i], bc[i]]))" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 24 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "corr = []\n", + "for i in range(len(new_dict)):\n", + " corr.append(np.corrcoef(comparison[i].get_values()[0],comparison[i].get_values()[1])[0,1])" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 25 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "corr" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 26, + "text": [ + "[0.82929207408833205,\n", + " 0.85566888230103844,\n", + " 0.75397063395005304,\n", + " 0.83642890334334041,\n", + " 0.81197873930939723,\n", + " 0.85464965736507048,\n", + " 0.80729454292678027,\n", + " 0.73979678588252529,\n", + " 0.82140636815085311,\n", + " 0.85011707320133278,\n", + " 0.79169238902694983,\n", + " 0.85132150025120212,\n", + " 0.77848668611739147,\n", + " 0.85729123014235586,\n", + " 0.77600944975986674,\n", + " 0.82044294970135978,\n", + " 0.80209059968746688,\n", + " 0.78422369687635451,\n", + " 0.80925731756238384,\n", + " 0.87894184110790119,\n", + " 0.79427800467519871,\n", + " 0.78140736420187396,\n", + " 0.81931212007104359,\n", + " 0.87273314623332487,\n", + " 0.85134795972168797,\n", + " 0.86513549086118247,\n", + " 0.86231234069217555,\n", + " 0.83929030424228623,\n", + " 0.83599211525531736,\n", + " 0.83949865448965943,\n", + " 0.81128498205614141,\n", + " 0.86279436831540468,\n", + " 0.84434125545487315,\n", + " 0.84580847808338488,\n", + " 0.78854771701641901,\n", + " 0.81354521206580754]" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "x = range(1,total_month+1)\n", + "y = corr\n", + "plt.plot(x, y)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 27, + "text": [ + "[]" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From 664b07baee006df9058c512a377f40a6e6736767 Mon Sep 17 00:00:00 2001 From: Jack005 Date: Wed, 15 Oct 2014 10:11:21 -0700 Subject: [PATCH 2/2] Plot two lines in order to try different definition of community membership --- ...between centrality and community 0.1.ipynb | 143 ++++++++++-------- 1 file changed, 78 insertions(+), 65 deletions(-) diff --git a/examples/Corr between centrality and community 0.1.ipynb b/examples/Corr between centrality and community 0.1.ipynb index ad22597a..afa094c3 100644 --- a/examples/Corr between centrality and community 0.1.ipynb +++ b/examples/Corr between centrality and community 0.1.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:8b8e00dccdcb9fcc9c23efc7a414aa060aec692c42032eb68b275a4617b1e9ed" + "signature": "sha256:f30bcb8447c34a58dffd10145e37b50436f94fe8d64d987f8aa9a7a773526bc4" }, "nbformat": 3, "nbformat_minor": 0, @@ -256,6 +256,7 @@ "collapsed": false, "input": [ "new_dict = [{} for i in repeat(None, total_month)]\n", + "new_dict1 = [{} for i in repeat(None, total_month)]\n", "for t in range(total_month):\n", " filtered_activity = []\n", " for i in range(5):\n", @@ -268,26 +269,29 @@ " new_key = (original_key[original_key.index(\"(\") + 1:original_key.rindex(\")\")])\n", " if new_key not in new_dict[t]:\n", " new_dict[t][new_key] = 0\n", + " new_dict1[t][new_key] = 0\n", " new_dict[t][new_key] += math.log(filtered_activity[k].get_values()[g]+1)\n", " #can define community membership by changing the above line.\n", " #example, direct sum of emails would be \n", - " #new_dict[t][new_key] += filtered_activity[k].get_values()[g]\n", - " " + " new_dict1[t][new_key] += filtered_activity[k].get_values()[g]\n" ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "/Users/jiabinchen/Desktop/Research/asd/bigbang/bigbang/archive.py:124: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_index,col_indexer] = value instead\n", - " mdf2['Date'] = mdf['Date'].apply(lambda x: x.toordinal())\n" - ] - } + "outputs": [], + "prompt_number": 31 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "for i in range(len(new_dict1)):\n", + " [x+1 for x in new_dict1[i].values()]\n", + " [np.log(x) for x in new_dict1[i].values()]" ], - "prompt_number": 11 + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 47 }, { "cell_type": "code", @@ -296,12 +300,14 @@ "#check if there's name difference, return nothing if perfect.\n", "for i in range(total_month):\n", " set(new_dict[i].keys()).difference(bc[i].index.values)\n", - " set(bc[i].index.values).difference(new_dict[i].keys())" + " set(bc[i].index.values).difference(new_dict[i].keys())\n", + " set(new_dict1[i].keys()).difference(bc[i].index.values)\n", + " set(bc[i].index.values).difference(new_dict1[i].keys())" ], "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 20 + "prompt_number": 49 }, { "cell_type": "code", @@ -309,32 +315,36 @@ "input": [ "#A list of corresponding betweenness centrality and community membership for all users, monthly\n", "comparison = []\n", + "comparison1 = []\n", "for i in range(len(new_dict)):\n", - " comparison.append(pd.DataFrame([new_dict[i], bc[i]]))" + " comparison.append(pd.DataFrame([new_dict[i], bc[i]]))\n", + " comparison1.append(pd.DataFrame([new_dict1[i], bc[i]]))" ], "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 24 + "prompt_number": 53 }, { "cell_type": "code", "collapsed": false, "input": [ "corr = []\n", + "corr1 = []\n", "for i in range(len(new_dict)):\n", - " corr.append(np.corrcoef(comparison[i].get_values()[0],comparison[i].get_values()[1])[0,1])" + " corr.append(np.corrcoef(comparison[i].get_values()[0],comparison[i].get_values()[1])[0,1])\n", + " corr1.append(np.corrcoef(comparison1[i].get_values()[0],comparison1[i].get_values()[1])[0,1])" ], "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 25 + "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ - "corr" + "corr1" ], "language": "python", "metadata": {}, @@ -342,56 +352,59 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 26, + "prompt_number": 56, "text": [ - "[0.82929207408833205,\n", - " 0.85566888230103844,\n", - " 0.75397063395005304,\n", - " 0.83642890334334041,\n", - " 0.81197873930939723,\n", - " 0.85464965736507048,\n", - " 0.80729454292678027,\n", - " 0.73979678588252529,\n", - " 0.82140636815085311,\n", - " 0.85011707320133278,\n", - " 0.79169238902694983,\n", - " 0.85132150025120212,\n", - " 0.77848668611739147,\n", - " 0.85729123014235586,\n", - " 0.77600944975986674,\n", - " 0.82044294970135978,\n", - " 0.80209059968746688,\n", - " 0.78422369687635451,\n", - " 0.80925731756238384,\n", - " 0.87894184110790119,\n", - " 0.79427800467519871,\n", - " 0.78140736420187396,\n", - " 0.81931212007104359,\n", - " 0.87273314623332487,\n", - " 0.85134795972168797,\n", - " 0.86513549086118247,\n", - " 0.86231234069217555,\n", - " 0.83929030424228623,\n", - " 0.83599211525531736,\n", - " 0.83949865448965943,\n", - " 0.81128498205614141,\n", - " 0.86279436831540468,\n", - " 0.84434125545487315,\n", - " 0.84580847808338488,\n", - " 0.78854771701641901,\n", - " 0.81354521206580754]" + "[0.96037411067096634,\n", + " 0.9290138698150141,\n", + " 0.89425367964646685,\n", + " 0.89917617005470662,\n", + " 0.92991018321441909,\n", + " 0.82147285776944867,\n", + " 0.87427839105054217,\n", + " 0.90600460345005496,\n", + " 0.88271122203671915,\n", + " 0.88553587680879164,\n", + " 0.85441186827144266,\n", + " 0.93719201756052384,\n", + " 0.83104612834996139,\n", + " 0.774586996595649,\n", + " 0.84519537229516306,\n", + " 0.85677539808041736,\n", + " 0.88870809362997261,\n", + " 0.8167283158671691,\n", + " 0.90511019084905298,\n", + " 0.89887965432552719,\n", + " 0.86415159226754346,\n", + " 0.87402695037197142,\n", + " 0.76063235325679746,\n", + " 0.90447740840444568,\n", + " 0.91035098143920701,\n", + " 0.9221783659392957,\n", + " 0.94070862509041964,\n", + " 0.95431393892826144,\n", + " 0.93629494205905239,\n", + " 0.90463638705091931,\n", + " 0.86892862334827548,\n", + " 0.8758045601354455,\n", + " 0.92942914877260052,\n", + " 0.92685099851158981,\n", + " 0.88117423471033274,\n", + " 0.86581332777478748]" ] } ], - "prompt_number": 26 + "prompt_number": 56 }, { "cell_type": "code", "collapsed": false, "input": [ + "#Blue as sum of log, red as log of sum, respect to community membership\n", "x = range(1,total_month+1)\n", "y = corr\n", - "plt.plot(x, y)" + "plt.plot(x, y, marker='o')\n", + "z = corr1\n", + "plt.plot(x, z, marker='o', linestyle='--', color='r')" ], "language": "python", "metadata": {}, @@ -399,21 +412,21 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 27, + "prompt_number": 57, "text": [ - "[]" + "[]" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\n", + "png": "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\nA6UubPu4WOP7AAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 27 + "prompt_number": 57 }, { "cell_type": "code",