From c34acdf8a0bf1e1b85f0bfc051db9c43753d837d Mon Sep 17 00:00:00 2001 From: tracedence Date: Mon, 28 Jan 2019 09:08:02 +0000 Subject: [PATCH 1/6] Done --- __pycache__/__init__.cpython-36.pyc | Bin 0 -> 148 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 174 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1127 bytes q01_my_decision_regressor/build.py | 21 ++++++++++++++---- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 180 bytes ...t_q01_my_decision_regressor.cpython-36.pyc | Bin 0 -> 2991 bytes 6 files changed, 17 insertions(+), 4 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..8a5ca5a2a2b390208a6cd32f837d51c5b3e7e000 GIT binary patch literal 148 zcmXr!<>m4_<`=^N1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnFGu~1{M=OilA^@q z)Rfe`TZlX-=vg$mn7qW&i;2eIm4_<`=^N1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuW0>@{M=OilA^@q z)Rfe`z?Kn_5xK7k#eA0{`7TKyQ=G}dfe*;2mc(rx$jukf7YcH5dWP% z{gnVL5V=)|NC@UKmxUeKEw^*0a3i?Y#VTe8Op$oy8^TvtRqkc4qHed}x=)pSlVE`L2giY9*2Ca3Q?5%Cu zfo<{+VQ1>Vl`nQQgk9MCWJQ~}iR;+M0dC-M$!~RES)=PKs>~V*6TVOxyuw7K$It$v z^Y(L0Go6*QKNaFjoGR41ROIm0qgbbQ2 zsVvQA)BRMxUkOSyecY~ppRT%`R+{elzu8ALp-N^@7O}3A8dsA1E1SV(@ECjs?#Zgp zu*Gnb;SmEh&syyfjBL{_k`FOpRUeymra2~)cvb>x6Y_b2Nj;~MQV!0GpTqnaefkfA z+NuQzkY}QCzy{~cK6M-SL^f6NlOnpGeZyJy0Er zG!lxVtFYxprte3d;_?)iXY5HMfh7aDKmI8I5jG5nZ>HYi0bPcW^=?;bpiiv@{%J|;0`J)e>B(LBpxzgn2>pZYf`sb(=O zxg|mo(DtPImCmbgwA4Lfqb+kqzoo9J*?vK9$YYH;WuAXeHXnip9VLVj4)}@Sqwe%gfY=Ln9XI23=M>QR)`MZH7Ax{JK`HOYjTX jjQ@n5H_!1m?xns;5K>LNeHn-yF%-LUM-0Tk_PgH!ZRs*t literal 0 HcmV?d00001 diff --git a/q01_my_decision_regressor/build.py b/q01_my_decision_regressor/build.py index 5eb1927..64a46ef 100644 --- a/q01_my_decision_regressor/build.py +++ b/q01_my_decision_regressor/build.py @@ -1,3 +1,4 @@ +# %load q01_my_decision_regressor/build.py # default imports from sklearn.model_selection import GridSearchCV from sklearn.tree import DecisionTreeRegressor @@ -5,13 +6,25 @@ from sklearn.model_selection import train_test_split import pandas as pd -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) -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): + + reg_tree = GridSearchCV(DecisionTreeRegressor(random_state=9), param_grid,cv=5) + reg_tree.fit(X_train,y_train,) + y_pred = reg_tree.predict(X_test) + r_square = r2_score(y_test,y_pred) + best_params = reg_tree.best_params_ + + return r_square, best_params +my_decision_regressor(X_train, X_test, y_train, y_test,param_grid) + + 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..677173db218889af737cc100e2a076418922ebe4 GIT binary patch literal 180 zcmYL?F$%&!5Jgw85FrP#aTHq-PY??W8(|2$A6+$>II|Wxk{9t1w%)?ZO`(4HkN^J^ zvnY!3=27ll)~m-?gB;e`Hp~ca>n4Np?zEr(cvp0k8kDs12xvTLCwjIvSMm}-0X|xk uhLZx^s+`~xU1xKyJN_LN2Zfm^C0H_Ij!jI=)3$q#mbHZ21*`tGWxEgJk1{y` literal 0 HcmV?d00001 diff --git a/q01_my_decision_regressor/tests/__pycache__/test_q01_my_decision_regressor.cpython-36.pyc b/q01_my_decision_regressor/tests/__pycache__/test_q01_my_decision_regressor.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a7e28fe557d04ddf3481a7ed5af6202e86e59fd GIT binary patch literal 2991 zcmc&$&yUka6!zFo;$*YS{>*NG7FR&4P`aUTsziZ`QbZ+EsjXBrLK;loBzW1CS-Z$Ty3yX`j&wlLO zPCd(dZp~aZtY5)L|Aq!EV38Fw&KTA0$mUL7y1ay?6P4o%ui!TqN|6^=c{T4>j%x7& zUtpGWcIr?WGrlNGJ4-u9z#F3{xwx|oHrP+`fum3Dp53(g%1rCAyk%8Z1SkRPg?C_&te_^$bPjKZ{i)G%IQk$!RmK}UqHYx}cVX#T) zK@^&aUG&kS? zw}FBE#6m7O;9`l5%!y>uvNKo9sF%4E#UCtn9J~GgHO4TO zZDd4Of=s%y{Z*>&>jA#DyNG9d$_Jw)g*x5ADYPG)dtb~YOPfNib1M$)v_06(PUW1K z>qAVJM-0#ucgykE=+c3hZ~qf#`vOBw^S}_lW&=}%g_L0$1gE2j)}s%m_=D^P!^rp# zgJ>wV52>G|#*YKjz32DyXzcINa$ZJ8ZK1E0t&U=$j*+226y^=AWhY;=m=|s}ZG!?B zhQNGyC}8${O>rTn5rJ}CXnIIgq^!X`VjQCG3^DD_=;N1gpceRMcOd;m>y? zeyIIBpG0Y3?ws{^(;+ffzUY98;h)wmH(M^4dPCnxP!*7ZnWuzC-YS`udh~DRlJgcT zFna~Af@|}MR7^#v^Fnu1B?Y;mfNNT&WqZtKqZ@|;Z=UD>8A#>hnzDtvB9u6ve47v{AivFgoX6gU+i2$VWIs z5RvX%Z1m}&;F;@oA4bz1N<`kTUY@G@1iQb>Z(}+hakjMWLbZp}QA?w$4U3{|k11@!e@vGf#*lh@}u&O^7&! zVMO)15R@N_FNy$FC&&=h)jMQbWGJjNDxC`uNwwNUL)hv%8jpD;yvuky`IpHbc&Tmt z)H;@V!z45Wj3R#U@&M04fzIp!@KQ32F(cZ^fN$#ic$87eHcnAS0`oOyTRe>^2Y<>+ zcZXpFMSib@2_3~uo>;i2WB>vWV7TQ`jI(la%%Y4hfxBUpb~AP>W4pX^OXSBtUd9Se zhgWv@8n8kQwOl+zUxkowjy%-)g63h6c^3;fFH!o?gkc@^!DDs0?Hbw!TV-2zgDvB| GZvP33*-~o& literal 0 HcmV?d00001 From 54c486991a22296845e65bc02f476c224cfc5afd Mon Sep 17 00:00:00 2001 From: tracedence Date: Mon, 28 Jan 2019 11:49:15 +0000 Subject: [PATCH 2/6] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 176 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1319 bytes q02_decision_regressor_plot/build.py | 24 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 182 bytes ...q02_decision_regressor_plot.cpython-36.pyc | Bin 0 -> 1135 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..208d0cea8b4240e8db1adcc0cf4c27232311f96e GIT binary patch literal 176 zcmXr!<>m4_<`=^N1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuUP$z{M=OilA^@q z)Rfe`a8hj2epdRBC4gXBVA=_jkbeVGD&q>7C$N}zn60* zwJsGpM!AfONMA2wB_WbZmFi5`@qE6ToX#Mw={m0EhNFKI5QGGMf_;J`f=>y)Ao!BtIl*g$#6_S%^p)b?e1dB@0m4*j8&-SuLC@D>2TEi7dQZBU>+%b6h7JeOZ2(c3b~EGIg{b zDww?WZyyb)kRddcL|LjanyKJf>l)cI5P_0&+#n@pzz&fhFaXJCzgUWx{aaxBvQnpeZP*As6=6Dod zRAN_uNbBS>x`>l2A_*@yh6vwV>(DzCPMVcT%g$SNtH!ujO$g`_sbhjq2u=v->`&k` ioVLMBJk&CiUsL;N+Df<5!+W5+2zkg3*@#W}vHdT}S!a|0 literal 0 HcmV?d00001 diff --git a/q02_decision_regressor_plot/build.py b/q02_decision_regressor_plot/build.py index 020d81e..f3a282c 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 @@ -7,7 +8,7 @@ import numpy as np 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 +16,24 @@ 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, depth_list): + + error1 = [] + error = [] + for d in depth_list: + reg_tree = DecisionTreeRegressor(random_state=9, max_depth=d) + reg_tree.fit(X_train,y_train) + y_pred = reg_tree.predict(X_test) + error.append( mean_squared_error(y_test, y_pred)) + y_pred1 = reg_tree.predict(X_train) + error1.append(mean_squared_error(y_train, y_pred1)) + + plt.plot(depth_list, error1, label = 'train set') + plt.plot(depth_list, error, label = 'test set') + plt.xlabel('depths') + plt.ylabel('mean square error') + plt.legend() + 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..d43e43bae37ed6b34028125c531af02910b099c7 GIT binary patch literal 182 zcmYL?F$w}f3`J+bLWDhtjS+1{Ji#;;HbRh@prgB+*(4So$%}XhTW?|IY@vSmkNf6ETon3PSO(q;n?DA2lAVph~9r|_#oz6U7!9x7ldmn?N8m(C?iU1|lNp7gP7 z&)%haudhkUF`f=33{VbH^gb%X3}5iC{DPf2#=YQ@-(d?ZfXUb1$IdObpy?Tw@)AYq zmOiTagQHJ4lmQvyd`$_J(c!Lq6dq5{p+YP2l#70fob67gH7Ij*)?|fs3#cN;dK!wc z^$4ABObyZP*O&ODE+IB5%RxewL;S8*AN34hdQw*y6S~`)nVQ>vefVH)J0h)wD6p4fy=k7VP)_En&V+5hZRZx{t;>MJs}6Av-$U zWJw6mpLI+~7-vmk!t<sptJ;KRX7ZD8((Xan}Y125VTIK8+C)4z1elV*}LlD z1xedkzyrViCyDwtXsW59$rODdwm+@tTQw~%*8k8<3)!x48?XjRTcE`yc)n`s1@Wk< J%8=vF{S6#sHJtze literal 0 HcmV?d00001 From d84d36e5f654f914069475185b742302da8344b6 Mon Sep 17 00:00:00 2001 From: tracedence Date: Mon, 28 Jan 2019 11:51:08 +0000 Subject: [PATCH 3/6] Done --- q02_decision_regressor_plot/build.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/q02_decision_regressor_plot/build.py b/q02_decision_regressor_plot/build.py index f3a282c..087df07 100644 --- a/q02_decision_regressor_plot/build.py +++ b/q02_decision_regressor_plot/build.py @@ -18,18 +18,18 @@ # Write your solution here : def decision_regressor_plot(X_train, X_test, y_train, y_test, depth_list): - error1 = [] - error = [] + train_error = [] + test_error = [] for d in depth_list: reg_tree = DecisionTreeRegressor(random_state=9, max_depth=d) reg_tree.fit(X_train,y_train) y_pred = reg_tree.predict(X_test) - error.append( mean_squared_error(y_test, y_pred)) + test_error.append( mean_squared_error(y_test, y_pred)) y_pred1 = reg_tree.predict(X_train) - error1.append(mean_squared_error(y_train, y_pred1)) + train_error.append(mean_squared_error(y_train, y_pred1)) - plt.plot(depth_list, error1, label = 'train set') - plt.plot(depth_list, error, label = 'test set') + plt.plot(depth_list, train_error, label = 'train set') + plt.plot(depth_list, test_error, label = 'test set') plt.xlabel('depths') plt.ylabel('mean square error') plt.legend() From 0869b85d59f5f4f4037f9b4832ae65f4d1afc5fa Mon Sep 17 00:00:00 2001 From: tracedence Date: Mon, 28 Jan 2019 12:00:31 +0000 Subject: [PATCH 4/6] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 175 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1150 bytes q03_my_decision_classifier/build.py | 20 ++++++++++++++---- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 181 bytes ..._q03_my_decision_classifier.cpython-36.pyc | Bin 0 -> 3027 bytes 5 files changed, 16 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..01afe874a04070a0b967ab1c5ff51b178b505e66 GIT binary patch literal 175 zcmXr!<>m4_<`=^N1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuNeJ|{M=OilA^@q z)Rfe`8q_5aup_jz{ryCs{tpPJsM$*N6esCUyX&RuKn@voJucIdc-v{LAj1;WMb} z?9y+L7x1gNNs(^bRM+GI(j>E#m8i%P{P^w6a%T3MIh#z9-~POK_D$ewK^rV1P3`fH909c^5nj#G$w+j>LV~gA^vPe;L3O zX5@7|gqU^*FeB^XufCYWG2DZrH%uHu_{3YB?C3t;g4x6GWdm(pzD9V0QWaO{KazF+ z9Tuf7+vW#_cwR}Z%Vmj*JTs$Y+2jVb$#qwihHU$?DAr0An_L&I!i(1rPcx84W>qVj zyi*8eVJO&Xp&f1zCH1yk;Ji%7W=m8;JB%hK4< zM-7y#+NRH)c%4+T*7+i_qo?^Gs*Q+{%Z@g;1|rUo42SbeRf3o_d1+AP8cFdhF)jY> z4*i5^qs^eWjc=P`_wM9-@2StIhQEH!uG$(i%3B~{Q(*Q}t6u1iwpl^SW$kVmrGadPV$+PF{vVzlYW9R>WU`}auO5pJsOIbos#MKwH-~CNXeMyW2 z+;g83d#qnj7gcjwQ!y1?wxaYjLW8m*z4f{q4>~K?PBFc;*JxB(=o`JGjwVWK%R8`P zv#zN|-gGurC?Thjw1FE|8{G_^4KyOypsd=$vZt19)G@_YCk`GscDqRtA9}BfUKL+8C2Wd$Qef3q%^Q7Jxz2yQ4{(Z}Kyq)$QZNL&m@k}41rsfSCF9t| vfRc$Y<#;9|a9wujNBkYl&@;QEqYOeU42Ui`L0qKqIbHc^Zv(CCZ!T6J6e%)< 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..0b27d291cd6c43a3247db64a3a1dc972bcaad1b1 GIT binary patch literal 3027 zcmb_e-HsbI6dun^lF8q0_NUqI7U%$7q*P^7SZ)wiThx}S0)hmUsH~Ny)3KAzc79UZ zshX%oL-E7u+zx8&0 z_AKiUYwoFle;tba6AZH$NvxDmLeRGpn>wa;X$fj4DW?@$G5@)VmsV*N{1PiCwX{y_ z#Ny6wgH`qjZSv;s0<)R@0t!3x!tUGa7G0ccZJU-Bukc0QVpUdS^8D83L@2;`h9?X~5`4V5|D}0roVa>hrj!n%2pU5sm|6 zCOqs1Slqa5p+vW|w3G0xV{2FPq_171^H)opg>HY3yASh}cY*wfGoD4f`(rL1$sxRUBLK8J zBU%a0fz^B$rqF$Sc{?~>1zqG+8XKJ4Yil^xn}+@4qXe@RBKH!PWjP+1Tt6B2ty6_N z!VZQt?7RogJUaz9%w^7uiBeB2Krex+oP0iGg7JPhN|gU3Oh#P#Ecdfq`Dv)4hyK9u zam;n&b0Glf|PPhWW5%J#!c>{;MM0HE+>OuqSlKphQy z1g6>U#UyvId*RqA4j%WV!%DLxSMC{{4l^C(sTK?qOK9*co?P9B5Lxk!l(^yoGvD!G zzS0i@B3Zy%_f?U&>Ute<6+ts%V1WZ$OagXcqOlFievtn{tJ&lv2@O9 zZIojQ0Pbs$9Uy;GH%{_MlY5$sY2{vEu86b@4orYn#s>}HU_;Hw zAsC35>2h(O!z%}8X4@FH&4P}@KzmmTIIrS~BT=gjNW~s$;Lom+Hd!WTp>B{Cl(zjJ D6;WWE literal 0 HcmV?d00001 From 9c05515fd68836686a98d01655c7edc032ce4b2a Mon Sep 17 00:00:00 2001 From: tracedence Date: Mon, 28 Jan 2019 12:17:25 +0000 Subject: [PATCH 5/6] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1434 bytes q04_decision_classifier_plot/build.py | 30 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 183 bytes ...04_decision_classifier_plot.cpython-36.pyc | Bin 0 -> 1145 bytes 5 files changed, 29 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..d4fb9509fdb6a47e62dc856f5b361ccca2aaab05 GIT binary patch literal 177 zcmXr!<>m4_<`=^N1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuQ>gT{M=OilA^@q z)Rfe`2KczG$)edBDF%UBV06ttW_y7O^ 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..4fd0d876f58a40ed265972d93bdba3b66d5891fe GIT binary patch literal 1434 zcmZ`&y>sJ46xXgkEX$wCIgahzz)`x1fxD6cW|BI?a157Oj?pOE7hBHC((NjD@r_cM zE7Q{O7tp}J!O+sFprLY0Nds?JF{EKN``fqgJ-vPVes7<4I>E1hp1u6RwX8p^2O~iF zbDZjT1a5I6tduZ9v`hs}ZDt$UM!mxvBRj%PJ?0tN6^*6On&|C{fVIrpW*ulQyWHDg z9B3_jys;sy51r-Sa-aJ~+h0E7E_dHi#L+u?Nyio&z<=7Y(HwvS132IT_j&8idFikr zJ7gm^=55~LUEbq;zQ_0ZBR=2<^MFnGkRN_$u_HKwAsoU8#xU8qn5p~RnohQOM{7!| z{V$^x&(h>A@aGW8cyaPIYKNx~Co0KSUrB%y5h;~iCLqz$FJzRg!U9wgs$3)m>bg-J zU&|<7hbqn_oH09^&)-gtXFMvRnaHA5m`mVETwuiGSiRmh@$fA{m_Ie+x6h`OHS3_5 zO4XJot56kD0b5^tYj(Ch4Fe4yYv3AgG<>h&XAQp~#7M0fEkrG!;8Z^$%&l7&r+0H+ zI;YmRU)(kdB)V*HdPi^l(qEF&D(Qw23uRhb8*S>GLh>5QhY$P1-adeVhZ@Cw7V(XX}g>X%nJ3IM51uuCd(UXisNVN^NRFwt+n*8)D(O=b#)g)(12eEb4imuX1$$%u{||KK0@U5e!Z literal 0 HcmV?d00001 diff --git a/q04_decision_classifier_plot/build.py b/q04_decision_classifier_plot/build.py index 44e9e87..8cc66f2 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,8 @@ 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 +20,29 @@ # Write your solution here : +def decision_classifier_plot(X_train, X_test, y_train, y_test, depth_list): + + train_error = [] + test_error = [] + for d in depth_list: + classifier_tree = DecisionTreeClassifier(random_state=9, max_depth=d) + classifier_tree.fit(X_train, y_train) + + y_pred = classifier_tree.predict(X_train) + train_error.append(accuracy_score(y_train, y_pred)) + + y_pred1 = classifier_tree.predict(X_test) + test_error.append(accuracy_score(y_test, y_pred1)) + + plt.plot(depth_list, train_error, label = 'train_accuracy') + plt.plot(depth_list, test_error, label = 'test_accuracy') + plt.xlabel('Depths') + plt.ylabel('accuracy') + plt.legend(loc=1) + plt.show() + +decision_classifier_plot(X_train, X_test, y_train, y_test, depth_list) + + + + 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..34459012e0e143789242f187ef1014e5c7e66644 GIT binary patch literal 183 zcmYL?F$w}P5Jj_KA;KQS#u2m>@dRlsY=mJ+MvU%eVrDEnk{9t1w%)?Zq)ZRob*NfZ{%MI|5`Q4b0t3*BXJy(kDl7-DAH%{ocCGm}Nj?y37{ z{3G7{19SD%zu?LDQa5&mErL_#<)!oHd+&YU%k$A_F!?t5@ZBTi2iaIY`1`QUOE7{6 zsz^ywO40X}SF)6W&xEi1GDrhTj)(|E?~;g~q)V3eME@;`!xh{nF?HcPY3w*N68ynT z+Dy;PT;?lCi^q3`%nMW070*>>OffB_=5tls9PeK(4Bm%rcEL!JQbAHrP~lyYlwmFK z^hE%9du|sK9^8aV0RR^whOo!5%`-5TSh}Pa^qib{mYq{U?~x^B0Q8ObsdtAgv3~-& z{E0@mRRCu3;P5lFWu=Iq!={v#HPJ)yBswb2WCdRAYX)%|gWV3aDz!a4Z8GJUl2zW%9n(pUfOyle`u(>BzHMN

