Mercurial > hg > plosone_underreview
changeset 83:a300b571a0b0 branch-tests
merged
author | mpanteli <m.x.panteli@gmail.com> |
---|---|
date | Tue, 26 Sep 2017 21:18:54 +0100 |
parents | 4395037087b6 (diff) c3ab85ed1fa7 (current diff) |
children | 8404ea114e45 |
files | |
diffstat | 3 files changed, 167 insertions(+), 230 deletions(-) [+] |
line wrap: on
line diff
--- a/notebooks/results_for_30_seconds.ipynb Tue Sep 26 14:39:14 2017 +0100 +++ b/notebooks/results_for_30_seconds.ipynb Tue Sep 26 21:18:54 2017 +0100 @@ -204,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "scrolled": true }, @@ -213,138 +213,127 @@ "name": "stdout", "output_type": "stream", "text": [ - "/import/c4dm-04/mariap/lda_data_melodia_8_30sec.pickle\n", + "/import/c4dm-04/mariap/lda_data_melodia_8_30sec.pickle\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/homes/mp305/anaconda/lib/python2.7/site-packages/sklearn/metrics/classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.\n", + " 'precision', 'predicted', average, warn_for)\n", + "/homes/mp305/anaconda/lib/python2.7/site-packages/sklearn/discriminant_analysis.py:455: UserWarning: The priors do not sum to 1. Renormalizing\n", + " UserWarning)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "KNN LDA 0.151978449974\n", "LDA LDA 0.320669835863\n", "SVM LDA 0.0231101788399\n", - "RF LDA 0.0707681464082\n", + "RF LDA 0.0750711341437\n", "KNN LDA 0.0547390436205\n", "LDA LDA 0.150312531138\n", "SVM LDA 0.0787628988868\n", - "RF LDA 0.0311176089141\n", + "RF LDA 0.0325169847578\n", "KNN LDA 0.0232330458268\n", "LDA LDA 0.0702474072041\n", "SVM LDA 0.050068706152\n", - "RF LDA 0.0168479682586\n", + "RF LDA 0.0221962788765\n", "KNN LDA 0.281733731607\n", "LDA LDA 0.198582742899\n", "SVM LDA 0.296355560166\n", - "RF LDA 0.150028594255\n", + "RF LDA 0.138929482109\n", "KNN LDA 0.0857923493684\n", "LDA LDA 0.107355289483\n", "SVM LDA 0.0896098014444\n", - "RF LDA 0.0507616592735\n", + "RF LDA 0.0520582564401\n", "/import/c4dm-04/mariap/pca_data_melodia_8_30sec.pickle\n", "KNN PCA 0.140643930221\n", "LDA PCA 0.175099072208\n", "SVM PCA 0.0149273059799\n", - "RF PCA 0.0456009299668\n", + "RF PCA 0.0436883799804\n", "KNN PCA 0.052516908106\n", "LDA PCA 0.055028942176\n", "SVM PCA 0.0479512645907\n", - "RF PCA 0.0263226873341\n", + "RF PCA 0.0293191117144\n", "KNN PCA 0.0268729640269\n", "LDA PCA 0.0459303318699\n", "SVM PCA 0.0386730267598\n", - "RF PCA 0.0186964838343\n", + "RF PCA 0.0200505661024\n", "KNN PCA 0.220850433533\n", "LDA PCA 0.161502657527\n", "SVM PCA 0.245790916558\n", - "RF PCA 0.139792959142\n", + "RF PCA 0.109652967294\n", "KNN PCA 0.0814272808267\n", "LDA PCA 0.0839732813486\n", "SVM PCA 0.0918638232782\n", - "RF PCA 0.0445219060784\n", + "RF PCA 0.0512694004704\n", "/import/c4dm-04/mariap/nmf_data_melodia_8_30sec.pickle\n", "KNN NMF 0.114298949339\n", "LDA NMF 0.178244078869\n", "SVM NMF 0.0164055663008\n", - "RF NMF 0.0629920627191\n", + "RF NMF 0.0603986437872\n", "KNN NMF 0.043057794756\n", "LDA NMF 0.0586662842996\n", "SVM NMF 0.00781273342686\n", - "RF NMF 0.0322137767606\n", + "RF NMF 0.0394888564357\n", "KNN NMF 0.0285281454673\n", "LDA NMF 0.0463659955869\n", "SVM NMF 0.00768887594564\n", - "RF NMF 0.020364413503\n", + "RF NMF 0.0243236536555\n", "KNN NMF 0.177819886656\n", "LDA NMF 0.166221515627\n", "SVM NMF 0.010788613595\n", - "RF NMF 0.125503851218\n", + "RF NMF 0.125063096463\n", "KNN NMF 0.0795454671166\n", "LDA NMF 0.0856428557896\n", "SVM NMF 0.0116920633048\n", - "RF NMF 0.0415516315034\n", + "RF NMF 0.0410278341205\n", "/import/c4dm-04/mariap/ssnmf_data_melodia_8_30sec.pickle\n", "KNN SSNMF 0.14322692821\n", "LDA SSNMF 0.18320247367\n", "SVM SSNMF 0.0205784326384\n", - "RF SSNMF 0.0453718187022\n", + "RF SSNMF 0.0459476869017\n", "KNN SSNMF 0.0431300683181\n", "LDA SSNMF 0.0533449581285\n", "SVM SSNMF 0.0106542141335\n", - "RF SSNMF 0.031229373819\n", + "RF SSNMF 0.0267217709348\n", "KNN SSNMF 0.0152235481009\n", "LDA SSNMF 0.038872838043\n", "SVM SSNMF 0.00536127803533\n", - "RF SSNMF 0.0181117619327\n", + "RF SSNMF 0.0196169872436\n", "KNN SSNMF 0.227101074174\n", "LDA SSNMF 0.165382484171\n", "SVM SSNMF 0.0184921176111\n", - "RF SSNMF 0.115557523856\n", + "RF SSNMF 0.0924443700566\n", "KNN SSNMF 0.0715413500709\n", "LDA SSNMF 0.0819764377219\n", "SVM SSNMF 0.0138822224913\n", - "RF SSNMF 0.0350133428793\n", + "RF SSNMF 0.0347436738199\n", "/import/c4dm-04/mariap/na_data_melodia_8_30sec.pickle\n", "KNN NA 0.140075287804\n", "LDA NA 0.176953549195\n", "SVM NA 0.0149485545637\n", - "RF NA 0.0826528174744\n", + "RF NA 0.0681836566939\n", "KNN NA 0.0515315452955\n", "LDA NA 0.0599453579616\n", "SVM NA 0.0468615478392\n", - "RF NA 0.0398757075984\n", + "RF NA 0.045878758841\n", "KNN NA 0.0273364752119\n", "LDA NA 0.0378819151174\n", "SVM NA 0.038290667129\n", - "RF NA 0.0317183273408\n", + "RF NA 0.0207492176709\n", "KNN NA 0.221769305159\n", "LDA NA 0.191217962613\n", "SVM NA 0.250268813953\n", - "RF NA 0.113553333212\n", + "RF NA 0.117754824997\n", "KNN NA 0.0814734970192\n", "LDA NA 0.0839348156722\n", "SVM NA 0.0881235182136\n", - "RF NA 0.0586010122134\n", - "\\begin{tabular}{lllrrrrr}\n", - "\\toprule\n", - "{} & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\\\\n", - "\\midrule\n", - "0 & LDA & KNN & 0.151978 & 0.054739 & 0.023233 & 0.281734 & 0.085792 \\\\\n", - "1 & LDA & LDA & 0.320670 & 0.150313 & 0.070247 & 0.198583 & 0.107355 \\\\\n", - "2 & LDA & SVM & 0.023110 & 0.078763 & 0.050069 & 0.296356 & 0.089610 \\\\\n", - "3 & LDA & RF & 0.070768 & 0.031118 & 0.016848 & 0.150029 & 0.050762 \\\\\n", - "4 & PCA & KNN & 0.140644 & 0.052517 & 0.026873 & 0.220850 & 0.081427 \\\\\n", - "5 & PCA & LDA & 0.175099 & 0.055029 & 0.045930 & 0.161503 & 0.083973 \\\\\n", - "6 & PCA & SVM & 0.014927 & 0.047951 & 0.038673 & 0.245791 & 0.091864 \\\\\n", - "7 & PCA & RF & 0.045601 & 0.026323 & 0.018696 & 0.139793 & 0.044522 \\\\\n", - "8 & NMF & KNN & 0.114299 & 0.043058 & 0.028528 & 0.177820 & 0.079545 \\\\\n", - "9 & NMF & LDA & 0.178244 & 0.058666 & 0.046366 & 0.166222 & 0.085643 \\\\\n", - "10 & NMF & SVM & 0.016406 & 0.007813 & 0.007689 & 0.010789 & 0.011692 \\\\\n", - "11 & NMF & RF & 0.062992 & 0.032214 & 0.020364 & 0.125504 & 0.041552 \\\\\n", - "12 & SSNMF & KNN & 0.143227 & 0.043130 & 0.015224 & 0.227101 & 0.071541 \\\\\n", - "13 & SSNMF & LDA & 0.183202 & 0.053345 & 0.038873 & 0.165382 & 0.081976 \\\\\n", - "14 & SSNMF & SVM & 0.020578 & 0.010654 & 0.005361 & 0.018492 & 0.013882 \\\\\n", - "15 & SSNMF & RF & 0.045372 & 0.031229 & 0.018112 & 0.115558 & 0.035013 \\\\\n", - "16 & NA & KNN & 0.140075 & 0.051532 & 0.027336 & 0.221769 & 0.081473 \\\\\n", - "17 & NA & LDA & 0.176954 & 0.059945 & 0.037882 & 0.191218 & 0.083935 \\\\\n", - "18 & NA & SVM & 0.014949 & 0.046862 & 0.038291 & 0.250269 & 0.088124 \\\\\n", - "19 & NA & RF & 0.082653 & 0.039876 & 0.031718 & 0.113553 & 0.058601 \\\\\n", - "\\bottomrule\n", - "\\end{tabular}\n", - "\n" + "RF NA 0.0661199464142\n" ] } ], @@ -354,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -368,23 +357,23 @@ " LDA & KNN & 0.151978 & 0.054739 & 0.023233 & 0.281734 & 0.085792 \\\\\n", " LDA & LDA & 0.320670 & 0.150313 & 0.070247 & 0.198583 & 0.107355 \\\\\n", " LDA & SVM & 0.023110 & 0.078763 & 0.050069 & 0.296356 & 0.089610 \\\\\n", - " LDA & RF & 0.070768 & 0.031118 & 0.016848 & 0.150029 & 0.050762 \\\\\n", + " LDA & RF & 0.075071 & 0.032517 & 0.022196 & 0.138929 & 0.052058 \\\\\n", " PCA & KNN & 0.140644 & 0.052517 & 0.026873 & 0.220850 & 0.081427 \\\\\n", " PCA & LDA & 0.175099 & 0.055029 & 0.045930 & 0.161503 & 0.083973 \\\\\n", " PCA & SVM & 0.014927 & 0.047951 & 0.038673 & 0.245791 & 0.091864 \\\\\n", - " PCA & RF & 0.045601 & 0.026323 & 0.018696 & 0.139793 & 0.044522 \\\\\n", + " PCA & RF & 0.043688 & 0.029319 & 0.020051 & 0.109653 & 0.051269 \\\\\n", " NMF & KNN & 0.114299 & 0.043058 & 0.028528 & 0.177820 & 0.079545 \\\\\n", " NMF & LDA & 0.178244 & 0.058666 & 0.046366 & 0.166222 & 0.085643 \\\\\n", " NMF & SVM & 0.016406 & 0.007813 & 0.007689 & 0.010789 & 0.011692 \\\\\n", - " NMF & RF & 0.062992 & 0.032214 & 0.020364 & 0.125504 & 0.041552 \\\\\n", + " NMF & RF & 0.060399 & 0.039489 & 0.024324 & 0.125063 & 0.041028 \\\\\n", " SSNMF & KNN & 0.143227 & 0.043130 & 0.015224 & 0.227101 & 0.071541 \\\\\n", " SSNMF & LDA & 0.183202 & 0.053345 & 0.038873 & 0.165382 & 0.081976 \\\\\n", " SSNMF & SVM & 0.020578 & 0.010654 & 0.005361 & 0.018492 & 0.013882 \\\\\n", - " SSNMF & RF & 0.045372 & 0.031229 & 0.018112 & 0.115558 & 0.035013 \\\\\n", + " SSNMF & RF & 0.045948 & 0.026722 & 0.019617 & 0.092444 & 0.034744 \\\\\n", " NA & KNN & 0.140075 & 0.051532 & 0.027336 & 0.221769 & 0.081473 \\\\\n", " NA & LDA & 0.176954 & 0.059945 & 0.037882 & 0.191218 & 0.083935 \\\\\n", " NA & SVM & 0.014949 & 0.046862 & 0.038291 & 0.250269 & 0.088124 \\\\\n", - " NA & RF & 0.082653 & 0.039876 & 0.031718 & 0.113553 & 0.058601 \\\\\n", + " NA & RF & 0.068184 & 0.045879 & 0.020749 & 0.117755 & 0.066120 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\n", @@ -402,11 +391,11 @@ " PCA & KNN & 0.140644 & 0.052517 & 0.026873 & 0.220850 & 0.081427 \\\\\n", " NA & KNN & 0.140075 & 0.051532 & 0.027336 & 0.221769 & 0.081473 \\\\\n", " NMF & KNN & 0.114299 & 0.043058 & 0.028528 & 0.177820 & 0.079545 \\\\\n", - " NA & RF & 0.082653 & 0.039876 & 0.031718 & 0.113553 & 0.058601 \\\\\n", - " LDA & RF & 0.070768 & 0.031118 & 0.016848 & 0.150029 & 0.050762 \\\\\n", - " NMF & RF & 0.062992 & 0.032214 & 0.020364 & 0.125504 & 0.041552 \\\\\n", - " PCA & RF & 0.045601 & 0.026323 & 0.018696 & 0.139793 & 0.044522 \\\\\n", - " SSNMF & RF & 0.045372 & 0.031229 & 0.018112 & 0.115558 & 0.035013 \\\\\n", + " LDA & RF & 0.075071 & 0.032517 & 0.022196 & 0.138929 & 0.052058 \\\\\n", + " NA & RF & 0.068184 & 0.045879 & 0.020749 & 0.117755 & 0.066120 \\\\\n", + " NMF & RF & 0.060399 & 0.039489 & 0.024324 & 0.125063 & 0.041028 \\\\\n", + " SSNMF & RF & 0.045948 & 0.026722 & 0.019617 & 0.092444 & 0.034744 \\\\\n", + " PCA & RF & 0.043688 & 0.029319 & 0.020051 & 0.109653 & 0.051269 \\\\\n", " LDA & SVM & 0.023110 & 0.078763 & 0.050069 & 0.296356 & 0.089610 \\\\\n", " SSNMF & SVM & 0.020578 & 0.010654 & 0.005361 & 0.018492 & 0.013882 \\\\\n", " NMF & SVM & 0.016406 & 0.007813 & 0.007689 & 0.010789 & 0.011692 \\\\\n",
--- a/notebooks/sensitivity_experiment.ipynb Tue Sep 26 14:39:14 2017 +0100 +++ b/notebooks/sensitivity_experiment.ipynb Tue Sep 26 21:18:54 2017 +0100 @@ -3,11 +3,16 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { + "name": "stdout", + "output_type": "stream", + "text": [ + "ERROR! Session/line number was not unique in database. History logging moved to new session 32\n" + ] + }, + { "name": "stderr", "output_type": "stream", "text": [ @@ -37,9 +42,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [ "OUTPUT_FILES = load_dataset.OUTPUT_FILES\n", @@ -49,9 +52,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -72,9 +73,7 @@ { "cell_type": "code", "execution_count": 48, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -284,9 +283,7 @@ { "cell_type": "code", "execution_count": 52, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -455,9 +452,7 @@ { "cell_type": "code", "execution_count": 56, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -480,9 +475,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -741,9 +734,7 @@ { "cell_type": "code", "execution_count": 47, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -842,9 +833,7 @@ { "cell_type": "code", "execution_count": 59, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -4591,9 +4580,7 @@ { "cell_type": "code", "execution_count": 21, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -4943,9 +4930,7 @@ { "cell_type": "code", "execution_count": 52, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -5271,9 +5256,7 @@ { "cell_type": "code", "execution_count": 67, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -5613,7 +5596,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 7, "metadata": { "collapsed": true }, @@ -5630,10 +5613,8 @@ }, { "cell_type": "code", - "execution_count": 69, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { @@ -5641,7 +5622,7 @@ "(137, 10)" ] }, - "execution_count": 69, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -5659,10 +5640,8 @@ }, { "cell_type": "code", - "execution_count": 70, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -5702,6 +5681,7 @@ "first_zero_idx = np.min(zero_idx)\n", "ranked_countries = ranked_countries.iloc[:first_zero_idx, :]\n", "ranked_outliers = ranked_outliers.iloc[:first_zero_idx, :]\n", + "ranked_countries_arr = ranked_countries.get_values()\n", "\n", "print ranked_countries.head()\n", "print ranked_outliers.head()" @@ -5737,9 +5717,7 @@ { "cell_type": "code", "execution_count": 72, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -5756,9 +5734,7 @@ { "cell_type": "code", "execution_count": 80, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -5787,9 +5763,7 @@ { "cell_type": "code", "execution_count": 81, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -5824,9 +5798,7 @@ { "cell_type": "code", "execution_count": 76, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -5844,11 +5816,16 @@ ] }, { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Try precision at K" + ] + }, + { "cell_type": "code", - "execution_count": 97, - "metadata": { - "collapsed": true - }, + "execution_count": 10, + "metadata": {}, "outputs": [], "source": [ "# majority voting + precision at K (top5?)\n", @@ -5859,10 +5836,8 @@ }, { "cell_type": "code", - "execution_count": 98, - "metadata": { - "collapsed": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [ { "data": { @@ -5915,7 +5890,7 @@ "4 Bhutan 7" ] }, - "execution_count": 98, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -5927,10 +5902,8 @@ }, { "cell_type": "code", - "execution_count": 99, - "metadata": { - "collapsed": false - }, + "execution_count": 12, + "metadata": {}, "outputs": [ { "data": { @@ -6067,7 +6040,7 @@ "9 Malta 1" ] }, - "execution_count": 99, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -6078,20 +6051,15 @@ }, { "cell_type": "code", - "execution_count": 102, - "metadata": { - "collapsed": false - }, + "execution_count": 14, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "0.51000000000000001" - ] - }, - "execution_count": 102, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "0.51 0.0830662386292\n" + ] } ], "source": [ @@ -6104,7 +6072,27 @@ "for j in range(ranked_countries_arr.shape[1]):\n", " p_.append(precision_at_k(ranked_countries_arr[:, j], ground_truth, k))\n", "p_ = np.array(p_)\n", - "np.mean(p_)" + "print np.mean(p_), np.std(p_)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.6, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.4, 0.7, 0.4])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p_" ] }, { @@ -6133,7 +6121,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.11" + "version": "2.7.12" } }, "nbformat": 4,
--- a/notebooks/test_hubness.ipynb Tue Sep 26 14:39:14 2017 +0100 +++ b/notebooks/test_hubness.ipynb Tue Sep 26 21:18:54 2017 +0100 @@ -2,20 +2,9 @@ "cells": [ { "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" - ] - } - ], + "execution_count": 1, + "metadata": {}, + "outputs": [], "source": [ "import numpy as np\n", "import pickle\n", @@ -37,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 2, "metadata": { "collapsed": true }, @@ -55,10 +44,8 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { @@ -66,7 +53,7 @@ "(8200, 380)" ] }, - "execution_count": 18, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -96,10 +83,8 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { @@ -107,7 +92,7 @@ "(8200, 8200)" ] }, - "execution_count": 19, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -119,16 +104,14 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { "image/png": "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\n6s1Mr1PRiOuekuz8iqTj5Z6KmsLrSiXNlqEiSeqNoSJJ6o2hIknqjaEiSeqNoSJJ6o2hIknqjaEi\nSeqNoSJJ6o2hIknqjaEiSeqNoSJJ6o2hIknqjaEiSeqNoSJJ6o2hIknqjaEiSeqNoSJJ6o2hIknq\njaEiSeqNoSJJ6o2hIknqjaEiSerNgrneAM0/Sd4uV9UcbomkYeOeiqZR7SFJx2ZGoZLk1CTPJflm\ne744ybYkO5JsTbKos+76JDuTvJTk8k79xUleaMvu6tSfkeSBVv90kgs6y9a219iR5IZO/fIkz7Q2\nW5KcNts3QpI0ezPdU7kZeJFDX19vAbZV1YXAE+05SVYC1wErgdXA3Tl0LOUeYF1VrQBWJFnd6tcB\n+1r9ncCm1tdi4Dbgkva4PcnC1mYTcEdr80brQ5I0x44aKkmWAp8C/gyYDIirgM2tvBm4ppWvBu6v\nqgNVtQt4GViV5Bzg/VW1va13b6dNt6+Hgcta+Qpga1Xtr6r9wDbgyhZSlwIPTfP6kqQ5NJM9lTuB\n3wPe6tQtqaq9rbwXWNLK5wK7O+vtBs6bpn6i1dP+fQWgqg4CbyY56wh9LQb2V9Vb0/R1Ukny9kOS\n5oMjnv2V5DeA16rquSRj061TVZXkRM3qHvPrbNiw4e3y2NgYY2NjPW7OfDD5lhgsko7d+Pg44+Pj\nvfV3tFOKfwW4KsmngJ8D/lmS+4C9Sc6uqj3t0NZrbf0JYFmn/VIGexgTrTy1frLN+cCrSRYAC6tq\nX5IJYKzTZhnwJPA6sCjJKW1vZWnrY1rdUJEkvdPUL9sbN26cVX9HPPxVVbdW1bKqWg6sAZ6squuB\nR4G1bbW1wCOt/CiwJsnpSZYDK4DtVbUH+EmSVW1O5HrgG502k319msHEP8BW4PIki5J8APgk8HgN\nLpx4CvjMNK8vSZpDx3rx4+Sxlv8CPJhkHbALuBagql5M8iCDM8UOAjfWoavnbgS+BpwJPFZV3271\nXwbuS7IT2McgvKiq15P8PvDdtt7GNmEP8AVgS5IvAs+2PiRJcyyjfMV0khrx8fHOOZX+y6P8/kn6\nWUmoquOepPWKeklSbwwVSVJvDBVJUm8MFUlSbwwVSVJvDBVJUm8MFUlSbwwVSVJvDBVJUm8MFUlS\nbwwVSVJvDBVJUm8MFUlSb4711vc6yXR/qtg7Fks6GvdUdBTFcfyKs6STlKEiSeqNoSJJ6o2hIknq\njaEiSeqNoSJJ6o2hIknqjaEiSeqNoSJJ6o2hIknqjaEiSeqNoSJJ6o2hIknqjaEiSerNEUMlyc8l\neSbJ80leTPKHrX5xkm1JdiTZmmRRp836JDuTvJTk8k79xUleaMvu6tSfkeSBVv90kgs6y9a219iR\n5IZO/fK2XTuTbElyWl9viCTp+B0xVKrqH4FLq+qXgY8Clyb5VeAWYFtVXQg80Z6TZCVwHbASWA3c\nnUM/yHEPsK6qVgArkqxu9euAfa3+TmBT62sxcBtwSXvcnmRha7MJuKO1eaP1IUmaY0c9/FVV/7cV\nTwdOZfAhfhWwudVvBq5p5auB+6vqQFXtAl4GViU5B3h/VW1v693badPt62Hgsla+AthaVfuraj+w\nDbiyhdSlwEPTvL4kaQ4dNVSSnJLkeWAv8FRV/RBYUlV72yp7gSWtfC6wu9N8N3DeNPUTrZ727ysA\nVXUQeDPJWUfoazGwv6remqYvSdIcOurPCbcP719uh54eT3LplOWV5ET9NOAxv86GDRveLo+NjTE2\nNtbj5kjScBsfH2d8fLy3/mb8G/VV9WaSbwEXA3uTnF1Ve9qhrdfaahPAsk6zpQz2MCZaeWr9ZJvz\ngVeTLAAWVtW+JBPAWKfNMuBJ4HVgUZJTWuAtbX1MqxsqkqR3mvple+PGjbPq72hnf/385JldSc4E\nPgk8BzwKrG2rrQUeaeVHgTVJTk+yHFgBbK+qPcBPkqxqcyLXA9/otJns69MMJv4BtgKXJ1mU5APt\ntR+vqgKeAj4zzetLkuZQBp/Rh1mYfITBRPgp7XFfVf1ROzPrQQZ7GLuAa9tkOkluBT4PHARurqrH\nW/3FwNeAM4HHquqmVn8GcB/wMWAfsKZN8pPkc8CtbXO+WFWbW/1yYAuD+ZVngc9W1YFptr+ONL5h\ndOhkukmT48sJKHdedcTeV0kDSaiqqR80M28/yh8OoxsqJzJIpi+P2vsqaWC2oeIV9ZKk3hgqkqTe\nGCqSpN4YKpKk3hgqkqTeGCqSpN4YKpKk3hgqkqTeGCqSpN4YKpKk3hgqkqTeGCqSpN4YKpKk3hgq\nkqTeGCqSpN4YKpKk3hgqkqTeLJjrDdBw6v6ssb8CKWmSeyo6TsWhnxeWpAFDRZLUG0NFktQbQ0WS\n1BtDRZLUG0NFktQbQ0WS1BtDRZLUG0NFktQbQ0WS1JujhkqSZUmeSvLDJH+T5KZWvzjJtiQ7kmxN\n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\n", "text/plain": [ - "<matplotlib.figure.Figure at 0x7fb84d839fd0>" + "<matplotlib.figure.Figure at 0x7f767464a390>" ] }, "metadata": {}, @@ -148,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 21, "metadata": { "collapsed": true }, @@ -165,10 +148,8 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, + "execution_count": 27, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -186,10 +167,10 @@ { "data": { "text/plain": [ - "[<matplotlib.lines.Line2D at 0x7fb823513f90>]" + "[<matplotlib.lines.Line2D at 0x7f75aa2cd2d0>]" ] }, - "execution_count": 14, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, @@ -197,7 +178,7 @@ "data": { "image/png": "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\n1dGqer61/wr4AXA5cBuwsw3bCdzR2rcDu6rqtao6DBwC1ie5FFhRVfvauEcHjpEkDYHTeqaQ5Crg\neuAZYHVVTbdd08Dq1r4MODJw2BH6ITKzf6r1S5KGxLL5DkzybuAPgI9V1V+eXBGCqqoktXBl3c/x\n41Ps2LGDY8eOMTExsXCnlqQR1+v16PV65+TcqZr7tTzJO4H/AvxhVX2m9R0EJqrqaFsaerqqrkmy\nFaCqHmzj9gL3AT9sY65t/XcDN1XVR2dcq6BYuXKcycntjI+PL9hkJemtKAlVlblHzm0+7z4K8Dng\nwIlAaPYAm1p7E/DYQP/GJOcnWQOMAfuq6ijwapL17Zz3DBwjSRoC81k+ej/w68D3kjzX+rYBDwK7\nk2wGDgN3AlTVgSS7gQPA68CWOnk7sgV4BFgOPFFVexdoHpKkBTBnKFTVt3jzO4pb3uSYB4AHZul/\nFrjudAqUJC0eP9EsSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEg\nSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkzpyhkOTzSaaT7B/ouzjJZJIXkzyZZNXA\nvm1JXkpyMMmtA/3rkuxv+x5a+KlIks7WfO4UvgBsmNG3FZisqquBp9o2SdYCdwFr2zHbk6Qd8zCw\nuarGgLEkM88pSVpic4ZCVf0x8Bczum8Ddrb2TuCO1r4d2FVVr1XVYeAQsD7JpcCKqtrXxj06cIwk\naUic6TOF1VU13drTwOrWvgw4MjDuCHD5LP1TrV+SNETO+kFzVRVQC1CLJGmJLTvD46aTXFJVR9vS\n0Mutfwq4cmDcFfTvEKZae7B/6s1Pfz/Hj0+xY8cOjh07xsTExBmWKUlvPb1ej16vd07Onf4P+nMM\nSq4CHq+q69r2p4GfVtWnkmwFVlXV1vag+cvAjfSXh74B/EJVVZJngHuBfcDXgc9W1d5ZrlVQrFw5\nzuTkdsbHxxdkopL0VpWEqsrcI+c2551Ckl3ATcB7kvwI+PfAg8DuJJuBw8CdAFV1IMlu4ADwOrCl\nTqbOFuARYDnwxGyBIElaWvO6U1hM3ilI0ulZyDsFP9EsSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKk\njqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEg\nSeoseigk2ZDkYJKXknxisa8vSXpzixoKSc4D/iOwAVgL3J3k2jcbf+ONN5Kk+xp2vV5vqUs4K9a/\ntKx/6Yxy7Qttse8UbgQOVdXhqnoN+D3g9lMfUu1r+I36N5b1Ly3rXzqjXPtCW+xQuBz40cD2kdY3\nL6N01yBJo2jZIl9vXj/yX3TRh/n5z188xeHzD4aq/jFnGiQnjh8081yzjZGkUZTFfEFL8j7g/qra\n0La3AW9U1acGxvgKK0mnqaoWZAllsUNhGfCnwD8B/hzYB9xdVT9YtCIkSW9qUZePqur1JL8F/BFw\nHvA5A0GShsei3ilIkobb0HyieVg/1Jbk80mmk+wf6Ls4yWSSF5M8mWTVwL5tbQ4Hk9w60L8uyf62\n76FFqv3KJE8neSHJ95PcO2L1vyvJM0meT3IgyW+PUv0D1z4vyXNJHh+1+pMcTvK9Vv++Uao/yaok\nX0nyg/b9s36Eav/F9m9+4uuVJPcuSv1VteRf9JeSDgFXAe8EngeuXeq6Wm0fBK4H9g/0fRr4t639\nCeDB1l7ban9nm8shTt6N7QNubO0ngA2LUPslwHtb+930n+dcOyr1t2td0P67DPjvwAdGqf52vX8D\nfAnYM0rfP+1afwZcPKNvJOoHdgL/fOD7Z+Wo1D5jHu8AfgxcuRj1L9rE5pj0rwB7B7a3AluXuq6B\neq7ib4bCQWB1a18CHGztbcAnBsbtBd4HXAr8YKB/I/CflmAejwG3jGL9wAXAt4FfGqX6gSuAbwA3\nA4+P2vcP/VD42zP6hr5++gHwP2fpH/raZ6n5VuCPF6v+YVk+OqsPtS2B1VU13drTwOrWvox+7Sec\nmMfM/ikWeX5JrqJ/x/MMI1R/knckeb7V+XRVvcAI1Q/8DvBx4I2BvlGqv4BvJPlOko+0vlGofw3w\nkyRfSPLdJL+b5EJGo/aZNgK7Wvuc1z8soTCyT7urH79DXX+SdwN/AHysqv5ycN+w119Vb1TVe+n/\nxP2Pktw8Y//Q1p/k14CXq+o5YNb3kA9z/c37q+p64EPAbyb54ODOIa5/GXADsL2qbgCO0V+B6Axx\n7Z0k5wMfBn5/5r5zVf+whMIU/fWyE67kb6bbsJlOcglAkkuBl1v/zHlcQX8eU6092D+1CHWS5J30\nA+GLVfVY6x6Z+k+oqleArwPrGJ36/yFwW5I/o/+T3j9O8kVGp36q6sftvz8Bvkb/95eNQv1HgCNV\n9e22/RX6IXF0BGof9CHg2fbvD4vwbz8sofAdYCzJVS0Z7wL2LHFNp7IH2NTam+iv1Z/o35jk/CRr\ngDFgX1UdBV5t734IcM/AMedMu9bngANV9ZkRrP89J95dkWQ58KvAc6NSf1V9sqqurKo19JcAvllV\n94xK/UkuSLKitS+kv7a9fxTqb9f8UZKrW9ctwAvA48Ne+wx3c3Lp6ESd57b+xXxgMsfDlA/Rf3fM\nIWDbUtczUNcu+p++/r/0n3v8BnAx/YeHLwJPAqsGxn+yzeEg8E8H+tfR/x/qEPDZRar9A/TXsp+n\n/2L6HP1fWz4q9V8HfLfV/z3g461/JOqfMZebOPnuo5Gon/66/PPt6/sn/r8cofr/Pv03J/wJ8FX6\nD59HovZ23QuB/w2sGOg75/X74TVJUmdYlo8kSUPAUJAkdQwFSVLHUJAkdQwFSVLHUJAkdQwFSVLH\nUJAkdf4fQ1xF+tlkFYgAAAAASUVORK5CYII=\n", "text/plain": [ - "<matplotlib.figure.Figure at 0x7fb849123390>" + "<matplotlib.figure.Figure at 0x7f761c147050>" ] }, "metadata": {}, @@ -207,7 +188,7 @@ "data": { "image/png": "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\n", "text/plain": [ - "<matplotlib.figure.Figure at 0x7fb823a72dd0>" + "<matplotlib.figure.Figure at 0x7f75aaa41dd0>" ] }, "metadata": {}, @@ -217,7 +198,7 @@ "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ - "<matplotlib.figure.Figure at 0x7fb846884750>" + "<matplotlib.figure.Figure at 0x7f75aa39ac10>" ] }, "metadata": {}, @@ -228,7 +209,8 @@ "# take k mean of country sample\n", "uniq_countries, uniq_counts = np.unique(Y, return_counts=True)\n", "k = np.int(np.round(np.mean(uniq_counts)))\n", - "#N_k = n_occurrence_from_D(D, k=k)\n", + "#k = 200\n", + "N_k = n_occurrence_from_D(D, k=k)\n", "\n", "print k\n", "print skew(N_k)\n", @@ -262,9 +244,7 @@ { "cell_type": "code", "execution_count": 17, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -289,15 +269,14 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 23, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ + "142\n", "[ 129 186 261 373 432 468 509 515 552 562 627 655 701 710 740\n", " 743 861 913 997 1012 1064 1128 1204 1273 1422 1426 1563 1566 1622 1761\n", " 1846 1933 1936 1949 1980 1989 2034 2042 2053 2110 2147 2329 2335 2346 2462\n", @@ -482,6 +461,7 @@ ], "source": [ "large_hubs_idx = np.where(N_k>1000)[0]\n", + "print len(large_hubs_idx)\n", "print large_hubs_idx\n", "print Y[large_hubs_idx]\n", "print Yaudio[large_hubs_idx]" @@ -490,9 +470,7 @@ { "cell_type": "code", "execution_count": 21, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -519,9 +497,7 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stderr", @@ -548,9 +524,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -570,9 +544,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -599,9 +571,7 @@ { "cell_type": "code", "execution_count": 14, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stderr", @@ -626,9 +596,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -660,9 +628,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -702,9 +668,7 @@ { "cell_type": "code", "execution_count": 15, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -735,9 +699,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -759,9 +721,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -806,7 +766,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.11" + "version": "2.7.12" } }, "nbformat": 4,