From 2a3e9db71bddd2622b62ab04e96ca10954eb6e6d Mon Sep 17 00:00:00 2001 From: Vagus30 Date: Thu, 26 Jul 2018 16:50:38 +0000 Subject: [PATCH 1/5] Done --- __pycache__/__init__.cpython-36.pyc | Bin 0 -> 145 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 171 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1200 bytes q01_my_decision_regressor/build.py | 24 ++++++++++++++---- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes ...t_q01_my_decision_regressor.cpython-36.pyc | Bin 0 -> 2988 bytes 6 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 __pycache__/__init__.cpython-36.pyc create mode 100644 q01_my_decision_regressor/__pycache__/__init__.cpython-36.pyc create mode 100644 q01_my_decision_regressor/__pycache__/build.cpython-36.pyc create mode 100644 q01_my_decision_regressor/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q01_my_decision_regressor/tests/__pycache__/test_q01_my_decision_regressor.cpython-36.pyc diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a0c088cbe645a686629af04e2b1db41e8b57215f GIT binary patch literal 145 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFFXB={M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{rLFIyv&mLc)fzk UTO2mI`6;D2sdgZ9i-DK{0Ch$r8vpm7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuL%8&{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzr7_}t2PxMWdk ndQoa|aek40e0*kJW=VX!UP0w84x8Nkl+v73JCKdVK+FID0^crU literal 0 HcmV?d00001 diff --git a/q01_my_decision_regressor/__pycache__/build.cpython-36.pyc b/q01_my_decision_regressor/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..adf14589bc8643eafa9d75b1be39b7d09611d843 GIT binary patch literal 1200 zcmZuv%Wm676y*$`qG?I7EyqrZF8Wxg4=b^^MOz>Rf^4!#(lliY5EI^!OobHLnNd&$ z)XL4$f6yQ3x3s(NW}B6MpctZ!z5mbiDqZr`1iX_kJ576yV_g4k~UFd0duM)p!ARBXT`$S7ArrDwfsck~@sT5|3Ps-_V8gwf0d-&@o2*#PS zIR|!uRW>d#;FoOe8?W_S4_xpr-F46gbH8<3e!-c8JXnW_;XG<_*E%x2)@`E;zV5ZX zHk@*F+kdD+JbTO(Jzpinxs4m4M3v330G8)3$Fb#$#s*h*SWim{ikwj7iFK!ivB`6? zyxXTUJLqPp6qPWw%52yu2}N!cd4lJK&$6ykHb8>wY`D4>kf5N*Hyh`r(7KowQrVrY z4C!{dyEa&1T_xUCo&M#hFL397KVrQrIe98(OMP}{@>8u|=tksnlB4Gnc;8BxQ&LaV zbD5jTZ+Gry)e5V0)n}QyZnDYqWl_ROv$CTP#`iI!9wIm_VKM6?20Y<0Q(vLBd5c4R zjcj~qZ|WCVdbK#I@E&ERWr>-wsXHsvMTwN*HR@7_O9+6RMZ(ZXs|zpw!8uB zFP2raQnyKuloXI*hg*+2-+Dz^=axOQY^6TI1?p3R&j>yzAgjBZcGhjdml&|oH+a=$ cDZizP>sts3zK^~LznC4eJ$A$o*^mw0cXuI5*#H0l literal 0 HcmV?d00001 diff --git a/q01_my_decision_regressor/build.py b/q01_my_decision_regressor/build.py index 5eb1927..23bdc78 100644 --- a/q01_my_decision_regressor/build.py +++ b/q01_my_decision_regressor/build.py @@ -1,17 +1,31 @@ +# %load q01_my_decision_regressor/build.py # default imports from sklearn.model_selection import GridSearchCV from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import r2_score from sklearn.model_selection import train_test_split import pandas as pd - -data = pd.read_csv("./data/house_pricing.csv") +import numpy as np +data = pd.read_csv('./data/house_pricing.csv') X = data.iloc[:, :-1] y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) -param_grid = {"max_depth": [2, 3, 5, 6, 8, 10, 15, 20, 30, 50], - "max_leaf_nodes": [2, 3, 4, 5, 10, 15, 20], - "max_features": [4, 8, 20, 25]} +param_grid = {'max_depth': [2, 3, 5, 6, 8, 10, 15, 20, 30, 50], + 'max_leaf_nodes': [2, 3, 4, 5, 10, 15, 20], + 'max_features': [4, 8, 20, 25]} # Write your solution here : +def my_decision_regressor(X_train,X_test,y_train,y_test,param_grid): + np.random.seed(9) + classifier = DecisionTreeRegressor(random_state=9) + best_params = GridSearchCV(classifier,param_grid=param_grid,cv = 5) + best_params.fit(X_train,y_train) + best_params1 = best_params.best_params_ + + y_pred = best_params.best_estimator_.predict(X_test) + + r2 = r2_score(y_test,y_pred) + return r2,best_params1 + + diff --git a/q01_my_decision_regressor/tests/__pycache__/__init__.cpython-36.pyc b/q01_my_decision_regressor/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1964ddd6731b78ac4f589905cdffa7a7db9f13f1 GIT binary patch literal 177 zcmXr!<>m7K9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuQ>gT{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzr7_}t2PxMWdk tdQoa|aek40NosLPv3`7fW?p7Ve7s&kaz#=PVoH44~k__U>R0mwO7kq*RVZr>s4S4zb`|h=fe6^hp)@3T#>7C zO*Z8EsC3Kb8@zeVf(>XswxB85$l*u9{>*9}ALGic7R$WPr8ZXrEw}My(WoFyguy1E z`%!4dcF}7s-W4D_p$^kTDA`j|>r~+%3q5JNgD47APxobKxUt!Wzy$5P=|D@-S79ei zdYc{nU|dB{V}_=;m0v$!YT3M63>6L~ud5(|G#1(fMvfioT_RH^g8{V06t(dYGOJ`> zCv%>ROQwmYf~!NTr;CQ862b16o0VPaqRZH!5GG} z{YB6l=&f_@FH?0-_k)gXcM#0>gbYSWigUVy2-ZQK}kqDGV_$sNLnScQkVYCTyoxG z1!gb7Rd8)Kk&3AZbzbOBs-z${6mU(;v}}*rY)Ufx{ zkKcX&%kgKI3Pn8g=``IS#qIcFFUmc&%r`2^-%`P~5285Lg)pi&4o2tPE6{nF0Qm@K z2qF@Fiw!?M6g)HC?!#!ZLy5?HI}~$Bkwx664wNR!Ro+&VM%4-#(l8XFHL5qr5Xi%S zgP)UYmwJV`YcnN3GXuAPX1;52VQCu zKedi!-XIAL0i%c?yxhk_P@prr54@BNV$6tk(&y{?9-d=VvWZiak-%h)*%pst%E6zq z(w#vVL6O`mVM6CHlP4DLDH(vk(-&@e6yvO1oUtg~OW Date: Thu, 26 Jul 2018 18:05:37 +0000 Subject: [PATCH 2/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 173 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1484 bytes q02_decision_regressor_plot/build.py | 24 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 179 bytes ...q02_decision_regressor_plot.cpython-36.pyc | Bin 0 -> 1132 bytes 5 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 q02_decision_regressor_plot/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_decision_regressor_plot/__pycache__/build.cpython-36.pyc create mode 100644 q02_decision_regressor_plot/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_decision_regressor_plot/tests/__pycache__/test_q02_decision_regressor_plot.cpython-36.pyc diff --git a/q02_decision_regressor_plot/__pycache__/__init__.cpython-36.pyc b/q02_decision_regressor_plot/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7bf20094da26440d0f4b2938601f56253f1c0cd3 GIT binary patch literal 173 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuPFVD{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzqyc(_baYI;#> padCc8d_hiriGF;1W?p7Ve7s&kMD-r8I#po%?jQIOhf4Nxjs(^2HemNFx=iAy<| zJ?23uUV*oOldhcn3S6Ljw1He0)qLvd8O`+c_q9%Yz2LIPzyH-Sj6aP>t&8?o*wr5h z!VoMs=8Q8&wwarAi(A^Za(nJ@N85Jpau4V2+@E!Lpsg+s@$KNM9`7*&f>~ds7@l0pKv z;xt_yo=iks#gofosURw4mSl_cBvC(Y7@nM->h}AWn-0Zc@=hB;wgMi?cp-{;q^h`r zjfwLcpCBOEBG@H3BKU~lQ-Ws%F9^OtNRU$9h)Ngx*Vxr>2&r-BV0Uj`*Y-=}$5(e= zWz?Qv_w3HE{TZu`+FYB=sLa~Lu~i#uwl?oNIJWed>2XjyGrJCm%-Th(L)LZw+^C$H zi-g$sI7Zv6?b;QNaD{ho|Lbvtk5oQ*d`)V*z9T}~3BL?P@4eMs8zeELZ41-QJM;J^ z5>Qr`Qm2Hjhi>m8OBLp?VbfLTj948hsK#c)lE%s7DdY`HSN<6?O%tnNS(YG2Ib0Cu zR$e5Ht9MnaZQ^;<@;uTsk4=4++@Z5VY2k}o7g;53vb+-YkR?^)#<=G~G*+2c+{J*F zCE@qHalk4X%kcGBT{yQe3%TA`tEEgx`ZFBHHD@eg=gkUfmp8%hb z4e$wA-wfFhpHO?{XSinbH#Yect?@BGP**v`a&a=p*z!n0j?rMTN~#ndKFm_AEl*ny zt~pd#hN|VvEwRdC)tIHg6vh?Boo7=Fnk??NZ~25abr#DxUdCLMlIn{0)!VE}E~9Cj zToI?fgjhsa+l@^%&+UxV#NIUQR(^;dNGenLF~JA{|Bj^ID9?~px}PTD5l}%l{^xkX gWe#7E*whCIA?74xKIX-z?3e-D$2=XH$Cf|*2h+lqsQ>@~ literal 0 HcmV?d00001 diff --git a/q02_decision_regressor_plot/build.py b/q02_decision_regressor_plot/build.py index 020d81e..6d3a097 100644 --- a/q02_decision_regressor_plot/build.py +++ b/q02_decision_regressor_plot/build.py @@ -1,3 +1,4 @@ +# %load q02_decision_regressor_plot/build.py # default imports from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeRegressor @@ -5,9 +6,10 @@ import pandas as pd import matplotlib.pyplot as plt import numpy as np +from sklearn.metrics import accuracy_score plt.switch_backend('agg') -data = pd.read_csv("./data/house_pricing.csv") +data = pd.read_csv('./data/house_pricing.csv') X = data.iloc[:, :-1] y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) @@ -15,3 +17,23 @@ depth_list = [2, 8, 10, 15, 20, 25, 30, 35, 45, 50, 80] # Write your solution here : +def decision_regressor_plot(X_train,X_test,y_train,y_test,depths): + mean_test_scores = [] + mean_train_scores = [] + for depth in depths: + dt_regressor = DecisionTreeRegressor(max_depth=depth) + dt_regressor.fit(X_train, y_train) + mse_train = mean_squared_error(y_train, dt_regressor.predict(X_train)) + mse_test = mean_squared_error(y_test, dt_regressor.predict(X_test)) + mean_test_scores.append(mse_test) + mean_train_scores.append(mse_train) + + plt.figure(figsize=(10, 6)) + plt.plot(depths, mean_train_scores, c='b', label='Train set') + plt.plot(depths, mean_test_scores, c='g', label='Test set') + plt.legend(loc='upper left') + plt.xlabel('depths') + plt.ylabel('mean square error') + plt.show() + + diff --git a/q02_decision_regressor_plot/tests/__pycache__/__init__.cpython-36.pyc b/q02_decision_regressor_plot/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d0a13799a3c119f0f9e9f8528a2ddd781c693ef GIT binary patch literal 179 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuLS*!{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzqyc(_baYI;#> vadCc8d_hiriGE3HaY?a$e0*kJW=VX!UP0w84x8Nkl+v73JCM!AK+FIDr8P09 literal 0 HcmV?d00001 diff --git a/q02_decision_regressor_plot/tests/__pycache__/test_q02_decision_regressor_plot.cpython-36.pyc b/q02_decision_regressor_plot/tests/__pycache__/test_q02_decision_regressor_plot.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f7dcebcaf16b2b1bfc60b897a399c6706965ad3 GIT binary patch literal 1132 zcmbVL&2G~`5Z?9LiIpaZ69|F8mm*n0b=6)#La0!x-f{tfFo%`#Zc-Qjb$4BrsGQQ5 z;Zb;ny>iMEAaP>Gp(Z&rLTohSiFba#Z@fPm4aPq|eEjYZ@`J1#7wiKN{S=fSg65>4 zF{Nlbxl^#1fz5=QyM-5flpGV`iQW|vJxS**?uq^z68Z~>CLy){TdB=qq9xdasWge2 z>RP4?D2vy3g-kP@RV7z)s-)JH;&on`6vM9%`W}Gj2cRU0sUWcmp`N703KM%oJs_P1!ZM|A~ESnFl|X$_Xycvf)uVs=%@ia)D|k_W2r`9 z+3k(v{7I}aXbBGmcwYWDJlFZgp=W*0%cPK;+X3fAC7K-VA?LVD%NunIo4wt2yxzO& z!39d&nNNMMeKQXG)^Ezp;A9Fv58Ka5{7_Aci}gM=SuWcBZ39*yX$!Qt_|KOuy+9r{ JRvA+GvEO5nG%x@F literal 0 HcmV?d00001 From b39a2939c6bc5400b535119e5c59793bf34d23b1 Mon Sep 17 00:00:00 2001 From: Vagus30 Date: Thu, 26 Jul 2018 18:35:06 +0000 Subject: [PATCH 3/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 172 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1187 bytes q03_my_decision_classifier/build.py | 19 ++++++++++++++---- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 178 bytes ..._q03_my_decision_classifier.cpython-36.pyc | Bin 0 -> 3024 bytes 5 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 q03_my_decision_classifier/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_my_decision_classifier/__pycache__/build.cpython-36.pyc create mode 100644 q03_my_decision_classifier/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_my_decision_classifier/tests/__pycache__/test_q03_my_decision_classifier.cpython-36.pyc diff --git a/q03_my_decision_classifier/__pycache__/__init__.cpython-36.pyc b/q03_my_decision_classifier/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed05f1067b496d236bf79f5b53f6dc5b37e53d49 GIT binary patch literal 172 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuSorj{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzrd_}t2PxMXrp oVsUY1T4rjIetdjpUS>&ryk0@&Ee@O9{FKt1R6CHB#X!se05RMyuK)l5 literal 0 HcmV?d00001 diff --git a/q03_my_decision_classifier/__pycache__/build.cpython-36.pyc b/q03_my_decision_classifier/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c81beea1e7d1fd07d980cbc6ebfd1f85fbacb533 GIT binary patch literal 1187 zcmZuwyK>V&6xHfwS&<#*<%Czkqj3{4la>Ky!cbBWCNK*#nvL!{k)s#8YX&oNWm4u3 z_yK-}mTp@r{{ju%l?kL^Jvur%`?z<{y*}vm!k63h?U8F)KdfuRNB$Ha`3(UqAh}f# zN{HchZWj)9TJE6kQn%%9?iD`uTkho@8sJ(l@6wP5lQr-cgho7^^d^1iEbt^AP1eB! z@4`mhxv8j-KIOR1`+h2f9k?I3~<(P4+8w! zfB~wTUmQAwUD$%{&xG!RcVvzBmUtg)MD*rMRzg)|pEw+GCepLRV^oLFc$&$qDqjiC z4|67EHqN-fnSl~4D-*?~N@Sg93bj5<)2U$TERks?_=`_B_hVp+#d*cbq!t{qRN-O! zsr<0)V%#M`I6Y{`_a`G;cUR|O7CI7bLWxvN@nv9EhX&RSY#Xo*cm^DVk)yi>`r_QEC>a%UbOx(!*7c~^Oj({va1JZ!=y7~ANo`$CuyBO=T#@m^as6Rb!elS*VK zQ)7bEewkzn&Gd!IUzqD?XPhY=ofuc!Ei%!aKgJ1@>1a)N-XyK}+DC#5b!T=ZATdI? zigqe8puJU)M7BlMPMVKt@5xrL4O{{XH~)DV|F@~2M^=d zl{l9*OL?54xiS3d5zK;f++Iz1s^a$#50YYrTF{bPz zSR^EU5)mKYArbdcS^mNy9w0+^P5nlDdRLxfsYSV8U^+QoHOBCwzz5FmVw&_?ieuHw{~8Gd#LH)5#~M3`D4=t(rk$E&gK`8zz*>}B%5TfWdrXw DJZnv$ literal 0 HcmV?d00001 diff --git a/q03_my_decision_classifier/build.py b/q03_my_decision_classifier/build.py index 73c9856..8e031b2 100644 --- a/q03_my_decision_classifier/build.py +++ b/q03_my_decision_classifier/build.py @@ -1,3 +1,4 @@ +# %load q03_my_decision_classifier/build.py # default imports from sklearn.model_selection import RandomizedSearchCV from sklearn.tree import DecisionTreeClassifier @@ -6,16 +7,26 @@ import pandas as pd import numpy as np -data = pd.read_csv("./data/loan_prediction.csv") +data = pd.read_csv('./data/loan_prediction.csv') np.random.seed(9) X = data.iloc[:, :-1] y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) -param_grid = {"max_depth": [8, 10, 15, 20], - "max_leaf_nodes": [2, 5, 9, 15, 20], - "max_features": [1, 2, 3, 5]} +param_grid = {'max_depth': [8, 10, 15, 20], + 'max_leaf_nodes': [2, 5, 9, 15, 20], + 'max_features': [1, 2, 3, 5]} # Write your solution here : +def my_decision_classifier(X_train,X_test,y_train,y_test,param_grid,n_iter_search=10): + clf = DecisionTreeClassifier(random_state=9) + random_search = RandomizedSearchCV(clf, param_distributions=param_grid,n_iter=n_iter_search) + random_search.fit(X_train,y_train) + best_param = random_search.best_params_ + y_pred = random_search.predict(X_test) + score = accuracy_score(y_test,y_pred) + return score,best_param + + diff --git a/q03_my_decision_classifier/tests/__pycache__/__init__.cpython-36.pyc b/q03_my_decision_classifier/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4a2d078695ffd65828a9d26e30ba74e66c23a340 GIT binary patch literal 178 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuXz28{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzrd_}t2PxMXrp uVsUY1T4rjIeo1O^NwI!>d}dx|NqoFsLFFwDo80`A(wtN~kj2G7%m4ssb1@eH literal 0 HcmV?d00001 diff --git a/q03_my_decision_classifier/tests/__pycache__/test_q03_my_decision_classifier.cpython-36.pyc b/q03_my_decision_classifier/tests/__pycache__/test_q03_my_decision_classifier.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ffd40b67ece9747906a373d94193ef1ab6146985 GIT binary patch literal 3024 zcmb_e-EJF26yDig+v~r?`Ki;SKo@9`T$Q*GZV**l)Rw9$7zrvUL#6F@XY6jeKkm$I zR9ofBt;7v)&==r&xSLxfgr5Kj3BftLiQ`mB6_xI4&YYb+b7toI&YYR;X0z7&>xUnI zb`0ZpWA3Sdeie%R0|YY|iHw*~LQpp&lUjLg(-PEHRE{gOlK-e=p|N;YH^*` ziNUR%2CGa6ZSv;M0yCNU911)2-0Yj{23?$MZRag5Ug3+p#j32v>c80cY`R33=?YzC z4c24}Y;j>Y6Wk4?bE-_+jEHX!7JR3Kg_147loN zQRIt(9P(gl7X8}s$YVSRWtb*j5cyJu{g8|C##Wd4%I`+0pLj#TSr{lV*$U+Dlt9

1ymhfhi2tL%o1% z#QnaPq>M}5!0$fyRVKI$z^aeur)sZj+xKw;_JY2{%DDqWKxg5*U)>PiHhR-uJUexx0Rpap|(uO;Y8?z6u_?gPfGZ z79Em%=vW6l30z{w6m4|Bh5~6R#5!pD+^bf$=U$>^ffE6ouDm8r``%_SVd!BnT-rAPKm3{2<7LAB=RVkA1a`&H>IGwwDmQ_$tJTxp>&!+jn{v z(Zh8bfSyUlw_g*#qkO+EmbXrd<@F-T`eJk}pyDl9nyx><)IRiuA4_dxZWg%kV?f+K zDTs4k&w;yn9D8p7$2s?hpv2Q44@=xXMOb1ghdpc0Qs>}~`s|;j`kz-s6O6{^znPCi zmcoub*sgp(wdQ*na^+GHgr7%oDvK;C-Uctn!1d7y;L1JEg6=#xlXyfJWc=m-1M0Bj zLom&DFDAMD-3w<A@2$2;x4<)X+z|40v zm@nCZL!?W*hvHoj$DsMiiP4-3j}O7$UJhI(eVj08=6xjgb5U1pn^J3+HrvJhtFjzWg zw38*FLTm&E4lNJi&g4sN4jC;aSq#UjnGETgd<6F)k!-;fdE~*F4~I6~!-NH$bR|si zE~oM%NS7XDVZ`zq19b%VnFp6O$PSRdsU1dXpvhfLMznI*%kPJ@3<^wuRz~{`pkPBS z4+n1`LZ-{bWe)EfoaNglXFFfeQ5b0FQUT{>JaHt(Y6DWSLmK#+HPR-_ Date: Tue, 21 Aug 2018 16:12:43 +0000 Subject: [PATCH 4/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 174 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1267 bytes q04_decision_classifier_plot/build.py | 16 +++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 180 bytes ..._q04_decision_classifier_plot.cpython-36.pyc | Bin 0 -> 1142 bytes 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 q04_decision_classifier_plot/__pycache__/__init__.cpython-36.pyc create mode 100644 q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc create mode 100644 q04_decision_classifier_plot/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q04_decision_classifier_plot/tests/__pycache__/test_q04_decision_classifier_plot.cpython-36.pyc diff --git a/q04_decision_classifier_plot/__pycache__/__init__.cpython-36.pyc b/q04_decision_classifier_plot/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ce6fa625c117cce1cc218e7b3d7a810581a134a GIT binary patch literal 174 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuW0>@{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzqic(_b*PGWI! qW?E)yQG7v8eu;j3d}dx|NqoFsLFFwDo80`A(wtN~kfp^y%m4tHW-p5X literal 0 HcmV?d00001 diff --git a/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc b/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..81d8f3d485eee58ed713ff86739b84dd2d436f11 GIT binary patch literal 1267 zcmZ`&&2l3(5FTlMY)@<_aT3SzE)U>KytUy-0af9=2bNk=f?`Th%l1q(KS**GZ`mia z$6R>_PP_(ZxXqQ5Ux5p>#+$GgG&P^TX|<&8uY0a~z4(VA`)(e1-e2BFBS!uuzUB`E z@PH^UCyWrssiL{h{D%8z4_MIfK!th4qK1d6m9<$1y+akVgJ$lsp6q0Oh_-l+Jjf2A zwI%FG_Ojz_0PV(ll$}5b;d_cWdQWHc!egiMKkG$fIg^1rm1ht`8x9_V?*leu=WN6- zpbI_d!yz2OF$~}YPT_1Gv#}h{2n^x;XTqLA_}ZI{cbJzqA@$&EUO<_r?<`6I>aK30N{r=J?%K}VRb+SQ z;MBoO2jJi*2fsM@&B5;oB1CY*ZF2k?UvrOOv6Mg`$R@O89a;)L1P}fuT1T0`_SSSu ziHAH`lP%e_Y`FHt+#387j<8oj>Y0yx^6pf$JhAv#5+&Cv-Mmvpxogr9pUX0 zqFpZ9g@p+ZDz15+Kx(W`ZelMffCLRJYECxH7iz|+xM$I-DODXdm1GCa zwBPirr^k5R-#61mnak-LK3|%v7t?P`eP=2zTb^)=d!cOI; zrWLTTSmu}pEh^SGZ&NE4$t@RmvH;fBl0$;6UkC1|sH1&@*MX4|Sdgkx)a0fnD}9Ei yYL~D+cQA5r;=rZZRNy0chPJx>8RofE@^jZQ#<}fiK&xnNCsp?N5Q|TwpS?t literal 0 HcmV?d00001 diff --git a/q04_decision_classifier_plot/build.py b/q04_decision_classifier_plot/build.py index 44e9e87..2749a73 100644 --- a/q04_decision_classifier_plot/build.py +++ b/q04_decision_classifier_plot/build.py @@ -1,3 +1,4 @@ +# %load q04_decision_classifier_plot/build.py # default imports from sklearn.model_selection import RandomizedSearchCV from sklearn.tree import DecisionTreeClassifier @@ -8,7 +9,7 @@ import numpy as np plt.switch_backend('agg') -data = pd.read_csv("./data/loan_prediction.csv") +data = pd.read_csv('./data/loan_prediction.csv') np.random.seed(9) X = data.iloc[:, :-1] y = data.iloc[:, -1] @@ -18,3 +19,16 @@ # Write your solution here : +def decision_classifier_plot(X_train,X_test,y_train,y_test,depths = depth_list): + clf = DecisionTreeClassifier(random_state=9) + cv = RandomizedSearchCV(clf,param_distribution=depth_list,n_iter=10) + cv.fit(X_train,y_train) + y_pred = cv.predict(X_test) + score = accuracy_score(y_test,y_pred).mean() + score_train = accuracy_score(y_train,y_pred) + plt.plot(depth_list,score) + plt.plot(score,depth_list) + plt.plot(score_train,depth_list) + plt.show() + + diff --git a/q04_decision_classifier_plot/tests/__pycache__/__init__.cpython-36.pyc b/q04_decision_classifier_plot/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..df9bcc419968716ad3767268f1cc4714306b623b GIT binary patch literal 180 zcmXr!<>m7G9vRI51dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuSETf{M=Oiu*CGz zVq*jS@cg3e;)2BFRQ=@qlvMqc)a12CglA_eq_=2MRtkmQZ{Xzqic(_b*PGWI! wW?E)yQG7v8eu;ibYH>-ietdjpUS>&ryk0@&Ee@O9{FKt1R6CH>#X!se0M;=v^8f$< literal 0 HcmV?d00001 diff --git a/q04_decision_classifier_plot/tests/__pycache__/test_q04_decision_classifier_plot.cpython-36.pyc b/q04_decision_classifier_plot/tests/__pycache__/test_q04_decision_classifier_plot.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d488b116876c2f111c1c1d0e29e30a4fa7202d9 GIT binary patch literal 1142 zcmbtT!EVz)5Z(3KiIpaZ69TCMUjSJ`bwzss386}9)mttg5azHl-c9PVw$t5p1yMPr zKf}lH1AFC^FF@kNj6*|;)Ch@RivY~*!Oe2Rcd>5)?~^tC9BwT zzL9F|eB|dV(R~Q}IZICJQYLS*Nn`eQlee}0Xr@^%le`u(Sutm|lzgh|Q^=p3?e6o{ z$zPl%7N{|;<(uMmrk~wojJ*+wubS*ap$2D$u#nCUH<7>dkC6GgNC@4EbRV2`k(LtS zP_6`FqXlw2d%n^_$Z^&v8=YsWktPy#RMj>rGn=18lUAAQ5i$FtlE(RnJ>7$c-a><- zEX@Es_h@rJzmW~zS~5g|q2YfpbcHyI0~c~$Wu@fY^*AqU(J1u$oa0O_PxLLU_x7sj z>*ebX9N=zi3uzd%Z$@#~g-umhY)<26;<`nJpR8@EalwbCP@ Date: Tue, 28 Aug 2018 20:58:51 +0000 Subject: [PATCH 5/5] Done --- .../__pycache__/build.cpython-36.pyc | Bin 1267 -> 1486 bytes q04_decision_classifier_plot/build.py | 32 +++++++++++------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc b/q04_decision_classifier_plot/__pycache__/build.cpython-36.pyc index 81d8f3d485eee58ed713ff86739b84dd2d436f11..935e405660e630914ff51cff0c0ffc891fa6a88f 100644 GIT binary patch delta 695 zcmY*WJ8u&~5Z<}R-op<<3P6a*B~EifLJ{-`2@0w-1Q3gmb-7(TXPx8A-dY%IEf+UVSEwZi$Qw=dqgg!~}? ztPt({c*@h0&R5DW@yl<>$l3XFB!enyl#puEkUCHl&p z4?OK?%3V&mw{#3uGcNae@R#v<$Q$bigMc@U6y}Azb#65l1PCXONqk{11{MsHNtcU4 z9m)VFIy3Vj?e(&LnN39n2h(6*CfQL`&V`Dt3ew8WlLL`g(4YGIqEt~S)HECyg^*D$ zdMbv>&PQoQYuR#oaVQdeemqX3h=i0Q8C!KRxoL_urHvP}dzq5>AB1^@6g*2+MHAFK z;+0+GiqYP!tUs25IYmCgST6b)V{}qC!|3bv?UaY3S8-$Y-P(RGuNb)vQ@*RP(QcWJ zq$pY4P*<6$&Z)|+du1)Ix@n%2W!B4tWI>Xq>pbSyCW?F{a%;6~>)i;&2{_ZZlWE6>|oB>Z(MR`_01l_)zv-c$?a>%%IgMh7`SO5GGNl>*8i}*`r_RA E1H5y!A^-pY delta 475 zcmY+9Jx{|h5QhDcq-jbSptMk6KxN5-1pEOc7A6+NVkDwar!-aCMvf^$a?~L(cBsP0 z%7FMCtPG4T~XI)Xsm0jYG}J?{>NtiWFGti D22OG^ diff --git a/q04_decision_classifier_plot/build.py b/q04_decision_classifier_plot/build.py index 2749a73..fe5bc52 100644 --- a/q04_decision_classifier_plot/build.py +++ b/q04_decision_classifier_plot/build.py @@ -15,20 +15,28 @@ y = data.iloc[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=9) -depth_list = [8, 10, 15, 20, 50, 100, 120, 150, 175, 200] +depth = [8, 10, 15, 20, 50, 100, 120, 150, 175, 200] # Write your solution here : -def decision_classifier_plot(X_train,X_test,y_train,y_test,depths = depth_list): - clf = DecisionTreeClassifier(random_state=9) - cv = RandomizedSearchCV(clf,param_distribution=depth_list,n_iter=10) - cv.fit(X_train,y_train) - y_pred = cv.predict(X_test) - score = accuracy_score(y_test,y_pred).mean() - score_train = accuracy_score(y_train,y_pred) - plt.plot(depth_list,score) - plt.plot(score,depth_list) - plt.plot(score_train,depth_list) +def decision_classifier_plot(X_train, X_test, y_train, y_test, depths): + mean_test_scores = [] + mean_train_scores = [] + + for depth in depths: + dt_classifier = DecisionTreeClassifier(max_depth=depth) + dt_classifier.fit(X_train, y_train) + acc_train = accuracy_score(y_train, dt_classifier.predict(X_train)) + acc_test = accuracy_score(y_test, dt_classifier.predict(X_test)) + mean_test_scores.append(acc_test) + mean_train_scores.append(acc_train) + + plt.figure(figsize=(10, 6)) + plt.plot(depths, mean_train_scores, c='b', label='Train set') + plt.plot(depths, mean_test_scores, c='g', label='Test set') + plt.legend(loc='upper left') + plt.xlabel('depths') + plt.ylabel('mean square error') plt.show() - +