From ad1d2887d1da6cf9734e62f48b274bc07f62b63d Mon Sep 17 00:00:00 2001 From: palash1512 Date: Thu, 25 Oct 2018 11:16:54 +0000 Subject: [PATCH 1/2] Done --- __pycache__/__init__.cpython-36.pyc | Bin 147 -> 145 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 159 -> 157 bytes q01_k_means/__pycache__/build.cpython-36.pyc | Bin 1217 -> 1658 bytes q01_k_means/build.py | 36 ++++++++++++++++-- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 165 -> 163 bytes .../test_q01_k_means.cpython-36.pyc | Bin 980 -> 978 bytes 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index e366269077e983833ef48c5fa9aa4663f810fe01..361f643ca6a745632a0ebd4609184fb1236bc51d 100644 GIT binary patch delta 52 zcmbQtIFXUVn3tF9*V2p86FJNk?DRA8b5r#T5_1xZGYm})jr7Cwi?WLg5|dN)lk-zj ICng#J0K7F3lmGw# delta 54 zcmbQpIGK^dn3tC;DZVjkB8Rz>gMLPSZmNEIQEFvkNq(-rOMY@`Zfaghv3@{NepYI7 JN%6#ZBLKm25Tjn3tC;DZVjkB8Rz>kA6meZmNEIQEFvkNq(-rOMY@`Zfaghv3@{NepYI7 JN%6#ZI{?Ts5^n$i diff --git a/q01_k_means/__pycache__/build.cpython-36.pyc b/q01_k_means/__pycache__/build.cpython-36.pyc index d257235cdbea3a54ce2218792e4a1f25acdd0fa9..365a50c55d431dfed8fcb0afa3269dd235cbfc23 100644 GIT binary patch delta 939 zcmZ8eO=}ZD7@m*K?q>7RrnI)Apdf;wwxtzsQiL8nsJ(cwj6#^~Op;A@H_Ob{wz8pz z=&^_d{09mi{R#d651xd%3PS%vPrkFEQe2p4pP6^&eV^xjzgI8nrwR);20&CVQe{x$&fNfI>U;f)A^YbyNSm7ITS=~Y}}{MB~SG}qrBh$Sll|T z!np@)50>r$b+6 zcqf-6j1M&gm0u=H#zMx-PxUTOvRGp%voXD+=$6OD# zA8zk#y&S8N&Uh%dLdY@uOt)7T;HItvAl$@tyo3XMAFH)*AO7H$vMp~DWxHP1o_!*F zr>Y5CLt~ki<`@Mt%$t|)n2O?QUn-jxOdWQ!c$_nbA4i(GQKARqBjZ?XFR4YFwq;?- zLTL^kFn5&LRvXL>?y4Gu3>F4UgL?+|&8$aPZk7h;uxc*^qfYs#)90(RUvxv*p@4G7 zCa(O?TWmp(V#!sydD&SzCe})LZuQ1dcQZRFmAmu*+)q;rba^lq@<-?Naj)0?`16bSof7hkTsaByXL$Vq zLPaX7iJ^kh$eCt~M5M?Pof$4TC5kWdPec@|Sad`e@tP>BqT*G4Mn$h;hh)$>$4O*B zfxmpEWaD2W{rqj``xygz_ngKYgKjgP>Xi@5c_^K1Dr?3*$e>!AK0k%rDL1&LOT zW7q@9yE=$m%Zbu{3>o&!Ful|Pa=)4^wGEKU548tg8$Y)vkVYJAL4Gt2PSy?N>q{c? zf2&;)2h$_q$0jNTDuGUb(rLS!-FxtrxQAG9@nST$MvZ1pt!1!gbYQ0|qnhAHZ=7AI zY4GhMw%_k#t=~l;bc=4c@3WhScjz|qE}|P^e83!jKXF;)eR16%Yb9MX{4ZzY^M;Wj zy3zGyxLj|1@yplU!oK!TcK>bkC}+yM9gF}E(#=$Gx8v-%XCwOx?8U0$iLup6tEX{` PFA+*qRwf1Gl&60I;dPhx diff --git a/q01_k_means/build.py b/q01_k_means/build.py index 925feb4..dfa70b6 100644 --- a/q01_k_means/build.py +++ b/q01_k_means/build.py @@ -12,7 +12,35 @@ # Write your solution here : - - - - +def k_means ( X_train, y_train, cluster = 10,random_state = 9): + model = KMeans(init="k-means++", n_clusters=cluster,random_state=random_state ) + nsamples, nx, ny = X_train.shape + X_train = X_train.reshape((nsamples,nx*ny)) + labels = model.fit_predict ( X_train ) + plt.scatter(X_train[:, 0], X_train[:, 1], c=labels, s=50, cmap='viridis') + return + +def k_means_ga(X_train, y_train, cluster=10, random_state=9): + X = X_train.reshape((len(X_train), -1)) + kmeans = KMeans(n_clusters=cluster, random_state=random_state).fit(X, y_train) + a = X_train[(y_train == 0) & (kmeans.labels_ == 0)][0:20] + b = X_train[(y_train == 1) & (kmeans.labels_ == 1)][0:20] + c = X_train[(y_train == 2) & (kmeans.labels_ == 2)][0:20] + d = X_train[(y_train == 3) & (kmeans.labels_ == 3)][0:20] + e = X_train[(y_train == 4) & (kmeans.labels_ == 4)][0:20] + f = X_train[(y_train == 5) & (kmeans.labels_ == 5)][0:20] + g = X_train[(y_train == 6) & (kmeans.labels_ == 6)][0:20] + h = X_train[(y_train == 7) & (kmeans.labels_ == 7)][0:20] + i = X_train[(y_train == 8) & (kmeans.labels_ == 8)][0:20] + j = X_train[(y_train == 9) & (kmeans.labels_ == 9)][0:20] + for char in (a, b, c, d, e, f, g, h, i, j): + for index in range(0, len(char)): + plt.subplot(10, 20, index + 1) + plt.axis('off') + plt.imshow(char[index]) + plt.show() + + +k_means ( X_train, y_train) +#plt.savefig('D:\\output.pdf', format='pdf', dpi=1200) +plt.show() diff --git a/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc b/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc index 4d0c118d68771df511a87c0588c414b923551d0b..2f58d056a2d2f1f7bf7049d04a628e0ce3f63bbc 100644 GIT binary patch delta 52 zcmZ3=xR{Z{n3tF9*V2p86FJNk0`xQTb5r#T5_1xZGYm})jr7Cwi?WLg5|dN)lk-zj ICnmZ80LAGM+yDRo delta 54 zcmZ3?xRjB@n3tF9hU2`bi5%uiLHZf_xvBc;MX8mECHcAfF8Rr&xv6<2#rgq7`B|yS JCB+ltT>#(*68r!F diff --git a/q01_k_means/tests/__pycache__/test_q01_k_means.cpython-36.pyc b/q01_k_means/tests/__pycache__/test_q01_k_means.cpython-36.pyc index c05e1f0ef8aeea197101004748188aea8859b7f8..7de2e12eec620febe4b814f8a18f31b47906bbd3 100644 GIT binary patch delta 55 zcmcb@euuVB<-0suuP6o3E# From 24295ff98a474e9978fe829be36f6f5b07baab29 Mon Sep 17 00:00:00 2001 From: palash1512 Date: Thu, 25 Oct 2018 11:17:41 +0000 Subject: [PATCH 2/2] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 172 -> 170 bytes .../__pycache__/build.cpython-36.pyc | Bin 1157 -> 1188 bytes q02_hierarchy_clustering/build.py | 15 +++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 178 -> 176 bytes ...st_q02_hierarchy_clustering.cpython-36.pyc | Bin 1088 -> 1086 bytes 5 files changed, 15 insertions(+) diff --git a/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc index 8510bd51c2c00789a8ae41393d8b5fc04b3bcb7a..c3eba09c8d8dbb4ac93556d86900b4559a133020 100644 GIT binary patch delta 52 zcmZ3(xQda(n3tF9*V2p86FJNk!u2!qb5r#T5_1xZGYm})jr7Cwi?WLg5|dN)lk-zj ICnkCW0LiZr_y7O^ delta 54 zcmZ3*xQ3C#n3tC;DZVjkB8RzBq<%(zZmNEIQEFvkNq(-rOMY@`Zfaghv3@{NepYI7 JN%6#ZZvfAN5~BbB diff --git a/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc index 5171cbfb15b7e89076727cb2db0d592e444b292b..60bd18b1356fdd010c49c68183af723c2404ba09 100644 GIT binary patch delta 455 zcmYjMJx{|h5cNlBl9o^k0?Gnntc0jq!~{Z!6$u8Akd6VRv1t>WCW>3}u`m?G0xbCn zAS6b1{se1QCM13UV&amiKD~F(zVq|>&VI3P)*YvO@cMb;7=(P0v4wlGgU|tzAc86a zw8$*rU`QjF5Nt$gUgN41nqU^%P*!MzUFZo_4l7WhL{@^y5dlZiU`m?O392KCJS~<= zj|^(U6xJ<)89@(8!~Vtx$v$wm+kJnk(|It@{I2$|B`~jrXd~7k{h*r^(qH_wq$#;$U8ueH%?H;<#_T*s~_n_eVjy2 zcB1Y`tCQ3;4w5KP-PB~ee2L=%? Lq;5XKSi=MW8E+GY delta 57 zcmdnTae#xvn3tF9@#*bvA8m*%GCl@#j-6y;~7 NCYKa%KEznV1OQTd6+8d{