From 5eb7a06a2fd5ec9c12c43c0ef0b088be1d7b9403 Mon Sep 17 00:00:00 2001 From: HardikaB Date: Tue, 28 Aug 2018 13:41:15 +0000 Subject: [PATCH] Done --- __pycache__/__init__.cpython-36.pyc | Bin 147 -> 143 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 159 -> 155 bytes q01_k_means/__pycache__/build.cpython-36.pyc | Bin 1217 -> 1425 bytes q01_k_means/build.py | 28 ++++++++++++++++-- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 165 -> 161 bytes .../test_q01_k_means.cpython-36.pyc | Bin 980 -> 976 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 172 -> 168 bytes .../__pycache__/build.cpython-36.pyc | Bin 1157 -> 1015 bytes q02_hierarchy_clustering/build.py | 23 +++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 178 -> 174 bytes ...st_q02_hierarchy_clustering.cpython-36.pyc | Bin 1088 -> 1084 bytes 11 files changed, 47 insertions(+), 4 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index e366269077e983833ef48c5fa9aa4663f810fe01..57af355bb141da3cbce9e31aa75be2ff413f2b26 100644 GIT binary patch delta 50 zcmbQt*w4se%*)I5syQKgB8R!0jebUcZmPaVVo^$FcA}Ghcz#iKaY15os(x~QO6tT! FBLIfO5T5`5 delta 54 zcmeBYoXp5!%*)G_6yF#%k;7ccK|douH&s8qD77-NBtKW*B|o_|H#M)MSU;dBKPxr4 Jq_jL1@cg3e;)2BFRQ=@ql+=ld Fb^wg?5YGSr delta 54 zcmbQuIG>Tjn3tC;DZVjkB8Rz>kA6meZmNEIQEFvkNq(-rOMY@`Zfaghv3@{NepYI7 JN%6#3I{?SR5^Dee diff --git a/q01_k_means/__pycache__/build.cpython-36.pyc b/q01_k_means/__pycache__/build.cpython-36.pyc index d257235cdbea3a54ce2218792e4a1f25acdd0fa9..c15eb02276c08494ea5fce836584cfa2f03c617f 100644 GIT binary patch literal 1425 zcmYjRyN@F^7`Hu{M<$Pb-0kfy$KwPPq}d#zp;#>l0YXBYkU#<%od##@O+1;`+76pV zlPV_x1xQp-@DK36P*A(2K&k1j;`1b{TSwp1pY7lGvnTHi2JwIEZ@)1eg#JNy2E^!n z5dAwSjyTRyfhoq$CppPH+7X@1=iYjo>*PTZ((vwlTN%-AYf%={xb=Fp*V;ZEh;BCI zzS{x3y)}Z>0S{p|`op99BFqlfh#rc=>>j-j`iMT@1K#8PXP6#y@&y_VH-HX}unj)_ zOt4Zvp&pw~A&xjROberFP*>UrHFbpu{r%qNb1);%`Yf+!%wkRBT$bWmax>GL7$!Ge zP^lxp4Hr1y1JQqhYETAraIz*VWN?PpXw@;KA&tkqpUKK^{LE{RYYM!M^Hzaz*}&ym zFWhG9Ye^vim%4(YW~NMa&Tp*n1-1dKX%bps^95ahas~!tteT zU$K%`MWPKe!gjb2^#(&(>XaJ<#0R+tq91{p0;Z=YE8Jj?=Ds@l5jFS}m4uUD$yEnV z^ORfrFGxEe9)R;g{RtQ>IeTpJ67DdpSuPA<8A8$XkH)jA5aUmn;&RSD7=Kl%xvp6% z#%aYtZDGrDn$)VwL~6!YkKaz_N#Wkbc(RZ=KdWz^$LG1!CasG4;&s?oyCwqk{li`1 z*?C^2EY}y{+}5?AElxikJ)ofydd6zt!^lD?x0-sF($KJ0g3HuczgDs|bbkjZNk!@C zOlX+1iO6+gJzZ)#NUOY3$*x69%Gw5tQeG{D^$NDMUY*0HI%SRki@&tpI>%=G~OB>$YIy-dAy>}YJ6)Tgt zjwqQIHrOJiL5opa|57n%)?LF0s{=6V5R?sfq@6&ZUj~J6A4eeZ?ib;g@F9K^a{E}l z0rMlGLNKa*ZYOk4&vU_4d3Fn@<@2Cm#x_BN6~pv@kK5!+W!x?a7&NVQ7aK~Uf+vI HfCKM;np$nR literal 1217 zcmZva-HH=26vuOBrZdy&$9}M|ET~uB6m+}dt%&H}h`5MeC<9W`CT*uXA2msFS5gqF zmx6ELwJ+k0Z;)F-=qq@mC)p7kaLWAuC+C+*PET^T*Gt}g|C0U;2>C(&d3=l?;44p2 z7-5i;0#X1Qd%3sp(*PqsZxvx00^#8z+K@En@uHn3sGYRSVivOK1Ef9Xy&!}37FQwz zFyWJ@oR;zo!zt=d)jB- zC#**Y8aCd#rHKaSpL@Es2&_LKM_4BdK6*!F9Xbj%MQ_l^(N;~-8#Hz_tSNefwjGUX zir%1!qj62q8?@tSyQb(3+I2LkDSCtU9PQK;y+Qkqc58~>pgR|(4t1ns-PVcj=&tVR zzTTN8r{wkX_3p(()nYz&e0PJL#oWnyPvJSU9t-pygF~|MfnX+P{SDp>jM{ov?;YU@ z0r?DX-oLcDWJBC2e~EVo@4@cb77vpQJd>28NxqVb3u(H7maHm9Qc)b+3EKlJo)vo; zxAtCaTUJ6Vk(C%l*qpG`_|$HRG5@Zn7GORB13cv?+X1uvBx zJ`>e~PcW!A%gWhkd6gT!Ik_`BAGtk;<5iZkP#Qkl{Zlc?85=v`0wukS%Op? zi=%+jKJm*xD$AAB(>)&2MmF-fVjd3^EukgynA+C`|^;g24SK7%d%0?`k zWePj`*Rz7oxD?lLh6xoFGp@vS9Jnf6L;jK5c2<0^sMsp!_iYWbi_*oqyMFA25C(q$ DfnzX2 diff --git a/q01_k_means/build.py b/q01_k_means/build.py index 925feb4..948eed8 100644 --- a/q01_k_means/build.py +++ b/q01_k_means/build.py @@ -1,8 +1,18 @@ +# %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 matplotlib.pyplot as plt +import seaborn as sns +import sklearn.cluster as cluster +import time +import numpy as np + +sns.set_context('poster') +sns.set_color_codes() +plot_kwds = {'alpha' : 0.25, 's' : 80, 'linewidths':0} digits = datasets.load_digits() @@ -11,8 +21,20 @@ y_train = digits.target # Write your solution here : - - - +def k_means(X_train,y_train,cluster=10,random_state=9): + X_train=X_train.reshape(14376,8) + start_time = time.time() + km = KMeans( n_clusters=cluster,random_state=random_state) + km.fit(X_train) + labels=km.predict(X_train) + print(km.cluster_centers_) + print(km.labels_) + print(labels) + palette = sns.color_palette('deep', np.unique(labels).max() + 1) + colors = [palette[x] if x >= 0 else (0.0, 0.0, 0.0) for x in labels] + plt.scatter(X_train.T[0], X_train.T[1], c=colors, **plot_kwds) + frame = plt.gca() + frame.axes.get_xaxis().set_visible(False) + frame.axes.get_yaxis().set_visible(False) diff --git a/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc b/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc index 4d0c118d68771df511a87c0588c414b923551d0b..cf680f64284ca1f5326b6a0de64f39f366213e7e 100644 GIT binary patch delta 50 zcmZ3=xR8;_jL1@cg3e;)2BFRQ=@ql+=ld FE&z};5a<8^ delta 54 zcmZ3;xRjB@n3tF9hU2`bi5%uiLHZf_xvBc;MX8mECHcAfF8Rr&xv6<2#rgq7`B|yS JCB+kCT>#&g68HcB 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..be5125fea4bfcbf223703c6a87713fa60d5a3900 100644 GIT binary patch delta 53 zcmcb@eu16Cn3tF9b#p@WMvewXxiI~V{M=N1kHn&s%eubUGn3tDp;pzEN8#x*nm7?@B@^e%5(~D9o6HD@Q^FJshV0sus<6np>x diff --git a/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc index 8510bd51c2c00789a8ae41393d8b5fc04b3bcb7a..885f1397ef631976d4d25f09deda9cb46e184ce1 100644 GIT binary patch delta 50 zcmZ3(xPp_jL1@cg3e;)2BFRQ=@ql+=ld F-T;%Q5d#1K delta 54 zcmZ3%xQ3C#n3tC;DZVjkB8RzBq<%(zZmNEIQEFvkNq(-rOMY@`Zfaghv3@{NepYI7 JN%6#3Zvf8{5}yD7 diff --git a/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc index 5171cbfb15b7e89076727cb2db0d592e444b292b..721556943a10ff2f452f7653c0d7e91954e247fa 100644 GIT binary patch literal 1015 zcmZuw%We}f6t(A_XH!U9*hTEJX%K7?s%V9}>H;J{W)YmRGjZa1U^{A46@-)uvFV5K zOS5IwUtqX!|_ly^A>429?5pzA)UNSx)|}+d}obFkK_3+k9lwY zV2uGEviQa$ecmT~yg%P32P|QYYeXI~{1y$Hx1a=_5uaw+5Z9qjspLQ!Gr<*A>1+ir z38RK;ZuHQrn~WDsm6@V>9ZOLxXlC<6Q80dyVp|O!4`vAS7^Xf0Fz5=}U3*`!!E=wb zSa1Vv0{2;H8wM7zXv0DlI~HAGE0#5He3ucgk!>4fx6ep$P8GX-47G2Y07FdTsmQdr z^i%@>Q4N4$q9O>jUr9qE(6dy$4vjF9ljuUy36~^Vxu~o^ zB+#?+9Bhq0jE$nAs4@A8R2P|>uVQ33 zr>2snkzxWxErVqjl|2g5)#t*bv+;zc3vit5=>=G(io;5A(3*0s;WU)JB&4HLQLPR) zVikNbh{T(GWxp44@K46!wgYFNvzxSJN!gf*Oc-59cabzs;MTr|d&=v;Uf?=1RAt=M x9-FE*R93OuY<1_nYt%V^4|X7(}|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..602855d 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 @@ -6,10 +7,30 @@ from sklearn.preprocessing import scale from scipy.cluster import hierarchy from sklearn import datasets - +from scipy.cluster.hierarchy import dendrogram, linkage digits = datasets.load_digits() df = pd.DataFrame(scale(digits.data), index=digits.target) + + + +X_train = df +y_train = df.index # Write your solution here : +def hierarchy_clustering(X_train): + # generate the linkage matrix + Z = linkage(X_train, 'ward') + # calculate full dendrogram + plt.figure(figsize=(25, 10)) + plt.title('Hierarchical Clustering Dendrogram') + plt.xlabel('sample index') + plt.ylabel('distance') + dendrogram( + Z, + leaf_rotation=90., # rotates the x axis labels + leaf_font_size=8., # font size for the x axis labels + ) + + plt.show() diff --git a/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc index c783cf0b7f8a400d695fec777f93740e2e0a699e..341cd4536ff40beebf22c0466370748580f36c84 100644 GIT binary patch delta 50 zcmdnQxQ>y-n3tEUz9S)eB8RzLw0=f@ZmPaVVo^$FcA}Ghcz#iKaY15os(x~QO6tVK FKmdkh5VZgR delta 54 zcmZ3-xQUU&n3tF9hU2`bi5%ui@%kD0xvBc;MX8mECHcAfF8Rr&xv6<2#rgq7`B|yS JCB+kC0|Dme6D$A# 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..d0cb4bb917ff01d57ec6a756672376c17871800c 100644 GIT binary patch delta 53 zcmX@Wv4?}hn3tEUz9S)eBgZU8xdQ!+{M=N1kHn&s%bvA8m*%GCl@#j-6y;~7 NCYKa%KEPPR1OQS26*vF@