From 4f7870bc4c69492c912d0d945a5042d2cf9b6130 Mon Sep 17 00:00:00 2001 From: Abhimanyu22 Date: Sat, 3 Nov 2018 15:00:04 +0000 Subject: [PATCH 1/5] Done --- __pycache__/__init__.cpython-36.pyc | Bin 154 -> 153 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 178 -> 167 bytes q01_plot_corr/__pycache__/build.cpython-36.pyc | Bin 558 -> 740 bytes q01_plot_corr/build.py | 10 +++++++--- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 167 -> 173 bytes .../test_q01_plot_corr.cpython-36.pyc | Bin 791 -> 1102 bytes 6 files changed, 7 insertions(+), 3 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index abc397ac59f40d351e1861264050586541adce96..2e0dda939702cae2b73e2ccb1be7ca0ea27ffea5 100644 GIT binary patch delta 80 zcmbQmIFpgXn3tDp#rC_=6FJOn-1IZ@b5r#llQJ@M6Z0xdjg0ie^NX^J3lfu4^^@~c iQuWhP6H7{qQsawLb5fH_GV}A|3ySiyfK2^~HF5x3dL17C delta 81 zcmbQqIE#_Pn3tC;r0Y!NL=JOXcW0}Z(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 elKkA5f};Ga)Z`Kv9bb}~Tac4jk{UCyS`Gk$V;)lg diff --git a/q01_plot_corr/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/__pycache__/__init__.cpython-36.pyc index 460f88abffae2c2371906282e6e7f121c82a6603..06030891b06d348ffe5c5b6b27fa5df5a0d984bd 100644 GIT binary patch delta 121 zcmdnQxSWy0n3tDp#rC_=6FJN?Li988b5r#llQJ@M6Z0xdjg0ie^NX^J3lfu4^^@~c zQuWhP6H7{qQsawLb5fH_GV}A|3ySiyfK2^D1H<@&ocxmbIMNnwS!wTwE5Pl30=$Uy>i6k`^ C=O^y~ diff --git a/q01_plot_corr/__pycache__/build.cpython-36.pyc b/q01_plot_corr/__pycache__/build.cpython-36.pyc index f4059a396f2f2d496c99f95048654e2c7471d9b9..84e0d8a6e36fba9bc4805b394a879f0940b5a6cc 100644 GIT binary patch literal 740 zcmZ8f&5qMB5VjrXr(L>;Um=d%dfC8oMF_+dEdmaRfD~NYZIe1b*v{^D)tmj0=8IOJQB>ZblG%9=B+NcG|2O;~x7c z0zoeWjBN6Mr6(BF0aoG36uWp{EKG4Bv*@FGqu+^L2BRUL=*BWzH1%}kC~vgZ6bjmJ z3BoaJmd%;=in~y=dLdn)WbI|h(1adYd!1U|mC%M-?_v@vzu2ABr zUAxi0+z2L^LvRQu_%_%WKg9Qmz6Y5p*0B#07qzSw%sA2tcMF*L&s8ylRvtn5ItHz> z1FeDeo*IYdtgw8U&lq3HT7Ytri5%`%--H3fuz~BIy9))EJgXYfDft}!V`RqQ{DKd_ G#`F&&=fl7N literal 558 zcmZ8f!D`$v5S@`^uj6Dx3pu3FAMj;K=rxo;$f=M*dq`F+EMCh=>}u_;q@~&7y~Mrd zL;69v=$h01LVD?F10__$ym_7{jULD!hQsvf@p1eI0iNL1;>1rW?ID2zg&JyTsb_oj>IIV~>G|njPJ;Ca>gBp5RGlwXCq4EUYPk4;BapW9zt%H^OK9F8gmCFSj-g>!;C4IcgVE?BLpivv zZfy0ll<`=9Heb|6k~!)prggci+9uocqG*lre4(98>~glyt+T{RH!bG*LJsD+v$yRJ z8Q;08_-1`%^5&-WT$ha>6s=y)8!O}0iWSLepG#_xnd(=a=WyimEzy$Du}APbU{ zG0F0~-(ZIH{rqk;ntVSxp8h*DnJp`=MvIk6Nlz&40RbSx1P?H!cux^i-R{WHgxAP~ rd`pJI7+uZicwjPqsV2PBcK7zuSFlflPfq5oTI%v+_!DfHmPUU8ouh^r diff --git a/q01_plot_corr/build.py b/q01_plot_corr/build.py index edc724a..4c205d3 100644 --- a/q01_plot_corr/build.py +++ b/q01_plot_corr/build.py @@ -1,5 +1,5 @@ -# Default imports import pandas as pd +import matplotlib.pyplot as plt from matplotlib.pyplot import yticks, xticks, subplots, set_cmap plt.switch_backend('agg') data = pd.read_csv('data/house_prices_multivariate.csv') @@ -9,8 +9,12 @@ def plot_corr(data, size=11): corr = data.corr() fig, ax = subplots(figsize=(size, size)) - set_cmap("YlOrRd") + set_cmap('YlOrRd') ax.matshow(corr) xticks(range(len(corr.columns)), corr.columns, rotation=90) yticks(range(len(corr.columns)), corr.columns) - return ax + + return + + + diff --git a/q01_plot_corr/tests/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/tests/__pycache__/__init__.cpython-36.pyc index c4bc30d7704db1af3a7d76f564945a76f376cb2d..63d745fc25e5be6cbdffdce8217839362feeea44 100644 GIT binary patch delta 100 zcmZ3^xR#N_n3tF9)%Ls56FJNSqVzNJb5r#llQJ@M6Z0xdjg0ie^NX^J3lfu4^^@~c zQuWhP6H7{qQsawLb5fH_GV}A|3ySiyfK2^D1H<@&ocxmbxSWy0n3tDp{>3Yi6FJPiLY%E)LW@(2ienO!GBS%ZQnO=RQj4=o@(W_pi&85S yOY(DL(oz#kN{dqCi&Jw_lS?x5^I{4O4C4!O@=M~A^NWgNN>YnUieo1B%K-pyG9)+v diff --git a/q01_plot_corr/tests/__pycache__/test_q01_plot_corr.cpython-36.pyc b/q01_plot_corr/tests/__pycache__/test_q01_plot_corr.cpython-36.pyc index 40d2b706881e3ab76930c2164e7d4894f4b4633f..6b1ca9f94032f3486150fd069737fbe39bdbeabb 100644 GIT binary patch literal 1102 zcmaKr-D(su6vvbK*qz;W)hj;2;)UaC)svtW@ejY7Q57| z?aTNCzDvL>uhvKK%5!Gh?XI91a&q!@@;|>xo(~57U*CUxdgl@HldO~g{9UN#4H!WL zRV1U(dde&P%%?>7B2YmYW+C`QgsM|^vo0l)opsO0U{;W>pJSTIBc zbq}i90b_}!Gy0XDlM~PS=Ty*pWCkH2+)97s-6k^xL?C!D)EG|tV5SfEzd$NhiWstL zN?BPGZ;2=IK{1gPcuAl`T#W491~*1(yMNkn<$NWp#B+g>YUBcB@{Q;XSoT{0lTxOy z508tIS7*)6PWrLdpUs%(GR#+J-e3lL0e+1kYR z_{`nK$?LUjslN{z4C*CbM5m9}KyLqQ(;8vi+!B5O&MM&rUl9nnJeM@X;T%EEG4tt* zB~2km9PUCq;i{1)7Ij?JHZHl%kK?13?fQy@>YETD@vm{~E)ICQ2aU$0TDl9f30-&R zuVgMGnj0{=06+o2)_(z9?HMMaix{hTDH(Hp#>!eW3jIyS@P996^Z<3-S{H+Yx15VgIV#95NI5{MHAB*Y5O{5)Yi?F)yT(f**KXu#%y1v={YE;&R0!mwQNn1Yb&d+bj7VQ zg>pL0?QI@1JuHUg0?j@_&_qxmf&r?&BO-zbE608ss(pH>lH*wV74~p_j%J@CIO1q% z^#_gudIkg&u*Gr~nFs@X9Mt(lS*wj(nl9*%tuC*A62mdz&$s#8>`E)w87=Xi&Rx;e+0Coh^4}CPhiYw)^2m|48-Eg<|6@;s^zf{N za=LwX)Mt7ey1+qjDQi_}DSaYk)j(GUK9TaKQ{~=c5=_?jascCS7RsEU*)TIs`~TUQ zkL<>J)>t36%B}oRwXLqf$Lpr3{Rj#Z^7>)k8RVXKb>V_A6S9cM#|>U~MG5_+#jsU1 tD9qe~;6^Ku`0{3em-@m7;= Date: Sun, 4 Nov 2018 08:38:12 +0000 Subject: [PATCH 2/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 167 -> 173 bytes .../__pycache__/build.cpython-36.pyc | Bin 951 -> 938 bytes q02_best_k_features/build.py | 34 +++++++++++++++--- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 173 -> 179 bytes ...t_q02_percentile_k_features.cpython-36.pyc | Bin 0 -> 1966 bytes 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 q02_best_k_features/tests/__pycache__/test_q02_percentile_k_features.cpython-36.pyc diff --git a/q02_best_k_features/__pycache__/__init__.cpython-36.pyc b/q02_best_k_features/__pycache__/__init__.cpython-36.pyc index 43047f0b7d121cffd870478bfcf87b31503ee2f1..5846346716600f9f1b66e74c5c5ca17dd8a9837e 100644 GIT binary patch delta 100 zcmZ3^xR#N_n3tDp#rC_=6FJNSqVzNJb5r#llQJ@M6Z0xdjg0ie^NX^J3lfu4^^@~c xQuWhP6H7{qQsawLb5fH_GV}A|3ySiyfK2^D1Ect))Z&u(?0Bf6V*QDoasUYfB@6%n delta 94 zcmZ3>xSWy0n3tC;r0Y!NL=JPW5NE5H(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 slKkA5wA93s(xTM(;?$hfFfF*(!ZtP;4bHMjv4*;z=#@jH{$*gwD@XnWvhMGIhS$hTAfL z-klJ%3-S^~eFW8_sfCBu1hls%6EZ+c(gJv}j>au%ofUaUmUQWA(gN@$1xuz5c%G(R z#AgnpS4dOswzTzDWQAWL$OqbMF>{|F?YA)CHpCcyjF!DNu>WNK+8Katdu#X`j2;|r zFkp&%<5ch?J5Of6?Xg@_kTHm|Bb@^D_k93{0WSGO=5&lcBk4hE=om8EH8?T&q6>8D z`WT2Rc=Y1rEHBb>(d_L-$CaF^I?Z^LRg6ayp6W*OM0LCa!9Z#?g%w2e-M!?5E1k@e zUqvc9X>!3v_2N3*7rD||Rn!L$EIdoLhc1WppT*s38|{lKONBZB=XckJLC59?9Jyuj z2Qkf|O4^|fwPnW7D$x|BGM=iW=FB*kd2O7$)W#9K9EOJ4w_xzh;5P;@44%jU+GBE& z#oi>bT`|4L5*7QB&lBkROO3S8!aV#hUYk<)K_T)82lx(1NCLcrcZeK7bcm(h3jpxy zv}CC=q-L>OHbuQKq^#qCnhBoDa`X?o(h_wuWFUFU5_qoC?zX%57CgJu8;rqzQL#qw T151tSg9-ppANNT}!n;2K#trm+ literal 951 zcmaJ=y>HYo6!&vJFHJ=SEXM#sNR_gjD#3U;Ngc!j16nz>~^j&5%=Nw{-Sz{7;KM+eI&^u#Z@JzkrBIA|H3yy2yG!c9zxRiNa z?PrdGV%xgz<~;ccO>@@TjLdr?tZYSAc1w<7O;%3pT#`OnxvkSu96d!_yS3JI<+uK^ z)w->>Mn=lUnX`uXpj_oC{}R^tUBDC=FnaDYi`gG6Mq2BgiPF0uxZ^PQ+;4l&$Qo8b z8;l8bpX!~#A*tvA=4`Ut&j9(EW=0f@+`%q=G?%1BatMO`FGc{!(YP|JF<)UL;OfC( zaCEZwB$;rjl6f-asaoRZ(PWtyY_MpwKP=L6!qQRS1jSBHAKm~DhDDvFg&d)?!M=*9 zw&uLip5Sk|ko*rtL(d%CQM`-J3@N@2SAbNZPd?HUdrUfNoxwPCuqRAaka@5WoaLFS z#fH7`aQ!M67P(YeT`orVa4yXeE;)VlAC|xIQ6Nl#wVl|N}pGZzm0b`lN*UfvhOxJ_+vK^TSbHbi#Zm-B+Bq8eP+Jdxewz*o=-(FxPR|5jt;8PV}tU^>f! Nk4$N#sb~nH^$W>S=m!7* diff --git a/q02_best_k_features/build.py b/q02_best_k_features/build.py index 9b1046a..a355137 100644 --- a/q02_best_k_features/build.py +++ b/q02_best_k_features/build.py @@ -1,12 +1,38 @@ +# %load q02_best_k_features/build.py # Default imports - import pandas as pd +import numpy as np +from sklearn.feature_selection import SelectPercentile +from sklearn.feature_selection import f_regression data = pd.read_csv('data/house_prices_multivariate.csv') -from sklearn.feature_selection import SelectPercentile -from sklearn.feature_selection import f_regression +def percentile_k_features(data, k=20): + + X = data.iloc[:,:-1] + y = data['SalePrice'] + f, _ = f_regression(X,y) + f = list(f) + xc = list(X.columns) + + f_sort = sorted(f) + xc_s = [x for _,x in sorted(zip(f, xc))] + req_len = int((k/100)*len(xc_s)) + 1 + + return xc_s[::-1][:req_len] + + +percentile_k_features(data) + + + + + + + + + + -# Write your solution here: diff --git a/q02_best_k_features/tests/__pycache__/__init__.cpython-36.pyc b/q02_best_k_features/tests/__pycache__/__init__.cpython-36.pyc index 86a25cff523fa394416e407b58545caf2749163a..1c1299456c0e0a19b05ab245e69c52f7ee500f46 100644 GIT binary patch delta 106 zcmZ3>xS5f|n3tDp#rC_=6FJPo67)0jb5r#llQJ@M6Z0xdjg0ie^NX^J3lfu4^^@~c zQuWhP6H7{qQsawLb5fH_GV}A|3ySiyfK2^D1Ect))Z&u(?0Bf6V*L^zzgT}_zZ?Mh CIVX$& delta 127 zcmdnYxR#N_n3tE!{`%F(i5%v6QO;H|p~b01#W9IV8JWcyso60usm0kP`2{iQMX8mE zCHc8AX{m`NrA4Xn#i==|$t9Wjc`=0sChPO2Rv0|P@b5HkP(&Lb_k diff --git a/q02_best_k_features/tests/__pycache__/test_q02_percentile_k_features.cpython-36.pyc b/q02_best_k_features/tests/__pycache__/test_q02_percentile_k_features.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b7d8fa3924486ff258073bc2bfad89023b11052d GIT binary patch literal 1966 zcmbtV-HzKt6rQo2#QE7DRkWyFfCUuEXtjam3JI!hx7}5xDu7xE$y~UzK9j7s{z+%X z5gV1O^kLu$c$bm5;%Z-kE6%aA*=*SsR2hYJm^72|^LQ+Usg%^`I7zeq zQ>o2?&=UR4i8SLX%Y>TfsZ2)mk3kqQJSi(J?e%^mt8j;=Cxp{IJ`Cn>tm?`oOG4Xw2P7?aC zi;GIw$Dw!7NEUHmkpmo@S1fYD1rP5Yw4jam76F9!HgvK4p1n<#eScl;3CC!3QFtH6 z0S>)~#xTPd{1^U`ojS&S$${Ty3rvTp*8Y#3TWmpmF-+u*l#6dFiaG!2;m-)1kq{t; zRgS3Z;128rN9jx!=!Kp_WiUmFZC_|Dm3jCAk+W_li_o#2mf6^P#K3P%^>Nu>GbA9F z!+XakX)cPhYHx4&W2v6&sYv87DM1dGoW}SrCQr)($tq9L9lrQtFFr;X)`%Y({I6>p z)AY6K*qxr)Pif)x)A6c0`a%26qfCs4cB?qn1 zIdO3Q9-8^rD-J-81_MJewh_%9q^w!2vWAp(!s9996!R=vOQt_HbozeW@ z5*6IjfjOJXU|gy|No)s215uFb;MwC;n`b-0Sy`cm<#IkPCczyYdUm_f>?8fC&_)!A zv;$L4S6#(=8NO~k3Xf>ksJ#Z*=WhY5`ItCe#wI#7)yNPxhtD6p6LPNwy#nA$WH+t= zxDplu_h1Dal@^p^#0tCLaaJn|&84QAOt|^~u@WUkLQ<5*`f}MM-hj|&|BetPAkH;4 z62|BI{|6ZgHVQk|kK;n*GLCI8j`I>KJTPKAh+}F{&5YW>bZVQ-O)~G3xg@yuXj>>^ zjkb%X_Ud!r^ILwqej0Ar)^U|)&@@56DpErQE8@a-kbCN&^$v{MQ&E7>)|o=& Date: Fri, 16 Nov 2018 17:23:23 +0000 Subject: [PATCH 3/5] Done --- q03_rf_rfe/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 164 bytes q03_rf_rfe/__pycache__/build.cpython-36.pyc | Bin 0 -> 950 bytes q03_rf_rfe/build.py | 17 ++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 170 bytes .../__pycache__/test_q03_rf_rfe.cpython-36.pyc | Bin 0 -> 1865 bytes 5 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 q03_rf_rfe/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_rf_rfe/__pycache__/build.cpython-36.pyc create mode 100644 q03_rf_rfe/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_rf_rfe/tests/__pycache__/test_q03_rf_rfe.cpython-36.pyc diff --git a/q03_rf_rfe/__pycache__/__init__.cpython-36.pyc b/q03_rf_rfe/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9ca7d7f7ac6ef3a45989fcfd006906f62d89434c GIT binary patch literal 164 zcmXr!<>gwj{cbb^5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzXJ6$@^e%59g{LL za})C_OO1^5!}E)>iwhEyQ}vVcQ&RQQQWHx`i&Eo@Q*%<2OEUBG;tPuMvw%$fLIdOY kqBI~%)sK(Q%*!l^kJl@xyv1RYo1apelWGUDsu+kF01ZSd?*IS* literal 0 HcmV?d00001 diff --git a/q03_rf_rfe/__pycache__/build.cpython-36.pyc b/q03_rf_rfe/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bdf7d64b0e00f348ad2ec07f439647ee1e48fda9 GIT binary patch literal 950 zcmZWnO>Yx15VgIZNfW6>2q={}a0`c|YOhrUD)iVxiv(IgD|hX*PQ4$sy^&IFPD_s* zxbp}2OTKc-r9YrTf^nnLN_cl>#~yp;z31KS_q*4>uRqNRLch?10dw>kOpn1a#IQsO z=6FgNX>sDgiYNU%NCND#z6|pyi69PG_!T8FkGa=knB!wKh?YpcS!$HeWw~3}}(_ZT&=o~H`@THUWJ+O;J z!JGj9=y;Iu!H&W7V{oSc{!8yOaey20om}|G=qFMUqz0ZP!)=RG+sR6)Qz^8$P29Sh zLy$PHXvRlb$@pl(si_rDHJ3ayqAcJ#$|;1Si|yT1P2lCD zlUhhNtmZe}J=Y*B^J=`|&^Znvx_rLcH{6qDMx`D@aJOyw2Zri9sD0}T*q|IgKu4K;YqtamA@Bv!OI7sY96eOKE?K)22dZNnLrHP?gK z`tF~y_@l*h8{|MvCLW+yU1*i8b{Byoiw bpmEo`f)wuon_BX*Q%*Z%G3gQjMB?6GudMo% literal 0 HcmV?d00001 diff --git a/q03_rf_rfe/build.py b/q03_rf_rfe/build.py index e8a8d20..11c82db 100644 --- a/q03_rf_rfe/build.py +++ b/q03_rf_rfe/build.py @@ -1,3 +1,4 @@ +# %load q03_rf_rfe/build.py # Default imports import pandas as pd @@ -6,6 +7,20 @@ from sklearn.feature_selection import RFE from sklearn.ensemble import RandomForestClassifier +def rf_rfe(data): + + X,y = data.iloc[:,:-1], data.iloc[:,-1] + model = RandomForestClassifier() + rfe = RFE(model, int(data.shape[1]/2)) + rfe.fit(X,y) + cols_list = rfe.get_support(indices=True) + cols_sort = [cols_list for _, cols_list in sorted(zip(rfe.ranking_[cols_list],cols_list))] + selected_cols = data.iloc[:,cols_sort] + + return list(selected_cols.columns.values) + +rf_rfe(data) + + -# Your solution code here diff --git a/q03_rf_rfe/tests/__pycache__/__init__.cpython-36.pyc b/q03_rf_rfe/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd7b570ffac675ce45d2159eb390021abf0a6774 GIT binary patch literal 170 zcmXr!<>gwj{cbb^5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzryu1@^e%59g{LL za})C_OO1^5!}E)>iwhEyQ}vVcQ&RQQQWHx`i&Eo@Q*%<2OEUBG;tPuMvw%$fLIdOY qqBI~%)h|gcE-BWJkI&4@EQycTE2zB1VUwGmQks)$2ePmjh#3GhD=t?6 literal 0 HcmV?d00001 diff --git a/q03_rf_rfe/tests/__pycache__/test_q03_rf_rfe.cpython-36.pyc b/q03_rf_rfe/tests/__pycache__/test_q03_rf_rfe.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c36a106af0411f7dcce2c6a2a4fd2a66e3d0889f GIT binary patch literal 1865 zcmaJ?-EP}96ecCvmSrbPx+YyZY!!xefPo-h)2ji)&?Iew0$DaB{XsNfD&s>tO7-KC zl+hU7Rr)a76YO0C>}pqegnFJjkN{5I1zVnfKxUk^;{^wu6yr?nuH=Dbb z(SL-Gev1Ye@R$W0TPwB_JFqze8=TllYC#Qs2DP}JG=c_alApOyzu-X=8sI_`JZM21 z7GM!RfhAamTkt8|h80+aJA>uGlQr4I=++*C&tUC6gEeVi*g+fk5$oK&#M#+FhZpWM zsm+ei^3uXL_@b`*q3TQY76;Pw^Eei2pog+I{tAQ<-P0`BG90R?Cv}+Qv57`PMZ(C9 zo*o6Q{mksDEHz>vg9diCloUbpSPHeBN3jXo28!PfQQ>eV=p4yK_Wr{Y&9wvJ0WVELMp$mn}I9A&@ zuUB=dnOVooOn=T)?-V=rV|A3p&?9m_Ttv$weDpdRSr#j>fP?j(1vV86 zTL)@T$F@eL!L|-fB-txGBKNT5v&V5bU6jwoX9pj>iN-L)FZgf#9Xqp({f+})V;7ho zbIF#Y@#A52o4}_Rp_a=0tY4PEMmlr04nOX7^>LUhARg$!;$L z+3ibVawS6?i<3uLijv6A(CxnY_8|(0G}JW+UzawVz1np5$96-kojq5{6v`E zsXr)ryc*H5XPhdkX2((t8j#%&Afb~Q46e?A`j!y~o zE;^_h)Q>?$8k=-9rxNR6yfZ_Hd)GJTL+ST3kv6Z^{qrnG70Jo> zC>{9sb;l`|D%CvIPg89~+LJ}wWW#Wx0bMvT4lf)^-{BPzA93*cJO|b6VKhm0ho~S> z45_gA_?sKZ_-NP_PNwB2UT2(4OO9MTo^nB}^|L<0$Ajx6E(?xkR`O~l+)@9D#KKd# z6-`sPaXpwGK53Xa*Nst zp5joQB@HYfojm1M2wXhqA;f<`;n06VtzvjdQ Date: Fri, 16 Nov 2018 18:11:44 +0000 Subject: [PATCH 4/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 175 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 836 bytes q04_select_from_model/build.py | 19 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 181 bytes .../test_q04_select_from_model.cpython-36.pyc | Bin 0 -> 2085 bytes 5 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 q04_select_from_model/__pycache__/__init__.cpython-36.pyc create mode 100644 q04_select_from_model/__pycache__/build.cpython-36.pyc create mode 100644 q04_select_from_model/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q04_select_from_model/tests/__pycache__/test_q04_select_from_model.cpython-36.pyc diff --git a/q04_select_from_model/__pycache__/__init__.cpython-36.pyc b/q04_select_from_model/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd96301dede3bdc3bb04918ee91c853609833e7b GIT binary patch literal 175 zcmXr!<>gwj{cbb^5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzhd+=@^e%59g{LL za})C_OO1^5!}E)>iwhEyQ}vVcQ&RQQQWHx`i&Eo@Q*%<2OEUBG;tPuMvw%$fLIV@1 qXna~xer|j&P=VzFWHUvf$cphXiq{qQl{lU z@R!_DT}4j=AHETUexR)bI(h-3PXRdMSfUzJjNP3` zQhU@J@1FE&05(sCG!j7-bAN?t!UGKE6uCK7ZT+g{ zLW1eRYu50#K5doI=0q~B%c2zO?DIp;3`;NCUW=?#WiE79_tKOLrb=eSQLYy`c6s4M zAU?%(Q{h-^?%#J0*(J zz*AH<+;zA94M)Y!Ke2u(+gy2|SP$Hk+loyLWYI;dYP$1Lm`wLw*D7OuS!!dWyp?_3 zXd5n=?1i31)^{Vc_?^X9HmKdesiz7-6L8g;i=qdGV5W!JXL?+X;NOwD3v9pM!|ZF3 zzMNl_HEXW=BgEBu{Vegwj{cbb^5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzmoJb@^e%59g{LL za})C_OO1^5!}E)>iwhEyQ}vVcQ&RQQQWHx`i&Eo@Q*%<2OEUBG;tPuMvw%$fLIV@1 wXna~xer|j&P;l?X@5cgi-4Yb@?YqwGm^7@#BPyF;BZKdhMaFc4nLimYW?=dpFb_u8T*S} zcxF+5giZg70vPa^`Mm5c-^SjGouua1I0GA;xSllp2I>rIv70pgCTG${kG&s zouesej5%7k(1aGWp#xJe4Kpwcb1)CL;5OWW1-Lty^`~V+w(-B2Z3c_5^oGHbtc`7d z7Wf|P-aEzpu-z^%+-FjoO`+wfg)=xYr)4Zd6ZBP<1W5)m#>we{H2pk|g&OFg3`ZY= zFrs&u7_FtSc$}=DrkaBadR^ zcS!wS;zH{He(M{de@sj#HX zBGQw5ZLRk_Q!n*Ugt8YRLwbEFOs-^5Q76h$Bt>?F`{=#;Hc3xw(!1VxuJxYl5G zcv5&|^zOgGB(53Uo2EFJ?eftV*8;uzUrsJ%f}E9^_yCoQnW*wW=XHX*y?bh-)#%F! z;2`?~&wzI<;#_JEGB3@Hmk1LcdV>=F%NAYxJQa!#OV?6u>{N#YAzz7U)QaUB0y%T3 zZ=+EK21hVHe=jiJ`j}urOu|Z5VQ~)?WFzv@AnA=w{Jg+EYj?DH4gppL&zuaU*Uyxv zB$6Vn@bDt-z1WGgd9mW1WI3`^o_&wffp=ebonp3P<5T@K)kdVDEaoddNeIfiau7>h zI59dY99pEyE4;2i_3;f*Roe-oGw(};7)8ktF^i8Lz87X!oLz!$LZkUh&`qd=kUgG2 zM&Wo_A5p@}Nf9D(P@GezS_u#IJC;ZwqK&$RqHyKe!M_2OkNzE%inPnMt^iB{^v8lc&I>Bm=!~%&$66eV*H6p)ipddw4sdTwp z!?#|}cIW(BnkQH;taRwthav@`3u_34o2QYXm=(oS)DG~rfvW5^kOEXB%j4&}cp*W6 z7gpiWrB>7xI>{0$gc8(U{J8|UT<*Hv74E|-yszolXo>{4$UF2}EtJ#v;*9kV6wXY9 literal 0 HcmV?d00001 From 7fa7285c361fb9499fab7e7c766bc54473314d5e Mon Sep 17 00:00:00 2001 From: Abhimanyu22 Date: Fri, 16 Nov 2018 18:54:47 +0000 Subject: [PATCH 5/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 174 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1856 bytes q05_forward_selected/build.py | 50 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 180 bytes .../test_q05_forward_selected.cpython-36.pyc | Bin 0 -> 2852 bytes 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 q05_forward_selected/__pycache__/__init__.cpython-36.pyc create mode 100644 q05_forward_selected/__pycache__/build.cpython-36.pyc create mode 100644 q05_forward_selected/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q05_forward_selected/tests/__pycache__/test_q05_forward_selected.cpython-36.pyc diff --git a/q05_forward_selected/__pycache__/__init__.cpython-36.pyc b/q05_forward_selected/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fb0cfb1406d36250d9f012d9d84331500d54dfc9 GIT binary patch literal 174 zcmXr!<>gwj{cbb^5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzoPXs@^e%59g{LL za})C_OO1^5!}E)>iwhEyQ}vVcQ&RQQQWHx`i&Eo@Q*%<2OEUBG;tPuMvw%$fLIczI rwEUv-#G(|aY-);re0*kJW=VX!UP0w84x8Nkl+v73JCLQtK+FID3I#AE literal 0 HcmV?d00001 diff --git a/q05_forward_selected/__pycache__/build.cpython-36.pyc b/q05_forward_selected/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6c6dff963ecd9610958965e45a1948d423a9a6d4 GIT binary patch literal 1856 zcma)7O>g5w7@iq_)=g74E#0PD?O}mK4kSwv2db(9X-{a?1C?lHSXr)Tl6C6X?%3H) zs~HI?MJxxTMdD8&Bz^=xV-8$6^~8NI@Q%~;3n8s7kKcJepZ8GF2(4WIo?!ZD3#VHCfyh%z%MqpsX@X(~j6bBYFrYNwfNv#VMILu)dv!?`u%>nAz zmtc?fJ6QS8l8imS)ER#Gte@vq)>b=OvB?}9l#HeM35nZ2UnWHQ%vy&YC~K~ej?HUo&ku__k_BA(niu0#t{FAs6ovO zB&`7&AcCYVoh!YQd+3P95L2rS9zf>8eo0fO^bl39aHm){g$?`#(VXJiuOk*f3w9Xr+}wTpTU#zm zU#`fOT$O8LZLS5``rzk1;Yj}n)W_7O&V?)2Cx6Vb>pIlq2fTfN4`K17}0`0(o+;wG>=M3L?j zWhNCH)r@+1dj!)tV!bbpUnHX_I~#9r_YQM@QWjCndT~x!ug{`t%vo5nl*JWHHB53o z1hRMfKIrB`)9Bu5>#PcJcY+{|7ZUxcmpMP9rcW&kN;1 z+T&4HDkEiCU?xyGW$`E*u)ydim9ok>=S?sW+yfmU zHQr{O^GRT9qoa>!Z-88fyaT(LMts1^Dug=17kt+As}9%A_3w94H@|!a3&JLTgj?9g zF7dEOS{PQ`fZNAS7yuu5TflKauVJj?^_ttf($V||(Auhr`6KYxag|*}8I4Ls3aZx1 zlN5e9SvReJJmIXJdSsQ$SwutlzwkC}`KDg9hg;`GkKydlxVvCEPT5}l@6qrfGVzE_ H+>ibRth(dV literal 0 HcmV?d00001 diff --git a/q05_forward_selected/build.py b/q05_forward_selected/build.py index 8816abd..ecb5408 100644 --- a/q05_forward_selected/build.py +++ b/q05_forward_selected/build.py @@ -1,3 +1,4 @@ +# %load q05_forward_selected/build.py # Default imports import pandas as pd from sklearn.linear_model import LinearRegression @@ -6,5 +7,52 @@ model = LinearRegression() +def forward_selected(data, model): + df = data + X = df.drop(df.columns[len(df.columns)-1], axis=1) + y = df.iloc[:,-1] + col_list = X.columns + def select_cols(df, col_list): + return df[[item for item in col_list]] + Variable_f, Variable_f_max = [], [] + Score_r2, Score_r2_max = [], [] + # the first feature + for index in range(len(col_list)): + feature_list=[col_list[index]] + new_X = select_cols(X,feature_list) + model.fit(new_X,y) + r2 = model.score(new_X,y) + Variable_f.append(new_X.columns[0]) + Score_r2.append(r2) + max_r2_score = max(Score_r2) + Variable_f_max = [Variable_f[Score_r2.index(max_r2_score)]] + Score_r2_max.append(max_r2_score) + #The next features + new_Variable_f_max, new_Variable_f, new_Score_r2, new_Score_r2_max, new_Variable_f_max_capture, new_Score_r2_max_capture = [], [], [], [], [], [] + new_Score_r2_max_capture.append(max_r2_score) + no_features_f_max = len(new_Variable_f) + new_Variable_f = Variable_f_max + def features(j): + feature_list=col_list[j] + return feature_list + for index in range(len(col_list)-1): + for k in range(len(col_list)-1): + if features(k) not in new_Variable_f: + new_Variable_f = Variable_f_max.copy() + new_Variable_f.append(features(k)) + new_X1 = select_cols(X,new_Variable_f) + model.fit(new_X1,y) + new_r2 = model.score(new_X1,y) + new_Score_r2.append(new_r2) + new_max_r2_score = max(new_Score_r2) + new_Variable_f_max.append(new_X1.columns) + largest_indice = new_Score_r2.index(new_max_r2_score) + new_Variable_f_max_capture =list(new_Variable_f_max[largest_indice]) + new_Score_r2_max_capture.append(new_max_r2_score) + Variable_f_max = new_Variable_f_max_capture.copy() + return Variable_f_max, new_Score_r2_max_capture + +forward_selected(data, model) + + -# Your solution code here diff --git a/q05_forward_selected/tests/__pycache__/__init__.cpython-36.pyc b/q05_forward_selected/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..293646de5e9524df47aef21eaa2ddce727264e8c GIT binary patch literal 180 zcmXr!<>gwj{cbb^5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzY_H`@^e%59g{LL za})C_OO1^5!}E)>iwhEyQ}vVcQ&RQQQWHx`i&Eo@Q*%<2OEUBG;tPuMvw%$fLIczI xwEUv-#G(|aY-);rNosLPv3`7fW?p7Ve7s&kHK literal 0 HcmV?d00001 diff --git a/q05_forward_selected/tests/__pycache__/test_q05_forward_selected.cpython-36.pyc b/q05_forward_selected/tests/__pycache__/test_q05_forward_selected.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..833a0d0526c5796783d5e6518ce57ae2f475a5b2 GIT binary patch literal 2852 zcmc&$-D@0G6rZo%ooseDn>I~9O^4Q^D{Zz(6;VpJF>PWoMr_35s7!C>+}%z(JF~ra zc56ZfW$S<7gAalaRg@QHzfS|s3&P=jN+O!fBoMp~EJNMpm z@BN+MIp-cL7V{r}{?n^BOhvh^tb6jPpTt*wfdUjzeWj_|s;Ynny00~LTSr|1!#A24 zJCo=cKikaNxkS(Urrn4ASwC<0^S*@w-xfHDj=^7a7N zd6Ad8+H0C!wg-6`=WlyQ+pXB!U^@)K4j6`=unTs>9@q=}aK?5%*c&r6t-wPta#ev5 zu6A{M2W01z%Kl~Czfw_S^Cd2$NhbNSmVPMLLvfi2a3uG+8*#uvr3R1cZQp02AzR$V zFXb68;7pw54Z)@K!eDmk0I-NvFNAH$otE%iE}drEkGu{O9*g*>D?4`o3mq<)@4wh) zzTG!1X1vaX;LOfHBb(8b7tBqK+4*TESc6Y8A??C*UgTcj!Nh!LTG-~8jHY}sH)R)I zNfvL0FacoaX2K{n^E{I;2O`zag&~~c?!~#OW%63%##>(vegDJlTI1G@ufKf%+h1#q znQHm3k#FwQ8qdCc{Z_5@TdnclwYh~KKSkyD55Bv0^A}V;`{d3auV#<>%bOFCWe>*Ia^f^&u2b;wz7%;EJt+Vr!s+c2%);(80jgfDB}@%|H%J zY_sHcY;)v#Y)vSli%Rhj`DW@acepAVriWHSdMcCn%5fBt5~*GFP4$Yhphfx>71Z5I z7gxqr*Zr?+!%8pwqHHmj zSKSbJwa!`87JP+n$Rs3BxPbepUOM`Ob2k~Q5kevp>1@_N+FFeF)0lf^I=w^f#EnTh zgrb@1(&L+fJo*nNHaLMyB~BPYWxW$p7hoi6J;3$ZNGD#dW1Tj;G`V(u%oz7wk7jh{!e4HN}WWS=OINb%&Bb!5% zZp86c>^fr>o=MUP6~szYmyT}%t$U39zp#mIc#1ebPhle6P;fDXAH)t6{|=<_htb4; z1=9Eika|Hzdtc*LFR+kPM|zy<#S#Y8S~R6z!1R`MSM+!wWe-s-&12apY&l~`;{spF zgbo(3`#@58AaBwgIB0L|=wk#5Wot!UIr-FzP3_D%v9V1tl9h+hPGQ8EY-DGeNuAS`<`fY!k0d;NYDqHt60JXVN*8 z(ZzNWROJLEVsU_kMS^y`*->Kic#6siO5>6y6x8&G=hE_O7XN8#UMr~uteIIgkL};s CEHv=| literal 0 HcmV?d00001