From 82563b0f6971917c3ed3090cffc3514dd975e824 Mon Sep 17 00:00:00 2001 From: rajeshbrid Date: Tue, 1 Jan 2019 11:17:48 +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 -> 1300 bytes q01_k_means/build.py | 29 +++++++++++++++--- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 165 -> 163 bytes .../test_q01_k_means.cpython-36.pyc | Bin 980 -> 978 bytes 6 files changed, 24 insertions(+), 5 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index e366269077e983833ef48c5fa9aa4663f810fe01..047a82597d347a85cf7baef6011a3be7f71cc8d6 100644 GIT binary patch delta 52 zcmbQtIFXUVn3tE!!$&)2B8Rzxoqk4sZmND!VpeK#Mp98`ihg*0QFd`bVsff}a(+tc H#6%+ihWrq~ 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..57bf8909dcc18a97af16052238d49095b8394f80 100644 GIT binary patch delta 552 zcmYjN&1w`u5T5Rt?U|k3$tKH2%_SfhWeH>v$xXzYh*1w7lp+v%r_0%y?fId5mL#C$ z5U-xb7x3VN_!PoiJ$dj2JXy1=kcR&1tFFJV`g{LNc=afX!q+EvIb9Hq!vV)+eLW}&Az)gZv9xVY>meFRM4__&^&jK4-Uxr^K7;# zbDSBOQRBHu)$DC)mbQ{H&f-#G^UZz8qUMKt_lobc2^+JJ&^+j5a&w!^x+!t5Oog(w$t^okpF`kE+YHTCuTaLUpiZ&(k_yoXust#6rxR{NKBDfiXP}08m`Z~#b*e?;3K z6O^n3%N!_x#50>MxXOuf+i^k(U`8zDJEjU#EV`;kxTpGMQHoN&2Q?_Omu%SmMU&VN zqImku=*B-M`sMRqfVlmXz1l>H#?STAL~c!k8P!Jqx(-TOJvG)(Vh43oQF>`Zlzuf` z+BU>opVdB!+WC3=Cgur;2T`6(0_wVna(zyeoY|ER2C+zk;UtPvmsCX15vCEg8-C~R zJ<9!lJf64Cj4L#29a=X&Zf7fJn&8JTuw9s0@Y`?v5cao!`0Wkcf@^R9JwhBMdl}M8 zGVCP2udeu0Ycw{ai`#d$t~wo(cw0|L%k|ENIFERp`jq_Nh3OO2o^5qGDeI~ZWb`7| wPFKc1!5dT(MbKE8fH&!|lYz;}CAgoeiifT(SJoUQ5x!5*C*gfwWCBF~4>*REBme*a diff --git a/q01_k_means/build.py b/q01_k_means/build.py index 925feb4..4950b43 100644 --- a/q01_k_means/build.py +++ b/q01_k_means/build.py @@ -1,18 +1,37 @@ +# %load q01_k_means/build.py # Default imports from sklearn.cluster import KMeans import matplotlib.pyplot as plt plt.switch_backend('agg') from sklearn import datasets - +import pandas as pd digits = datasets.load_digits() - X_train = digits.images y_train = digits.target -# Write your solution here : - - +def k_means(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, cluster=10, random_state=9) diff --git a/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc b/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc index 4d0c118d68771df511a87c0588c414b923551d0b..aeef3a7e37fb1df98b49e591654f4db416479136 100644 GIT binary patch delta 52 zcmZ3=xR{Z{n3tC;&__FFB8Ry`fPO}PZmND!VpeK#Mp98`ihg*0QFd`bVsff}a(+tc H#6%YWk~0wz 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..fd766bcd54fe08f4f6c73ce2f177d4de9215fda6 100644 GIT binary patch delta 55 zcmcb@euMesX?F K>gH99T1)`pl@dV! delta 57 zcmcb_eubUGn3tDp;pzEN8#x*nm7?@B@^e%5(~D9o6HD@Q^uVB<-0suuP6o3E# From 9b456712074ced2e0c8636380db826f0c82f22b7 Mon Sep 17 00:00:00 2001 From: rajeshbrid Date: Tue, 1 Jan 2019 11:21:09 +0000 Subject: [PATCH 2/2] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 172 -> 170 bytes .../__pycache__/build.cpython-36.pyc | Bin 1157 -> 937 bytes q02_hierarchy_clustering/build.py | 17 +++++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 178 -> 176 bytes ...st_q02_hierarchy_clustering.cpython-36.pyc | Bin 1088 -> 1086 bytes 5 files changed, 17 insertions(+) diff --git a/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc index 8510bd51c2c00789a8ae41393d8b5fc04b3bcb7a..aec5958cdfae5703ee1a5439a9c6bed22092eb7a 100644 GIT binary patch delta 52 zcmZ3(xQda(n3tE!!$&)2B8Ry`xPC@{ZmND!VpeK#Mp98`ihg*0QFd`bVsff}a(+tc H#6)iZly(s$ 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..edcd4787f99e07fff85079e9cb674aa8f5779ff4 100644 GIT binary patch literal 937 zcmZuwO>fjN5VezRK6W=-S_*>Oid%%#MQ}x^QY*xT9sq%4Aw}MJHtVeOf$gQ;sz^x7 zwLgTvlq;wH1x`%TRpEdwKfh?kGjBZ3i#Q%Wdi(UV?-KHh{4+e{$GD6}5JXT#80~kb zaG3{QF%Zs{($3~8zYJK=b5Dh3#G;-L)UX_}5hXAx##_Q-pv43Nh>N`~MZ72cYlrQN zK!iUCJAeb&?<3OpB#CY?FF9i_&+~+~1CwzDNTQ_#&2_fi;72I9Sc&SVCu(ghXj$dcQ>cWlbIr@k zvEgN-VA{)Pp^(P%DuWzD5%T@x@hu_K+{5E9kFOB`$=?+ z;eLOZE$b3ynipV}b1lW}Q>|B~;Tg=bS|Hrjm^QjDAhWYC&z`4uO-uhe%;syU#8I

