Celine commited on
Commit
500eb70
1 Parent(s): d956f04

error locally, confirming error remote

Browse files
Files changed (4) hide show
  1. __pycache__/app.cpython-310.pyc +0 -0
  2. app.py +45 -3
  3. dev.ipynb +328 -0
  4. flagged/log.csv +2 -0
__pycache__/app.cpython-310.pyc ADDED
Binary file (1.54 kB). View file
 
app.py CHANGED
@@ -1,7 +1,49 @@
1
  import gradio as gr
 
 
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "! Welcome to my unsupervised learning space."
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  iface.launch()
 
1
  import gradio as gr
2
+ import matplotlib.pyplot as plt
3
+ from sklearn.datasets import make_blobs
4
+ from sklearn.cluster import KMeans
5
+ from sklearn.preprocessing import StandardScaler
6
 
7
+ # create synthetic data
8
+ features, true_labels = make_blobs(n_samples=200, centers=3, cluster_std=2.75, random_state=42)
9
 
10
+ # goal:
11
+ # load in a dataset
12
+ # take user input for number of clusters
13
+ # cluster dataset into that many clusters
14
+
15
+ # page layout:
16
+ # visualise the data on a plot
17
+ # normalise the data
18
+ #
19
+
20
+ # def greet(name):
21
+ # return "Hello " + name + "! Welcome to my unsupervised learning space."
22
+
23
+ # iface = gr.Interface(fn=greet, inputs="text", outputs="text")
24
+
25
+ def compute(number_of_clusters):
26
+ print("one")
27
+ # create synthetic data
28
+ features, true_labels = make_blobs(n_samples=200, centers=3, cluster_std=2.75, random_state=42)
29
+ scaler = StandardScaler()
30
+ scaled_features = scaler.fit_transform(features)
31
+ kmeans = KMeans(init="random", n_clusters=number_of_clusters, n_init=10, max_iter=300, random_state=42)
32
+ print("type of number_of_clusters: ",type(number_of_clusters))
33
+ print("scaled_features 1: ",type(scaled_features))
34
+ print("scaled_features 2: ",scaled_features[0])
35
+ kmeans.fit(scaled_features)
36
+
37
+ print("made it here")
38
+
39
+ fig = plt.figure()
40
+ ax1 = fig.add_subplot(111)
41
+ ax1.scatter(scaled_features[:,0], scaled_features[:,1], s=8, c='c', marker="o", label='dataset')
42
+ ax1.scatter(kmeans.cluster_centers_[:,0],kmeans.cluster_centers_[:,1], s=40, c='m', marker="o", label='cluster centers')
43
+ plt.legend(loc='upper left')
44
+ print("finished plot")
45
+ print("type of fig: ",type(fig))
46
+ return fig
47
+
48
+ iface = gr.Interface(fn=compute, inputs="number", outputs=gr.Plot(label="Plot")) # input: number between 2 and 10, output plot
49
  iface.launch()
