Random-vector-hashing-checkpoint.ipynb 68.5 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['2013-01-01' '2013-01-02' '2013-01-03' ... '2016-12-30' '2016-12-31'\n",
      " '2017-01-01']\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "df = pd.read_csv(\"DailyDelhiClimateTrain.csv\", index_col=0)\n",
    "meantemp = df.loc[:, 'meantemp'].copy()\n",
    "meantemp.head()\n",
    "meantemp.plot(figsize = (10, 8));\n",
    "plt.ylabel('Temperature'); plt.title('Mean Temperature');\n",
    "test = meantemp.index.values\n",
    "print(test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from collections import defaultdict\n",
    "\n",
    "window_size = 180\n",
    "values = meantemp.values\n",
    "data = []\n",
    "for index in range(len(values)-window_size):\n",
    "    window = values[index:index+window_size]\n",
    "    norm = np.linalg.norm(window)\n",
    "    if norm == 0: \n",
    "        data.append(window)\n",
    "    else:\n",
    "        data.append(window/norm)\n",
    "\n",
    "data = np.array(data)\n",
    "hash_size, table_size = 10, 5\n",
    "tables = [defaultdict(list) for _ in range(table_size)]\n",
    "tables_hash_function = [np.random.randn(window_size, hash_size) for _ in range(table_size)]\n",
    "\n",
    "for table_index in range(table_size):\n",
    "    table = tables[table_index]\n",
    "    hash_function = tables_hash_function[table_index]\n",
    "    for window_index in range(data.shape[0]):\n",
    "        signature = (np.dot(data[window_index], hash_function) > 0).astype('int')\n",
    "        table[str(signature)].append(window_index)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7c517be2057f47b2843463c4977ad871",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "VBox(children=(FigureWidget({\n",
       "    'data': [{'marker': {'color': [#a3a7e4, #a3a7e4, #a3a7e4, ..., #a3a7e4,\n",
       "    …"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1158, 784, 787, 1173, 1175, 799, 804, 807, 43, 45, 46, 814, 55, 440, 57, 60, 67, 68, 454, 76, 462, 467, 93, 98, 1134, 1149, 1150]\n"
     ]
    }
   ],
   "source": [
    "import plotly.graph_objs as go\n",
    "from plotly.offline import init_notebook_mode, iplot\n",
    "from ipywidgets import VBox, HBox\n",
    "\n",
    "fig = go.FigureWidget()\n",
    "fig.add_trace(\n",
    "        go.Scatter(\n",
    "            x=list(range(len(meantemp.values))),\n",
    "            y=meantemp.values,\n",
    "            mode='markers'\n",
    "        )\n",
    "    )\n",
    "main_trace = fig.data[0]\n",
    "colors = ['#a3a7e4'] * len(values)\n",
    "sizes = [10] * len(values)\n",
    "main_trace.marker.color = colors.copy()\n",
    "main_trace.marker.size = sizes.copy()\n",
    "fig.layout.hovermode = 'closest'\n",
    "# create our callback function\n",
    "def update_point(trace, points, selector):\n",
    "    for i in points.point_inds:\n",
    "        image.children = (fig,)\n",
    "        table_hash_value = []\n",
    "        table_cluster = []\n",
    "        neighbours = [];\n",
    "        for t in range(len(tables)):\n",
    "            table = tables[t]\n",
    "            hash_function = tables_hash_function[t]\n",
    "            row = data[i]\n",
    "            signature = (np.dot(row, hash_function) > 0).astype('int')\n",
    "            neighbours.append(table[str(signature)])\n",
    "            table_hash_value.append(str(signature))\n",
    "            table_cluster.append(str(table[str(signature)]))\n",
    "        # neighbours = set(neighbours)\n",
    "        neighbours = list(set.intersection(*map(set, neighbours)))\n",
    "        print(neighbours)\n",
    "        c = colors.copy()\n",
    "        s = sizes.copy()\n",
    "        for index in neighbours:\n",
    "            c[index] = '#bae2be'\n",
    "            s[index] = 20\n",
    "        fig2 = go.FigureWidget(data=[go.Table(header=dict(values=['Hash function', 'Hash value', 'Cluster']),\n",
    "         cells=dict(values=[map(str, tables_hash_function),table_hash_value, table_cluster]))\n",
    "             ])\n",
    "        image.children += (fig2,)\n",
    "        i = 0\n",
    "        for neighbour in neighbours:\n",
    "            i = i + 1\n",
    "            if i == 5:\n",
    "                break\n",
    "            f = go.FigureWidget()\n",
    "            f.add_trace(\n",
    "                go.Scatter(x=meantemp.index[neighbour: neighbour + window_size], y=meantemp.values[neighbour: neighbour + window_size])\n",
    "            )\n",
    "            image.children += (f,)\n",
    "        with fig.batch_update():\n",
    "            main_trace.marker.color = c\n",
    "            main_trace.marker.size = s\n",
    "\n",
    "main_trace.on_click(update_point)\n",
    "image = VBox([fig])\n",
    "\n",
    "image"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}