changeset 28:bd284065aeb6 branch-tests

small edit
author Maria Panteli <m.x.panteli@gmail.com>
date Wed, 13 Sep 2017 17:34:24 +0100
parents 8dea2b8349c5
children 6aa08c9c95e9
files notebooks/test_hubness.ipynb
diffstat 1 files changed, 44 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/notebooks/test_hubness.ipynb	Wed Sep 13 13:53:09 2017 +0100
+++ b/notebooks/test_hubness.ipynb	Wed Sep 13 17:34:24 2017 +0100
@@ -2,8 +2,10 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": true
+   },
    "outputs": [],
    "source": [
     "import numpy as np\n",
@@ -25,23 +27,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
    "outputs": [
     {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/homes/mp305/anaconda/lib/python2.7/site-packages/pysal/weights/weights.py:189: UserWarning: There are 21 disconnected observations\n",
-      "  warnings.warn(\"There are %d disconnected observations\" % ni)\n",
-      "/homes/mp305/anaconda/lib/python2.7/site-packages/pysal/weights/weights.py:190: UserWarning: Island ids: 3, 6, 26, 35, 39, 45, 52, 61, 62, 66, 77, 85, 94, 97, 98, 102, 103, 107, 110, 120, 121\n",
-      "  warnings.warn(\"Island ids: %s\" % ', '.join(str(island) for island in self.islands))\n"
-     ]
-    },
-    {
      "name": "stdout",
      "output_type": "stream",
      "text": [
+      "WARNING: there are 21 disconnected observations\n",
+      "Island ids:  [3, 6, 26, 35, 39, 45, 52, 61, 62, 66, 77, 85, 94, 97, 98, 102, 103, 107, 110, 120, 121]\n",
       "Antigua and Barbuda\n",
       "Australia\n",
       "Cuba\n",
@@ -81,7 +77,9 @@
   {
    "cell_type": "code",
    "execution_count": 3,
-   "metadata": {},
+   "metadata": {
+    "collapsed": false
+   },
    "outputs": [
     {
      "data": {
@@ -101,7 +99,9 @@
   {
    "cell_type": "code",
    "execution_count": 4,
-   "metadata": {},
+   "metadata": {
+    "collapsed": true
+   },
    "outputs": [],
    "source": [
     "D = pairwise_distances(X, metric='mahalanobis')"
@@ -110,7 +110,9 @@
   {
    "cell_type": "code",
    "execution_count": 5,
-   "metadata": {},
+   "metadata": {
+    "collapsed": false
+   },
    "outputs": [
     {
      "data": {
@@ -130,7 +132,9 @@
   {
    "cell_type": "code",
    "execution_count": 6,
-   "metadata": {},
+   "metadata": {
+    "collapsed": false
+   },
    "outputs": [
     {
      "data": {
@@ -166,37 +170,38 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "8.18316065981\n"
+     "ename": "NameError",
+     "evalue": "name 'n_occurrence_from_D' is not defined",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-1-0aacb5dec8fd>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mN_k\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mn_occurrence_from_D\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mskew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_k\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_k\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mNameError\u001b[0m: name 'n_occurrence_from_D' is not defined"
      ]
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f35fe65fe50>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
     }
    ],
    "source": [
     "N_k = n_occurrence_from_D(D, k=100)\n",
     "print skew(N_k)\n",
-    "plt.hist(N_k, bins=100);"
+    "plt.figure()\n",
+    "plt.hist(N_k, bins=100);\n",
+    "plt.figure()\n",
+    "plt.plot(np.sort(N_k))"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 11,
-   "metadata": {},
+   "metadata": {
+    "collapsed": true
+   },
    "outputs": [],
    "source": [
     "#sort_idx = np.argsort(D, axis=1)\n",
@@ -207,7 +212,9 @@
   {
    "cell_type": "code",
    "execution_count": 12,
-   "metadata": {},
+   "metadata": {
+    "collapsed": false
+   },
    "outputs": [
     {
      "data": {