dev.ipynb ADDED
@@ -0,0 +1,328 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "# following: https://realpython.com/k-means-clustering-python/"
10
+ ]
11
+ },
12
+ {
13
+ "cell_type": "code",
14
+ "execution_count": 14,
15
+ "metadata": {},
16
+ "outputs": [],
17
+ "source": [
18
+ "import matplotlib.pyplot as plt\n",
19
+ "from sklearn.datasets import make_blobs\n",
20
+ "from sklearn.cluster import KMeans\n",
21
+ "from sklearn.preprocessing import StandardScaler"
22
+ ]
23
+ },
24
+ {
25
+ "cell_type": "code",
26
+ "execution_count": 15,
27
+ "metadata": {},
28
+ "outputs": [],
29
+ "source": [
30
+ "# create synthetic data\n",
31
+ "features, true_labels = make_blobs(n_samples=200, centers=3, cluster_std=2.75, random_state=42)"
32
+ ]
33
+ },
34
+ {
35
+ "cell_type": "code",
36
+ "execution_count": 16,
37
+ "metadata": {},
38
+ "outputs": [
39
+ {
40
+ "data": {
41
+ "text/plain": [
42
+ "array([[ 9.77075874, 3.27621022],\n",
43
+ " [ -9.71349666, 11.27451802],\n",
44
+ " [ -6.91330582, -9.34755911],\n",
45
+ " [-10.86185913, -10.75063497],\n",
46
+ " [ -8.50038027, -4.54370383]])"
47
+ ]
48
+ },
49
+ "execution_count": 16,
50
+ "metadata": {},
51
+ "output_type": "execute_result"
52
+ }
53
+ ],
54
+ "source": [
55
+ "features[:5]"
56
+ ]
57
+ },
58
+ {
59
+ "cell_type": "code",
60
+ "execution_count": 17,
61
+ "metadata": {},
62
+ "outputs": [
63
+ {
64
+ "data": {
65
+ "text/plain": [
66
+ "array([1, 0, 2, 2, 2])"
67
+ ]
68
+ },
69
+ "execution_count": 17,
70
+ "metadata": {},
71
+ "output_type": "execute_result"
72
+ }
73
+ ],
74
+ "source": [
75
+ "true_labels[:5]"
76
+ ]
77
+ },
78
+ {
79
+ "cell_type": "code",
80
+ "execution_count": 18,
81
+ "metadata": {},
82
+ "outputs": [],
83
+ "source": [
84
+ "scaler = StandardScaler()\n",
85
+ "scaled_features = scaler.fit_transform(features)"
86
+ ]
87
+ },
88
+ {
89
+ "cell_type": "code",
90
+ "execution_count": 19,
91
+ "metadata": {},
92
+ "outputs": [
93
+ {
94
+ "data": {
95
+ "text/plain": [
96
+ "array([[ 2.13082109, 0.25604351],\n",
97
+ " [-1.52698523, 1.41036744],\n",
98
+ " [-1.00130152, -1.56583175],\n",
99
+ " [-1.74256891, -1.76832509],\n",
100
+ " [-1.29924521, -0.87253446]])"
101
+ ]
102
+ },
103
+ "execution_count": 19,
104
+ "metadata": {},
105
+ "output_type": "execute_result"
106
+ }
107
+ ],
108
+ "source": [
109
+ "scaled_features[:5]"
110
+ ]
111
+ },
112
+ {
113
+ "cell_type": "code",
114
+ "execution_count": 20,
115
+ "metadata": {},
116
+ "outputs": [],
117
+ "source": [
118
+ "kmeans = KMeans(init=\"random\", n_clusters=3, n_init=10, max_iter=300, random_state=42)"
119
+ ]
120
+ },
121
+ {
122
+ "cell_type": "code",
123
+ "execution_count": 21,
124
+ "metadata": {},
125
+ "outputs": [
126
+ {
127
+ "data": {
128
+ "text/html": [
129
+ "<style>#sk-container-id-2 {color: black;background-color: white;}#sk-container-id-2 pre{padding: 0;}#sk-container-id-2 div.sk-toggleable {background-color: white;}#sk-container-id-2 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-2 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-2 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-2 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-2 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-2 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-2 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-2 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-2 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-2 div.sk-item {position: relative;z-index: 1;}#sk-container-id-2 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-2 div.sk-item::before, #sk-container-id-2 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-2 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-2 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-2 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-2 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-2 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-2 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-2 div.sk-label-container {text-align: center;}#sk-container-id-2 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-2 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>KMeans(init=&#x27;random&#x27;, n_clusters=3, random_state=42)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">KMeans</label><div class=\"sk-toggleable__content\"><pre>KMeans(init=&#x27;random&#x27;, n_clusters=3, random_state=42)</pre></div></div></div></div></div>"
130
+ ],
131
+ "text/plain": [
132
+ "KMeans(init='random', n_clusters=3, random_state=42)"
133
+ ]
134
+ },
135
+ "execution_count": 21,
136
+ "metadata": {},
137
+ "output_type": "execute_result"
138
+ }
139
+ ],
140
+ "source": [
141
+ "kmeans.fit(scaled_features)"
142
+ ]
143
+ },
144
+ {
145
+ "cell_type": "code",
146
+ "execution_count": 22,
147
+ "metadata": {},
148
+ "outputs": [
149
+ {
150
+ "data": {
151
+ "text/plain": [
152
+ "74.57960106819854"
153
+ ]
154
+ },
155
+ "execution_count": 22,
156
+ "metadata": {},
157
+ "output_type": "execute_result"
158
+ }
159
+ ],
160
+ "source": [
161
+ "kmeans.inertia_"
162
+ ]
163
+ },
164
+ {
165
+ "cell_type": "code",
166
+ "execution_count": 23,
167
+ "metadata": {},
168
+ "outputs": [
169
+ {
170
+ "data": {
171
+ "text/plain": [
172
+ "array([[-0.25813925, 1.05589975],\n",
173
+ " [-0.91941183, -1.18551732],\n",
174
+ " [ 1.19539276, 0.13158148]])"
175
+ ]
176
+ },
177
+ "execution_count": 23,
178
+ "metadata": {},
179
+ "output_type": "execute_result"
180
+ }
181
+ ],
182
+ "source": [
183
+ "kmeans.cluster_centers_"
184
+ ]
185
+ },
186
+ {
187
+ "cell_type": "code",
188
+ "execution_count": 24,
189
+ "metadata": {},
190
+ "outputs": [
191
+ {
192
+ "data": {
193
+ "text/plain": [
194
+ "2"
195
+ ]
196
+ },
197
+ "execution_count": 24,
198
+ "metadata": {},
199
+ "output_type": "execute_result"
200
+ }
201
+ ],
202
+ "source": [
203
+ "kmeans.n_iter_"
204
+ ]
205
+ },
206
+ {
207
+ "cell_type": "code",
208
+ "execution_count": 25,
209
+ "metadata": {},
210
+ "outputs": [
211
+ {
212
+ "data": {
213
+ "text/plain": [
214
+ "array([2, 0, 1, 1, 1], dtype=int32)"
215
+ ]
216
+ },
217
+ "execution_count": 25,
218
+ "metadata": {},
219
+ "output_type": "execute_result"
220
+ }
221
+ ],
222
+ "source": [
223
+ "kmeans.labels_[:5]"
224
+ ]
225
+ },
226
+ {
227
+ "cell_type": "code",
228
+ "execution_count": 40,
229
+ "metadata": {},
230
+ "outputs": [
231
+ {
232
+ "data": {
233
+ "text/plain": [
234
+ "<matplotlib.collections.PathCollection at 0x12d793f40>"
235
+ ]
236
+ },
237
+ "execution_count": 40,
238
+ "metadata": {},
239
+ "output_type": "execute_result"
240
+ },
241
+ {
242
+ "data": {
243
+ "image/png": "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",
244
+ "text/plain": [
245
+ "<Figure size 432x288 with 1 Axes>"
246
+ ]
247
+ },
248
+ "metadata": {
249
+ "needs_background": "light"
250
+ },
251
+ "output_type": "display_data"
252
+ }
253
+ ],
254
+ "source": [
255
+ "plt.scatter(scaled_features[:,0], scaled_features[:,1])"
256
+ ]
257
+ },
258
+ {
259
+ "cell_type": "code",
260
+ "execution_count": 59,
261
+ "metadata": {},
262
+ "outputs": [
263
+ {
264
+ "data": {
265
+ "image/png": "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9VS+9rWvMWfOHPbs2TPunJs3b+bTn/408+bNY9GiRRw8eDDt8sqvvvoq559/Pl/+8pf5oz/6I6655hpUlTVr1rB3714uuOACLrjgAiCygNvZZ5/NggULWL58OYcOHQKgra2N7373uyxYsIDOzk7WrFnDaaedxty5c7nqqqs4PDbG9mCQPR99xPZgkCNF6qDSic36uWHnThZ0deUcvAv9OWMqQVXX8HfduIvB9YOERz4ONoPrBwFov7+9oPfs7u7mjjvuYNOmTUydOpX33nsv55994IEH+Pa3v80111xDKBRibGyMu+66i23btrF161YgEmB37tzJb3/7W1SVZcuW8dprr9HS0sLOnTt55JFHOOuss8a9bygU4sorr+Txxx9n4cKF/P73v2fSpEmsW7eOKVOmsHnzZj766COWLFnCF77wBQD+67/+i+7ubmbMmMGSJUv41a9+xQ033MC9997LK6+8wtSpU9m/fz933HEHL7/8Msceeyx333039957L9/73vcAaGho4PXXXwdgxowZvPPOOxxzzDF88MEHHIxm9WEiWcVHJb6ju9BF80q12J4x5VC1AX/00CiD68YHe4BwMMzgukFm3jmTusn5//q//OUvWb58OVOnTgXghBNOyPlnzz77bFavXk1/fz+XXXYZs2bNOuqYl156iZdeeokzzjgDgEOHDrFz505aWlpobW09KtgDvPXWW0yfPj2+rs8nPvGJ+HulW1550aJFNDc3AzB//nx6e3s555xzxr3vr3/9a7Zv386SJUuASMdy9tlnx1+/8sor43+eO3cu11xzDV/60pf40pe+xMTaWuDjS8hjSryReaGzfmy2kKlmVRvwQ3tDSG3qICO1QmhviLr24vz6dXV18Rr74cOH489/5StfYfHixTz//PNcdNFFPPjgg8ycOXPcz6oqt9xyC9/85jfHPd/b28uxxx6bVzsyLa98zDHHxB/X1tYyOnr0+Iaq8vnPf57HHnss5fsntuf555/ntdde47nnnmP16tW8+eabnFZfz8GxMY6rreWdmtJWDwud9eN0tpCttWO8rGpr+IEZAXQsdRlBx5TAjMI2EfnMZz5DZ2cnBw4cAEhZ0mlra2PLli0A8ewaYPfu3cycOZMbbriBSy65hDfeeOOopY6XLl3K+vXr47Xyd999l3379mVs06mnnsrAwACbN28GIkswj46O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",
266
+ "text/plain": [
267
+ "<Figure size 432x288 with 1 Axes>"
268
+ ]
269
+ },
270
+ "metadata": {
271
+ "needs_background": "light"
272
+ },
273
+ "output_type": "display_data"
274
+ }
275
+ ],
276
+ "source": [
277
+ "fig = plt.figure()\n",
278
+ "ax1 = fig.add_subplot(111)\n",
279
+ "ax1.scatter(scaled_features[:,0], scaled_features[:,1], s=8, c='c', marker=\"o\", label='dataset')\n",
280
+ "ax1.scatter(kmeans.cluster_centers_[:,0],kmeans.cluster_centers_[:,1], s=40, c='m', marker=\"o\", label='cluster centers')\n",
281
+ "plt.legend(loc='upper left')\n",
282
+ "plt.show()"
283
+ ]
284
+ },
285
+ {
286
+ "cell_type": "code",
287
+ "execution_count": 60,
288
+ "metadata": {},
289
+ "outputs": [
290
+ {
291
+ "data": {
292
+ "image/png": "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9VS+9rWvMWfOHPbs2TPunJs3b+bTn/408+bNY9GiRRw8eDDt8sqvvvoq559/Pl/+8pf5oz/6I6655hpUlTVr1rB3714uuOACLrjgAiCygNvZZ5/NggULWL58OYcOHQKgra2N7373uyxYsIDOzk7WrFnDaaedxty5c7nqqqs4PDbG9mCQPR99xPZgkCNF6qDSic36uWHnThZ0deUcvAv9OWMqQVXX8HfduIvB9YOERz4ONoPrBwFov7+9oPfs7u7mjjvuYNOmTUydOpX33nsv55994IEH+Pa3v80111xDKBRibGyMu+66i23btrF161YgEmB37tzJb3/7W1SVZcuW8dprr9HS0sLOnTt55JFHOOuss8a9bygU4sorr+Txxx9n4cKF/P73v2fSpEmsW7eOKVOmsHnzZj766COWLFnCF77wBQD+67/+i+7ubmbMmMGSJUv41a9+xQ033MC9997LK6+8wtSpU9m/fz933HEHL7/8Msceeyx333039957L9/73vcAaGho4PXXXwdgxowZvPPOOxxzzDF88MEHHIxm9WEiWcVHJb6ju9BF80q12J4x5VC1AX/00CiD68YHe4BwMMzgukFm3jmTusn5//q//OUvWb58OVOnTgXghBNOyPlnzz77bFavXk1/fz+XXXYZs2bNOuqYl156iZdeeokzzjgDgEOHDrFz505aWlpobW09KtgDvPXWW0yfPj2+rs8nPvGJ+HulW1550aJFNDc3AzB//nx6e3s555xzxr3vr3/9a7Zv386SJUuASMdy9tlnx1+/8sor43+eO3cu11xzDV/60pf40pe+xMTaWuDjS8hjSryReaGzfmy2kKlmVRvwQ3tDSG3qICO1QmhviLr24vz6dXV18Rr74cOH489/5StfYfHixTz//PNcdNFFPPjgg8ycOXPcz6oqt9xyC9/85jfHPd/b28uxxx6bVzsyLa98zDHHxB/X1tYyOnr0+Iaq8vnPf57HHnss5fsntuf555/ntdde47nnnmP16tW8+eabnFZfz8GxMY6rreWdmtJWDwud9eN0tpCttWO8rGpr+IEZAXQsdRlBx5TAjMI2EfnMZz5DZ2cnBw4cAEhZ0mlra2PLli0A8ewaYPfu3cycOZMbbriBSy65hDfeeOOopY6XLl3K+vXr47Xyd999l3379mVs06mnnsrAwACbN28GIkswj46O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",
293
+ "text/plain": [
294
+ "<Figure size 432x288 with 1 Axes>"
295
+ ]
296
+ },
297
+ "execution_count": 60,
298
+ "metadata": {},
299
+ "output_type": "execute_result"
300
+ }
301
+ ],
302
+ "source": [
303
+ "fig"
304
+ ]
305
+ }
306
+ ],
307
+ "metadata": {
308
+ "kernelspec": {
309
+ "display_name": "Python 3",
310
+ "language": "python",
311
+ "name": "python3"
312
+ },
313
+ "language_info": {
314
+ "codemirror_mode": {
315
+ "name": "ipython",
316
+ "version": 3
317
+ },
318
+ "file_extension": ".py",
319
+ "mimetype": "text/x-python",
320
+ "name": "python",
321
+ "nbconvert_exporter": "python",
322
+ "pygments_lexer": "ipython3",
323
+ "version": "3.10.6"
324
+ }
325
+ },
326
+ "nbformat": 4,
327
+ "nbformat_minor": 2
328
+ }
flagged/log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ source,Plot,flag,username,timestamp
2
+ 2,,,,2023-12-23 18:35:25.412541