zPXeYM6N*3(=b@ywqk*c{!h0LWj zt$(|-=oH`MYwRktUiUOx-*TOU)gwI8YwoY{ADEz_4PTbESSxtdMK%WrVP9=m_t**P ILpO~700t}hvH$=8 literal 1157 zcmZuw%Wm8@6eabRJTrbIHoPc`q7NXm@g#PZL69OwRz*-CK?4vjR9d7pQYcX&If-pZ ztLZl1&~<;I-_UI~+;%m;&{Z#ICXYoW+;fje-phLrsk8AoJO29*^1(;wAN0i&0Dl6e ze*<8MVSxx(}|A{PIS$Ueg_&@@@WF6j9b+fWx&a3JZt;)<$beghu~qlRj3v|CZNj9(YnMZlAS zjliCQ>AwIBsxiaNV~4Pjf8h=IA{e~EAA%vgo*U2jbrz~STY{bTF!gl+F?Y&Qj_zii5dausd{t{!< z`@jy?EC6dZ93~4*{OAW2BR;hiH!uk=sf;m7BTZ zdM*Vc6T#_KekEIzyIskcRoc+D;JKE{SdU)c?md-FC%EC?{8Y8CX~}PQe|!rER(>9s zyr|kzeEKHAE2`MkQwdb3+_6nZ*6)O|iC$cGLKh{+*C$z8$cWHrm6MVmGwb7>(lE84o(TcnS+Nm7MsFJT!@7> zT&Y7y^Cwc@f&2HD*<3b!Rw{l&jcjJ;vRE{rn4bNtWX%g8+b}39?>1wzH}_BTPxm(e zykK^@s02IdZtUIvn;yfC`WOJ=ue<<%i!*$T_wWJu&8vQZx#5 diff --git a/q02_hierarchy_clustering/build.py b/q02_hierarchy_clustering/build.py index 724237c..4dd1147 100644 --- a/q02_hierarchy_clustering/build.py +++ b/q02_hierarchy_clustering/build.py @@ -1,3 +1,4 @@ +# %load q02_hierarchy_clustering/build.py # Default imports import pandas as pd @@ -11,5 +12,21 @@ df = pd.DataFrame(scale(digits.data), index=digits.target) # Write your solution here : +def hierarchy_clustering(df): + Z = hierarchy.linkage(df, 'average') + plt.figure(figsize=(25, 10)) + plt.title('Hierarchical Clustering Dendrogram') + plt.xlabel('sample index') + plt.ylabel('distance') + hierarchy.dendrogram( + Z, + leaf_rotation=90., # rotates the x axis labels + leaf_font_size=8., # font size for the x axis labels + ) + plt.show() + +hierarchy_clustering(df) + + diff --git a/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc index c783cf0b7f8a400d695fec777f93740e2e0a699e..eead76d6ff5b2d8151f83d8333451da295b53288 100644 GIT binary patch delta 52 zcmdnQxPg(wn3tE!!$&)2B8Ry`tbRs*ZmND!VpeK#Mp98`ihg*0QFd`bVsff}a(+tc H#Kb@Vm$DH& delta 54 zcmdnMxQUU&n3tF9hU2`bi5%ui@%kD0xvBc;MX8mECHcAfF8Rr&xv6<2#rgq7`B|yS JCB+lt0|Dn(6EFY( diff --git a/q02_hierarchy_clustering/tests/__pycache__/test_q02_hierarchy_clustering.cpython-36.pyc b/q02_hierarchy_clustering/tests/__pycache__/test_q02_hierarchy_clustering.cpython-36.pyc index 180ff269145194c281510a377a4f864a43da4bd7..a1fa35045f3f3c1ebf3baded4d258134ba05d65e 100644 GIT binary patch delta 55 zcmX@Wv5$kpn3tE!!$&)2BgZU8g(Cfo{M=OiqQtD!;*6xC%oP3b{G#mQg2d!h{p9?V K)Xhg2YnTAw&l0i# delta 57 zcmdnTae#xvn3tF9@#*bvA8m*%GCl@#j-6y;~7 NCYKa%KEznV1OQTd6+8d{