Celine
commited on
Commit
•
500eb70
1
Parent(s):
d956f04
error locally, confirming error remote
Browse files- __pycache__/app.cpython-310.pyc +0 -0
- app.py +45 -3
- dev.ipynb +328 -0
- 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 |
-
|
4 |
-
|
5 |
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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='random', 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='random', 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": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsm0lEQVR4nO3df3RU9Zn48feThBEiFtcQGjAmkZW4FQTEAFrU1f7C6h6sWvxRt61bXPr9nq12PVu/VdnTdlWqrnt0F7tbZYWjdlur0RV19btat3rklG1LcPkqgTUgJkskKQE1BSc4JPN8/5gfTob5fe/M3Jn7vM7xyMzczP1kYJ7Pc5/P534+oqoYY4ypfjXlboAxxpjSsIBvjDE+YQHfGGN8wgK+Mcb4hAV8Y4zxibpyNyCTqVOnaltbW7mbYYwxFWPLli37VbUx1WueDvhtbW10dXWVuxnGGFMxRKQv3WtW0jHGGJ+wgG+MMT5hAd8YY3zC0zX8VI4cOUJ/fz+HDx8ud1NMjiZOnEhzczMTJkwod1OM8bWKC/j9/f0cd9xxtLW1ISLlbo7JQlU5cOAA/f39nHzyyeVujjG+VnElncOHD9PQ0GDBvkKICA0NDXZFZowHVFzAByzYVxgv/H31BIOsGxigJxgsd1OMKZuKK+kYk6+eYJAFXV0oIMDrHR2019eXu1nGlJzjDF9EThKRV0Rku4h0i8i3UxwjIrJGRHaJyBsissDpeb3iBz/4AX/3d3+X9vUNGzawfft2V8/Z29vLz372M1ffs5ptHB5GgWA4jEYfG+NHbpR0RoG/UtXTgLOAvxCR05KO+SIwK/rfSuDHLpy3IljAL79zp0xBgPqaGiT62Bg/chzwVXVAVV+P/vkgsAM4MemwS4BHNeLXwPEiMt3puctl9erVtLe3c8455/DWW28B8M///M8sXLiQefPmcfnllxMMBtm0aRPPPvssN910E/Pnz+ftt99OeRxAZ2cnc+bMYd68eZx33nkAjI2NcdNNN7Fw4ULmzp3Lgw8+CMDNN9/Mxo0bmT9/Pvfdd195PoQK0l5fz+sdHayZNcvKOcbfVNW1/4A24H+ATyQ9/2/AOQmP/wPoSPMeK4EuoKulpUWTbd++/ajnsnnrww/1ob179a0PP8z7Z5N1dXXpnDlz9MMPP9Th4WH9wz/8Q73nnnt0//798WNWrVqla9asUVXVr3/969rZ2Rl/Ld1xc+bM0f7+flVVff/991VV9cEHH9Tbb79dVVUPHz6sZ555pu7evVtfeeUVvfjiix3/LqVUyN+bMSZ/QJemidGuDdqKyGTgKeAvVfX3hb6Pqq4F1gJ0dHQ43nDX7QG7jRs3cumll1IffY9ly5YBsG3bNv76r/+aDz74gEOHDrF06dKUP5/uuCVLlnDttddyxRVXcNlllwHw0ksv8cYbb/Dkk08CMDw8zM6dOwkEAgW33zjTEwyycXiYc6dMsSsFU3FcCfgiMoFIsP+pqv5rikPeBU5KeNwcfa7oEgfs6mtq2Dg8XJQv6rXXXsuGDRuYN28eDz/8MK+++mpexz3wwAP85je/4fnnn+fMM89ky5YtqCr333//UZ1Huvc2xWWzfUylc2OWjgDrgB2qem+aw54FvhadrXMWMKyqA07PnQu3B+zOO+88NmzYwMjICAcPHuS5554D4ODBg0yfPp0jR47w05/+NH78cccdx8GDB+OP0x339ttvs3jxYm677TYaGxvZs2cPS5cu5cc//jFHjhwBoKenhw8//PCo9zSlYbN9TKVzI8NfAnwVeFNEtkafuxVoAVDVB4AXgIuAXUAQ+DMXzpuT2ICdW5fhCxYs4Morr2TevHlMmzaNhQsXAnD77bezePFiGhsbWbx4cTwgX3XVVfz5n/85a9as4cknn0x73E033cTOnTtRVT772c8yb9485s6dS29vLwsWLEBVaWxsZMOGDcydO5fa2lrmzZvHtddey4033ujsQzI5sdk+ptJJpMbvTR0dHZq8AcqOHTv41Kc+VaYWmUJVy9+b1fCN14nIFlXtSPWa3WlrTB7a6+st0JuKVZFr6ZjqZOvdGFNcluEbT7AZMMYUn2X4xhNsBowxxWcB33iCzYAxpvispGM8we3ps8aYo1mG75JsyySn88EHH/BP//RPRWhRYf7+7/8+vqBbqbXX17Ni+nQL9sYUiS8C/uihUYI9QUYPjZa7KUcpJOCrKuFwuCjtKSTgj42NpXz+8NgYQ6EQh9O8XmyFzvqx2UKmWlV1wA+Phum5vodN0zax5cwtbJq2iZ7rewiPOguWjz76KHPnzmXevHl89atfPer1888/n9gNY/v376etrQ2A7u5uFi1axPz585k7dy47d+7k5ptv5u2332b+/PncdNNNANxzzz3xJZG///3vA5E18E899VS+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
|