136zkWK7GNv zlfP(9EU;r*%eTet&A+(E7<(fU@A~XRtp>-2u#heew(-CBkC6GMP6*xVbRV2eoz^Ph zTy~nU$qH#+yz1l-a+)>DMrWC7q=`fwRke-E%;v|@tQF^aM9lsOrEx@JPY>XschI0N zYcm4RJ=)&SZ)AhF)(lZ#X#5`xT_H~5z=fPwSt&Vp1J27@Gz$G8=QvjD6MYNoz1 Date: Mon, 28 Jan 2019 12:23:51 +0000 Subject: [PATCH 6/6] Done --- .../__pycache__/build.cpython-36.pyc | Bin 1319 -> 1347 bytes q02_decision_regressor_plot/build.py | 4 ++++ 2 files changed, 4 insertions(+) diff --git a/q02_decision_regressor_plot/__pycache__/build.cpython-36.pyc b/q02_decision_regressor_plot/__pycache__/build.cpython-36.pyc index 9fd679d67e24d22706b1c24b1f00e0f2eb08e443..fa0b26c17dcd393cb3f6ec6f766a3309e5e0b479 100644 GIT binary patch delta 186 zcmZ3^b(l-pn3tE!?~7lI2`dA`V+JI^4P-k2aq)?X%G(7}B~pb`MN&mm#ZtwaSs58N z-b!N<<}N8p%*=~VEh@?{isC9sEiQ?l?8&UgC_A};xq?w-@=IoQZh4>)FaHBUk-}tY zmXod^evvFHAqV8%;;_lhPbtkwwPObIilu-A4mA7wvmBz%$mReMlUu1ZTb#gMZ z8l&9gF6IhG;mOP_>f8!Ibua$|L6PEQQz!axij%FcTM}7^4uQ1d|jq0CM#pQUCw| diff --git a/q02_decision_regressor_plot/build.py b/q02_decision_regressor_plot/build.py index 087df07..83f1d4f 100644 --- a/q02_decision_regressor_plot/build.py +++ b/q02_decision_regressor_plot/build.py @@ -3,6 +3,7 @@ from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import mean_squared_error + import pandas as pd import matplotlib.pyplot as plt import numpy as np @@ -35,5 +36,8 @@ def decision_regressor_plot(X_train, X_test, y_train, y_test, depth_list): plt.legend() plt.show() +decision_regressor_plot(X_train, X_test, y_train, y_test, depth_list) + +