Skip to content

Instantly share code, notes, and snippets.

@rmcgibbo
Created January 15, 2013 20:32
Show Gist options
  • Save rmcgibbo/4541776 to your computer and use it in GitHub Desktop.
Save rmcgibbo/4541776 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "sparse v dense benchmark"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import pandas as pd\n",
"import scipy.sparse\n",
"import scipy.sparse.linalg\n",
"%load_ext rmagic\n",
"N_TRIALS = 10\n",
"\n",
"def timeit(func):\n",
" import time\n",
" def wrapper(*arg,**kw):\n",
" '''source: http://www.daniweb.com/code/snippet368.html'''\n",
" dt = []\n",
" for i in range(N_TRIALS):\n",
" t1 = time.time()\n",
" res = func(*arg,**kw)\n",
" t2 = time.time()\n",
" dt.append(t2-t1)\n",
" return np.mean(dt)\n",
" return wrapper\n",
"\n",
"def make_transition_matrix(n, density=0.5):\n",
" \"\"\"A random transition matrix of size n x n\n",
" \n",
" Parameters\n",
" ----------\n",
" n : int\n",
" size\n",
" density : float\n",
" approx proportion og entries in the transition\n",
" matrix that are nonzero\n",
" \"\"\"\n",
" counts = scipy.sparse.rand(n, n, density=density - 1.0 / n, format='csr')\n",
" counts = counts + scipy.sparse.eye(n, n)\n",
" \n",
" T = counts + counts.T\n",
" # np broadcasting goes along the first dimension, so we need to do\n",
" # a little flipping (and then flipping back)\n",
" T = T.todense()\n",
" #T = (T.T / T.sum(1)).T\n",
" T = T / T.sum(1)\n",
"\n",
" # make sure we didn't mess up the normalization\n",
" np.testing.assert_array_almost_equal(np.array(T.sum(1)).reshape(n,), np.ones(n))\n",
" \n",
" return T\n",
"\n",
"@timeit\n",
"def sparse_eigs(*args, **kwargs):\n",
" scipy.sparse.linalg.eigs(*args, **kwargs)\n",
"\n",
"@timeit\n",
"def dense_eigs(*args, **kwargs):\n",
" np.linalg.eig(*args, **kwargs)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"n_size = 25\n",
"n_density = 5\n",
"\n",
"df = pd.DataFrame(np.zeros((n_size*n_density, 4)), columns=['size', 'density', 'sparse_time', 'dense_time'])\n",
"pointer = 0\n",
"\n",
"for size in np.array(np.linspace(10, 250, n_size), dtype=np.int):\n",
" for density in np.linspace(0.1, 0.9, n_density): \n",
" T = make_transition_matrix(n=size, density=density)\n",
" sparse_time = sparse_eigs(T, k=6)\n",
" dense_time = dense_eigs(T)\n",
" df.ix[pointer,:] = (size, density, sparse_time, dense_time)\n",
" pointer += 1\n",
" \n",
" print '#',\n",
"\n",
"print\n",
"print df"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# # # # "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"#\n",
" size density sparse_time dense_time\n",
"0 10 0.1 0.001207 0.000100\n",
"1 10 0.3 0.001025 0.000143\n",
"2 10 0.5 0.001011 0.000138\n",
"3 10 0.7 0.001007 0.000133\n",
"4 10 0.9 0.001044 0.000134\n",
"5 20 0.1 0.014451 0.000223\n",
"6 20 0.3 0.011511 0.000276\n",
"7 20 0.5 0.011483 0.000276\n",
"8 20 0.7 0.006219 0.000272\n",
"9 20 0.9 0.007064 0.000273\n",
"10 30 0.1 0.022935 0.000538\n",
"11 30 0.3 0.010784 0.000532\n",
"12 30 0.5 0.010256 0.000531\n",
"13 30 0.7 0.011053 0.000502\n",
"14 30 0.9 0.008346 0.000517\n",
"15 40 0.1 0.013909 0.001048\n",
"16 40 0.3 0.012916 0.001031\n",
"17 40 0.5 0.010625 0.000986\n",
"18 40 0.7 0.011934 0.000975\n",
"19 40 0.9 0.013563 0.001016\n",
"20 50 0.1 0.015653 0.001586\n",
"21 50 0.3 0.015899 0.001560\n",
"22 50 0.5 0.016643 0.001681\n",
"23 50 0.7 0.014252 0.001663\n",
"24 50 0.9 0.013810 0.001576\n",
"25 60 0.1 0.019485 0.002599\n",
"26 60 0.3 0.019325 0.002365\n",
"27 60 0.5 0.014323 0.002402\n",
"28 60 0.7 0.015452 0.002740\n",
"29 60 0.9 0.017078 0.004070\n",
"30 70 0.1 0.026597 0.003861\n",
"31 70 0.3 0.016679 0.003694\n",
"32 70 0.5 0.018601 0.003757\n",
"33 70 0.7 0.018372 0.003871\n",
"34 70 0.9 0.016814 0.003691\n",
"35 80 0.1 0.030456 0.006149\n",
"36 80 0.3 0.014175 0.005948\n",
"37 80 0.5 0.017830 0.005738\n",
"38 80 0.7 0.021359 0.006349\n",
"39 80 0.9 0.027662 0.005804\n",
"40 90 0.1 0.020353 0.008255\n",
"41 90 0.3 0.021820 0.007997\n",
"42 90 0.5 0.031778 0.007982\n",
"43 90 0.7 0.030500 0.007639\n",
"44 90 0.9 0.031956 0.008917\n",
"45 100 0.1 0.016101 0.009819\n",
"46 100 0.3 0.018423 0.009979\n",
"47 100 0.5 0.021502 0.009769\n",
"48 100 0.7 0.024763 0.009445\n",
"49 100 0.9 0.026903 0.011053\n",
"50 110 0.1 0.021150 0.012210\n",
"51 110 0.3 0.016870 0.011875\n",
"52 110 0.5 0.018776 0.011460\n",
"53 110 0.7 0.022251 0.015550\n",
"54 110 0.9 0.032603 0.012051\n",
"55 120 0.1 0.024800 0.013823\n",
"56 120 0.3 0.022043 0.014776\n",
"57 120 0.5 0.026468 0.015668\n",
"58 120 0.7 0.028202 0.014174\n",
"59 120 0.9 0.020582 0.014454\n",
"60 130 0.1 0.032404 0.017226\n",
"61 130 0.3 0.030996 0.016831\n",
"62 130 0.5 0.033792 0.016626\n",
"63 130 0.7 0.029218 0.016996\n",
"64 130 0.9 0.027052 0.016966\n",
"65 140 0.1 0.031006 0.021202\n",
"66 140 0.3 0.027897 0.020608\n",
"67 140 0.5 0.031929 0.020537\n",
"68 140 0.7 0.034276 0.020725\n",
"69 140 0.9 0.042606 0.021447\n",
"70 150 0.1 0.028960 0.032630\n",
"71 150 0.3 0.027383 0.031821\n",
"72 150 0.5 0.034579 0.031059\n",
"73 150 0.7 0.023871 0.031705\n",
"74 150 0.9 0.041285 0.032248\n",
"75 160 0.1 0.026790 0.037908\n",
"76 160 0.3 0.027081 0.037135\n",
"77 160 0.5 0.044906 0.034874\n",
"78 160 0.7 0.041349 0.036939\n",
"79 160 0.9 0.048845 0.035966\n",
"80 170 0.1 0.037856 0.046688\n",
"81 170 0.3 0.034456 0.047142\n",
"82 170 0.5 0.034378 0.045298\n",
"83 170 0.7 0.039280 0.045078\n",
"84 170 0.9 0.054198 0.045720\n",
"85 180 0.1 0.033721 0.060801\n",
"86 180 0.3 0.041124 0.060228\n",
"87 180 0.5 0.032830 0.065395\n",
"88 180 0.7 0.042203 0.061119\n",
"89 180 0.9 0.033924 0.062742\n",
"90 190 0.1 0.027186 0.063448\n",
"91 190 0.3 0.054800 0.067460\n",
"92 190 0.5 0.039351 0.064271\n",
"93 190 0.7 0.038785 0.067669\n",
"94 190 0.9 0.027754 0.074156\n",
"95 200 0.1 0.041934 0.071063\n",
"96 200 0.3 0.037094 0.070625\n",
"97 200 0.5 0.041124 0.079173\n",
"98 200 0.7 0.035155 0.085166\n",
"99 200 0.9 0.058544 0.075985\n",
"100 210 0.1 0.056610 0.084643\n",
"101 210 0.3 0.035850 0.090883\n",
"102 210 0.5 0.051117 0.084733\n",
"103 210 0.7 0.043375 0.083973\n",
"104 210 0.9 0.040300 0.081286\n",
"105 220 0.1 0.035930 0.085715\n",
"106 220 0.3 0.045766 0.084926\n",
"107 220 0.5 0.039167 0.084446\n",
"108 220 0.7 0.044889 0.095824\n",
"109 220 0.9 0.050461 0.083742\n",
"110 230 0.1 0.035760 0.098083\n",
"111 230 0.3 0.046894 0.094452\n",
"112 230 0.5 0.040841 0.102616\n",
"113 230 0.7 0.054112 0.089173\n",
"114 230 0.9 0.040027 0.094966\n",
"115 240 0.1 0.037391 0.097992\n",
"116 240 0.3 0.035825 0.097023\n",
"117 240 0.5 0.049244 0.099765\n",
"118 240 0.7 0.061088 0.102319\n",
"119 240 0.9 0.061612 0.099815\n",
"120 250 0.1 0.045099 0.117862\n",
"121 250 0.3 0.040651 0.109162\n",
"122 250 0.5 0.067886 0.111268\n",
"123 250 0.7 0.046501 0.116593\n",
"124 250 0.9 0.038821 0.120753\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"column_names = df.columns.tolist()\n",
"%Rpush df column_names"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%R\n",
"require(ggplot2)\n",
"require(reshape2)\n",
"df = data.frame(df)\n",
"# these didn't get transfered\n",
"colnames(df) = column_names\n",
"df2 = melt(df, id.vars = c(\"size\", \"density\"), variable.name=\"method\", value.name='time')\n",
"df\n",
"\n",
"p = ggplot(data=df2)\n",
"p = p + geom_point(aes(x=size, y=time, colour=method, shape=method))\n",
"print(p)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"text": [
"Loading required package: ggplot2\n",
"Loading required package: reshape2\n",
"Warning message:\n",
"package 'ggplot2' was built under R version 2.14.2 \n"
]
},
{
"output_type": "display_data",
"png": "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\n"
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment