From 6d5818516d013df6c33a77968519288719cf9fa5 Mon Sep 17 00:00:00 2001 From: gaurav-barclays Date: Sun, 12 Nov 2017 17:19:58 +0000 Subject: [PATCH 1/3] Done --- __init__.pyc | Bin 157 -> 151 bytes q01_myXGBoost/__init__.pyc | Bin 171 -> 165 bytes q01_myXGBoost/build.py | 65 +++++++++++++-------- q01_myXGBoost/build.pyc | Bin 1930 -> 1483 bytes q01_myXGBoost/tests/__init__.pyc | Bin 177 -> 171 bytes q01_myXGBoost/tests/test_q01_myXGBoost.pyc | Bin 2530 -> 2529 bytes 6 files changed, 40 insertions(+), 25 deletions(-) diff --git a/__init__.pyc b/__init__.pyc index 800b98fc1211bdd53dcefbfbba98671d8a62d668..347b0a9db4992aebe4e28330d413d7f200381af2 100644 GIT binary patch delta 77 zcmbQsIGvG$`7v@#i>QbF^NeTnZ+5Y*)cAu#n~nK1u^MG gsg;Q(`MEI#Mfq8&$t5un=}Gzd#U=4D{=_mx0H?$rkpKVy diff --git a/q01_myXGBoost/__init__.pyc b/q01_myXGBoost/__init__.pyc index dcfccf77730cd8d473ebdac1587e4e826458fef7..a7820ad4a4b5e24724dc60110f72ea2cd4c684a4 100644 GIT binary patch delta 91 zcmZ3@xRjBD`7v@#i>QbF^NeTnZ+5Y*)cAu#n~nK1u^MG ssg;Q(`MEI#Mfq8&$t5un=}Gzd#U=4DexZS3d~RigyAwz>W@3vX0E(C+@Bjb+ diff --git a/q01_myXGBoost/build.py b/q01_myXGBoost/build.py index f000406..88ee1a4 100644 --- a/q01_myXGBoost/build.py +++ b/q01_myXGBoost/build.py @@ -1,25 +1,40 @@ -import pandas as pd -from xgboost import XGBClassifier -from sklearn.model_selection import train_test_split -from sklearn.model_selection import GridSearchCV -from sklearn.metrics import accuracy_score - -# load data -dataset = pd.read_csv('data/loan_clean_data.csv') -# split data into X and y -X = dataset.iloc[:, :-1] -y = dataset.iloc[:, -1] -X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=9) - -param_grid1 = {"max_depth": [2, 3, 4, 5, 6, 7, 9, 11], - "min_child_weight": [4, 6, 7, 8], - "subsample": [0.6, .7, .8, .9, 1], - "colsample_bytree": [0.6, .7, .8, .9, 1] - } - - -# Write your solution here : - - - - +# %load q01_myXGBoost/build.py +import pandas as pd +from xgboost import XGBClassifier +from sklearn.model_selection import train_test_split +from sklearn.model_selection import GridSearchCV +from sklearn.metrics import accuracy_score + +# load data +dataset = pd.read_csv('data/loan_clean_data.csv') +# split data into X and y +X = dataset.iloc[:, :-1] +y = dataset.iloc[:, -1] +X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=9) +model=XGBClassifier(seed=9) + +param_grid1 = {"max_depth": [2, 3, 4, 5, 6, 7, 9, 11], + "min_child_weight": [4, 6, 7, 8], + "subsample": [0.6, .7, .8, .9, 1], + "colsample_bytree": [0.6, .7, .8, .9, 1] + } + + +# Write your solution here : + +def myXGBoost(X_train, X_test, y_train, y_test,model,param_grid,Kfold=3): + #acc_scorer = make_scorer(accuracy_score) + grid_obj = GridSearchCV(model, param_grid1,cv=Kfold) + grid_obj.fit(X_train,y_train) + bestParam= grid_obj.best_params_ + y_pred=grid_obj.predict(X_test) + acc_score=accuracy_score(y_test,y_pred) + #print(grid_obj.best_score_) + return acc_score.item(),bestParam + + +# accuracy, best_params =myXGBoost(X_train, X_test, y_train, y_test,model,param_grid1,Kfold=3) +# print(type(accuracy)) +# print(type(best_params)) +# print(best_params) +# print(accuracy) diff --git a/q01_myXGBoost/build.pyc b/q01_myXGBoost/build.pyc index 2b98a8abb7197284a857905ac59673fc9bb9b868..8fd6ad68df5deceaa75fe6008472ba90d95c28ac 100644 GIT binary patch delta 667 zcmbVIQEL-H5dQWqNiUbwYnvu*Ohpi+DMikL)F(megAWBMRj>r%yzFex#2goI*GeEI zV14pU&IkX3|G*c2f&au;|A4bsK?HqqmzkZJZ|0kieII;l^xPlI{+qYnK;qY_^Lw97 z-}}(}x==2t0rGJHF<8T>0&0SmL03QlXa%%tQCdUdfm+zNz-4tE33s=-)B$aPHbGs` zRU}nV@2}M@>JC~b_DkY=PN#{Xlg1P)KL2^o(8OB7|pv9Vt}82%j+G0i2MIZvF-!AUfK8n@iyt?_^g2!9zeoOeL jj{lNzwA8+7e_7ilO%_pJH*l_tuGnTdH$+QxM7Q=6zoCx{ literal 1930 zcmd5+&2Ah;5U!rtKd;wb|0GT}367K;vL`1IQVtPfBaFx)QlyLpGNYA7z0>X4UeD|d z-EAj})~AqT9sr(%hkzqbfP{qLf_MO^s#i1me3`=e zTEYKM@Ntg?fWn`E93U1f2apF)gb;@y$QDB0fT9U;v)(s&--5VR@0*afq3A%|0igxV zRzS7jwSc$_x(l;aijKcG0SiFFQ2>Lu_a8IVhBeSl&}d!*)dtl8g(17}Ita!Mh}R+R zL%ad;CYS~&4BrEVp6j6cpf<=;Z9;}`ZNVcl)Y@&x(EAFiu7cVDbq&;YPy@)Cpl-ZV zdlMeTTO9ose1q57X8D5)S-`(0MvNHYmc76zuD?PuSl@7YGqO%krSo>uwZHox%?FJ zFk!;54P|_v-$OUz5$2BVD3#75N|U$GJ}Yy@{>Lw+%^WK;mtfKq^&csmA4oZPD)$A| zhA0Drdx6saV_#O|%<6^oWihU7In${hA7+!Xq${59zk2X6 zDHb>hq#aLAkTZMLqUP0w`WhbLh*lt4VngiWvm*MUAN=pAz%`Djh!Ks{W#1#3ckXsX zBOCPz=t|tzXcHywXtYJTZGtNVR|%+b(GCGsBBBA01_U<9dBzXc&7E>5t(1FB3CrQLXVu+;hDuQBxK23-%#xOg*!RX}d zM*KYvIG8Xv`3HO@nD_&@$^Cfe+9?*%v6G5XODrhX2#{!J82w_1=pm7jwPV(yo*_J>eAW;-a3?$B5 z0wl>>3S`&IM_O$$5)9Rh1ccb<7oCYV*T))kYeBAazy4U!#cHH%68=G;TeCL7f#nUTh`6M zy4`MAgXWbrbj=fIaOw7}rfoJIVw=@g!*N_%?+u)e-K1tem#=q+)q}kNH3L1@WY@~B mu*Ke#g0;bQvpoM5ce!5s>W5NEbBBt~a@yL`e`2tSmj4CsG?@DU delta 559 zcmcJKO-jQ+9L3)>lQe0YR-0DPl_H4C+F}=O1QpyBnj%yfDXj_pqNXOZDJHnc5k`03 zLByqJ5&SqoaplfQX^-G6=KbfrdGljFtuISge#}heW`6miQ-xT;ghQYucvokjsb8pJ}zB}u3Z^EX& zH*&8zYxjGe7x2#Nd|Nr_OlIx#lf-4*4S2vrQ!k5$^d8v}Z|Os_E#_(KpE&PDuE`I~ SItke>%F)jLBd#o-jp`rZK%eda From ca4765ab334533846a54ca3a5f6c91672ce09ea0 Mon Sep 17 00:00:00 2001 From: gaurav-barclays Date: Sun, 12 Nov 2017 18:04:31 +0000 Subject: [PATCH 2/3] Done --- q02_param2/__init__.pyc | Bin 168 -> 162 bytes q02_param2/build.py | 39 +++++++++++++++++++++++++++ q02_param2/build.pyc | Bin 1318 -> 2047 bytes q02_param2/tests/__init__.pyc | Bin 174 -> 168 bytes q02_param2/tests/test_q02_param2.pyc | Bin 2462 -> 2443 bytes 5 files changed, 39 insertions(+) diff --git a/q02_param2/__init__.pyc b/q02_param2/__init__.pyc index fae1a21213b073a08d0544b24569cad9776893f0..7329b47b10bccd2ef26b9b451e63f1c3acb0cdd2 100644 GIT binary patch delta 88 zcmZ3%xQLO1`7v@#i>QbF^NeTnZ+5Y*)cAu#n~nK1u^MG rsg;Q(`MEI#Mfq8&$t5un=}Gzd#U=4DexZR;d_iJSVy;ol#70E`93>)| diff --git a/q02_param2/build.py b/q02_param2/build.py index 156fe17..1f67c4c 100644 --- a/q02_param2/build.py +++ b/q02_param2/build.py @@ -1,3 +1,5 @@ + +# %load q02_param2/build.py # Default imports from sklearn.model_selection import train_test_split from xgboost import XGBClassifier @@ -16,6 +18,43 @@ "reg_lambda": [0.05, 0.1, 0.5, 1.0] } +model = XGBClassifier(seed=9) # Write your solution here : +def param2(X_train, X_test, y_train, y_test,model,param_grid): + + param_grid1 = {"max_depth": [2, 3, 4, 5, 6, 7, 9, 11], + "min_child_weight": [4, 6, 7, 8], + "subsample": [0.6, .7, .8, .9, 1], + "colsample_bytree": [0.6, .7, .8, .9, 1] + } + cc_score,bestParam = myXGBoost(X_train, X_test, y_train, y_test,model,param_grid1,3) + #print(bestParam) + #dic ={} + + #updatePara = {'subsample': 0.8, 'colsample_bytree': 0.7, 'max_depth': 2, 'min_child_weight': 4} + + param_g={} + for k, v in bestParam.items(): + #print(k,v) + param_g[k]=[v] + + #print(param_g) + + #updateParam = {'subsample': [0.8], 'colsample_bytree': [0.7], 'max_depth': [2], 'min_child_weight': [4]} + + updateParam=param_g.copy() + updateParam.update(param_grid) + #print(updateParam) + cc_score2,bestParam2= myXGBoost(X_train, X_test, y_train, y_test,model,updateParam,3) + + #print(cc_score2,bestParam2) + update_best_param={k: v for k, v in bestParam2.items() if k not in param_g} + return (cc_score2.item(),update_best_param) + +# accuracy1, best_params1 =param2(X_train, X_test, y_train, y_test,model,param_grid2) +# print(type(accuracy1)) +# print( type(best_params1)) +# print(accuracy1) +# print(best_params1) diff --git a/q02_param2/build.pyc b/q02_param2/build.pyc index 1db061f35e6b828eb3f3bc02020a1744270c8966..6a9715c3617ae090ed45ef02cb1aa66ccd56bf44 100644 GIT binary patch literal 2047 zcmb_c&2Jk;6#wn6fP^BC@T0g&e-}8HK#`(KB|J5f| z*T-yC>Hl^59Y_4u?5$H#d{l(jo5+f6nh6z3GSS+Eg>o+uE4FpQgawqA?I*J zzBQ;ChVzgPe~)a#fSGL@Yi|7+H3~%o%7P+w1F{TRfuxW%9NG3gO4@|G0Cy2?3n2xj z@O4PCY(g$TE<&~tkjoM_S$76<8FFQ26i~Rcq$oUAAjpXr| zG)a={{5fT}OiHdjjeWnvcT#|1hpyhJ%e z0@~t9;&C9JhUd7sf$8riD+=knX-l0tb*izX=EgoNJ%i0@85)?-XJKMv;$Tw3gmTz8 zs^FfDX$8|NBlah8B*1x9+bQbq&*bOenX7k0?qF*Z01_U1En60hrb?sbffC z&3Ie?lZ@u-Bv}K~CO)K*rb92|0}9wY&PSJHx`0Uo!x9IcEb!dlSzjTjZiO~c8f*g? z5pGn-fQA(&3~5*=Vww|+Lr(C=R|7}CiIdIR8Y1zFj2!osIE z_R4fbGDkr;jOMepH#CRcHT0mkEPT{dWFqzgW1YWEg3eA7t4<*HGjZ_BKxBR-#(C#% zlI`ZH@Kwi8r0Q%11HNEhnk7T!>(1Ur*E5m2oxwh#(oV-YkL`6C`r1$8^u}wn%ejym z)*0+R^V-0!Rh*lt_LFq1xe5Cz&ABqNkhJSO<(jMA^2~E!jEJX4!HCCCiHT=1M~=L)rf!dJ&%b?0mw=an zSKwOH_KhiQ>?z{$l1Msn8VTFYRVIXgGPaklNt68NC$iVBD#I>7>|EMhq$&stG@1J2 zuy1=o7;*bTgnpnxohoGnIdH$3Lx!0_U{af*jrO!=pXlR+i%5}})XALK_Op<;3`}7R zvWL<3hIJrCCN0MeLK%oNYe&d4m86!RiQG|1Y^7OpDm-N!`fid)W&h^q>n(ds+_FZF z-l#1gotz+gHqVU4=uUsQn#Rnm63iedQlHyONM+LR%vpp#LI17F9kg(BYiX`ZIA;^r cF^EKmmLy4Qoz>Yis~2m96}HHlV_eX`0HG<2RsaA1 diff --git a/q02_param2/tests/__init__.pyc b/q02_param2/tests/__init__.pyc index 058448ae2818a81e9f21309e6d78402a4c1b04a8..0b3839a8321e9da3d1cde9169aa9798a2f43bdab 100644 GIT binary patch delta 94 zcmZ3-xPp;``7a`AnX7D delta 100 zcmZ3%xQ>y7`7VC9nVh diff --git a/q02_param2/tests/test_q02_param2.pyc b/q02_param2/tests/test_q02_param2.pyc index 5e496da4cd9918db8cd602c5c9a328f34cffb4b9..abc9f2d1f452ebdee6fdfd5d317fcc9dc8232f85 100644 GIT binary patch delta 493 zcmb`CKTE?<6vfX=(lkk%{xRSvbdfIdq)?mbKYa-FAJ>+IQj*GN@qKbPOzElAU{h3q6TiOrF_u0jtIDmy{rUYLuRfBb)*WVoH~B* z8U-jd!5iRBvoAinwdtM>Vzo1p_I@5;s!8fH0fEfS) delta 523 zcmeAco+r$~{F#@_uJU8#MvjL}jGU8SF%>z~Ffo*HGBmR?#4s_`GBeb&Fw`(GWN|Un zFf){JGo)}Zl<jKsFzPSuHC=3O_?F8`uOs zh8mzzKoJ23m_B}xK{ad)DS`|sLJZ9;42&rZ48a=03=9l@nLvUelXWv2iy9+m`q?ue z@Wy_!4r>#mz~uF;;gbc~9tFe!)i_(lgche36~`ndWn>m-q-Mvsq!wqF=NFg6!}x^;M)3uSMTxmaF(s+RCB-q5ZP`s3 Date: Sun, 12 Nov 2017 18:08:40 +0000 Subject: [PATCH 3/3] Done --- q03_xgboost/__init__.pyc | Bin 169 -> 163 bytes q03_xgboost/build.py | 17 +++++++++++++++++ q03_xgboost/build.pyc | Bin 1068 -> 1035 bytes q03_xgboost/tests/__init__.pyc | Bin 175 -> 169 bytes q03_xgboost/tests/test_q03_xgboost.pyc | Bin 2035 -> 2019 bytes 5 files changed, 17 insertions(+) diff --git a/q03_xgboost/__init__.pyc b/q03_xgboost/__init__.pyc index 4fb1998dc3d2d50ff37e3ee669c3f2f126125ccc..251ed475f3f67fc1ffddca7d7294ac1279c719d0 100644 GIT binary patch delta 89 zcmZ3v@#i>QbF^NeTnZ+5Y*)cAu#n~nK1u^MG zsg;Q(`MEI#Mfq8&$t5un=}Gzd#U=4DexZSJd<8@-CO$qhFS8^*Uaz3Cgac@-O>TZl OX-=vgBamGT#0&ua04jz6 diff --git a/q03_xgboost/build.py b/q03_xgboost/build.py index fc75b96..8481d5c 100644 --- a/q03_xgboost/build.py +++ b/q03_xgboost/build.py @@ -1,3 +1,5 @@ + +# %load q03_xgboost/build.py # Default imports from sklearn.model_selection import train_test_split from xgboost import XGBClassifier @@ -13,4 +15,19 @@ # Write your solution here : +def xgboost(X_train, X_test, y_train, y_test,**kwargs): + model = XGBClassifier(seed=9,**kwargs) + #subsample=0.8,colsample_bytree=0.7, max_depth=2, min_child_weight=4, reg_alpha=0, reg_lambda=1.0,gamma=0,n_estimators=100,learning_rate=0.1) + model.fit(X_train,y_train) + y_pred=model.predict(X_test) + acc_score=accuracy_score(y_test,y_pred) + return acc_score.item() + + +# accuracy=xgboost(X_train, X_test, y_train, y_test,subsample=0.8, +# colsample_bytree=0.7, max_depth=2, +# min_child_weight=4, reg_alpha=0, reg_lambda=1.0, +# gamma=0,n_estimators=100,learning_rate=0.1) +# print(accuracy) +# print(type(accuracy)) diff --git a/q03_xgboost/build.pyc b/q03_xgboost/build.pyc index fab0e81b5cf21cee7460897e50911351debb52bc..9abba6008f90cd4e16bd3dcf2a7f837489d88cc3 100644 GIT binary patch delta 469 zcmb`Du};G<5QguZv~f!-qAnFIj8sBkq^^h^*t&p_P?R`UXq(6-c7aH#I&?&3$!oCi zLc9boz_|-zNAmr?`_8)iS$imWo$wu#PP;xaSVJuh^s@*S+AMX6HTAs9;;8L3M(q5^het|$|ax=rjN*4t;qMQ7N z8~?!{@GD#wf51Dn;1{^KXU=`hJ!j_Gd-FW!d!_pEG`oHG2H0}|ph98K3krQrU;rY7 zh`|(aT!P#I)quPNJ+%A<0PkR)Gsub190Rm{2Xcfd!nh2E?h%%4Z|p+u7N5Aj;nMaN zT8XL^lct>tC5F0~;a1Hyv$m1iG%Lj#+ne+sgo-t70(gvrL-RY3Dj6A%Y9b6rN`zUH zILtv`5<5HQS6V8~MbPQ$j_mVusrx2Ld8}k6OfuxDN_sLh{3Z^PM3ad{et&S(CM8?r z!Kl$4MEhxG?EfsPb)tHe0I-fO`slObi@i?lYg)?|Y8I9V{#^ZowS_Z}bWVmzv^^Tg VQ$~sQ3CI=J(0A%=2RCuo`2nZXdmjJ* diff --git a/q03_xgboost/tests/__init__.pyc b/q03_xgboost/tests/__init__.pyc index c17cec459d51c331a15e5ab5803f59769a09f558..7059f99749bb00fca514422c90c0fbc76086245a 100644 GIT binary patch delta 95 zcmZ3_xRQ~B`7v@#i>QbF^NeTnZ+5Y*)cAu#n~nK1u^MG usg;Q(`MEI#Mfq8&$t5un=}Gzd#U=4DexZSJd<8@-rX;nvq&Q|`havzfS|$TC8tX@psuZEy=dq`Cuecm7txnfW0R)Zq$}zJU290gXCew%Kiy^emfNh) z;tpq#&b0k+YKcI^;+Uy(>Zw08bSEc=<~3E@-XInA*>05zy67N~BA4oyJ>F{T)Za~F z;YVzcu}{xBEDQVWAoq8YY%fn)DEu(t!hauik|dWwnk7B0!2j5I5$xY$zL}Q$>YMXq z-e?9bljp><7fG4Sk(&DFJPlSfyl%KVm*3~^QQ?PZ)%E3985j{9 z2wdNl?raw>B7&fOtEffG+6qM>g!m75uA%+|9yo_{zVqYzxc9JhQp(GdV&U`a7y{umU!M&B6A8BDWC4TSd?ys06wW8UhK>4bV-{Fz6QV z^lt{}0_%Bn1K5608Mff_oY~-4UyAm`48bvSU96^7>L)UwenqmtTMYS#3I zdZf*U&6=v-(w)R+4b^OA>nu+_tJkv3*y?%x^8UkW`#+|vHr6QjA(|--^Hs$^Mv