From 1d117b27b58972ea9412926ae781a6c33ce83d3b Mon Sep 17 00:00:00 2001 From: EminentNeo Date: Mon, 22 Oct 2018 07:24:21 +0000 Subject: [PATCH 1/4] Done --- __pycache__/__init__.cpython-36.pyc | Bin 154 -> 152 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 178 -> 166 bytes q01_plot_corr/__pycache__/build.cpython-36.pyc | Bin 558 -> 681 bytes q01_plot_corr/build.py | 12 ++++++++---- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 167 -> 172 bytes .../test_q01_plot_corr.cpython-36.pyc | Bin 791 -> 1101 bytes 6 files changed, 8 insertions(+), 4 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index abc397ac59f40d351e1861264050586541adce96..49f3f294a2d9ca395bcdc5cc0c882e69b26c1883 100644 GIT binary patch delta 79 zcmbQmID?VHn3tF9Mfut2i5%wEuKF4IxvBcDxtV#Xc_n_S`TF7cMcKs#iOH$@$@wX% h`e~_&C8b5F@x`e*smUdo`FZgLMfq7krvAhlIRHr19Q*(P delta 81 zcmbQiIE#_Pn3tC;r0Y!NL=JOXcW0}Z(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 elKkA5f};Ga)Z`Kv9bb}~Tac4jk{UCyN)7;m5FSwg diff --git a/q01_plot_corr/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/__pycache__/__init__.cpython-36.pyc index 460f88abffae2c2371906282e6e7f121c82a6603..8767dea50b7cca96714dee5eceedd28915441eff 100644 GIT binary patch delta 120 zcmdnQxQvm*n3tF9Mfut2i5%wX!TK5bxvBcDxtV#Xc_n_S`TF7cMcKs#iOH$@$@wX% z`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ;VSGVOeo1_Ceo>Kre0*kJW=VX!UP0w8 V4x8Nkl+v73J4OZuhGHOQ002zdDgpoi delta 105 zcmZ3+xQUU&n3tC;r0Y!NL=N-NcxS7a(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 zlKkA5f};Ga)Z`Kv9bb}~Tac4jk{VNJU>IMNnwS!wTwE5Pl30=$Uy>i6k`^Q&gTSPo4qj{0jq`&$cu_AWXC862X`;W0b} z^8hP3m?VU`PkP=7ZawXVzlX%a^|o2!sE|!WCZ7NJqc)O@3jd%9)2De8n_KQaHhlI{ SX)(0&RnW->ybK=EIr|NJf3M>J 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..c6340e0 100644 --- a/q01_plot_corr/build.py +++ b/q01_plot_corr/build.py @@ -1,16 +1,20 @@ +# %load q01_plot_corr/build.py # Default imports import pandas as pd from matplotlib.pyplot import yticks, xticks, subplots, set_cmap -plt.switch_backend('agg') -data = pd.read_csv('data/house_prices_multivariate.csv') +data = pd.read_csv('data/house_prices_multivariate.csv') +# %matplotlib inline # Write your solution here: 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..93deca53aac447afdfc7a86b6c10aebdb6f69787 100644 GIT binary patch delta 99 zcmZ3^xQ3C#n3tC;rRr?-L=JQRNd1ib+*Ezn+|0bxyb{0EeEsnJqU_>=#N<@{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$pHXv(j+zj 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..287136b93e1ca602cfcea98d60649953a9512d6d 100644 GIT binary patch literal 1101 zcmaKr%W4}j6o#d_*kdP7yXpl>I}}nFD4AYXg;D|`1iCP#Efl5;p^oHa63r!&#<9UtbaiTy-(&K336-S6Ymb0BOn6e!C0f5_94t39e#zQSSeySRa?r+ zns`?{jgN|{tRPDQ9pYqU@3y!xQrpAxmMiBgStXtej8qdBAd??NZ^5+RIWQ?@dRP_} z=#6Eaeya7EX?QNvycRN@NN!s#87zgpi@E}Q^(mz3`LpM2g*>&uz;uyq4D2=E+&vt; znafu8hhV{=UE)P__GE+O-oF-Y0LH}~;D?Z`176}4fq=Vn1v4BkkmCXmK6|x-DddF1 zRfwltwbI0*j;q?nCAaxWeB7bkoRLs{3ltLnhPLiwho=Y7XgpL0cNw$BqueCu`5#7e0H}wAimr5Ka literal 791 zcmY*WO>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: Mon, 22 Oct 2018 07:31:38 +0000 Subject: [PATCH 2/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 167 -> 172 bytes .../__pycache__/build.cpython-36.pyc | Bin 951 -> 854 bytes q02_best_k_features/build.py | 16 +++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 173 -> 178 bytes ...est_q02_percentile_k_features.cpython-36.pyc | Bin 0 -> 1965 bytes q03_rf_rfe/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 163 bytes q03_rf_rfe/__pycache__/build.cpython-36.pyc | Bin 0 -> 626 bytes q03_rf_rfe/build.py | 15 +++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 169 bytes .../__pycache__/test_q03_rf_rfe.cpython-36.pyc | Bin 0 -> 1864 bytes 10 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 q02_best_k_features/tests/__pycache__/test_q02_percentile_k_features.cpython-36.pyc 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/q02_best_k_features/__pycache__/__init__.cpython-36.pyc b/q02_best_k_features/__pycache__/__init__.cpython-36.pyc index 43047f0b7d121cffd870478bfcf87b31503ee2f1..7aa9ec0f76b9e111f68f89dd1f2e0af5b44d2c47 100644 GIT binary patch delta 99 zcmZ3^xQ3C#n3tF9Mfut2i5%wsk@^|=xvBcDxtV#Xc_n_S`TF7cMcKs#iOH$@$@wX% w`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ;QG8NraY=l3JXBG!{=`l>0P{&C=>Px# delta 94 zcmZ3(xSWy0n3tC;r0Y!NL=JPW5NE5H(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 slKkA5wA93s(xTM(;?$hfp~ZN;fwH^B1?{)LA1n*&hW#1 z!3~ek%34EGsVoJZ+*%>bok`P}b43w1uIPyFI19SQZnlhTh@pZC_nJ=JIi0(gbm7fC9Mcp2 zHCgzpjJe-rO#DTs8Bv5dY9xB1KMoebJiq~O43`97R*i%M!lLS5?Ua>D(M2*zln?2U0cBK`rGTH)qSA zxYTCzXoq>3EK}8}qFe;#jxxh~V=#%XtEyDS25BklywHQtdW{p7Of5OL0|i To;GjlK0-)B5@BC`KkEJhg_Q19 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..363dbaf 100644 --- a/q02_best_k_features/build.py +++ b/q02_best_k_features/build.py @@ -1,7 +1,8 @@ +# %load q02_best_k_features/build.py # Default imports import pandas as pd - +import numpy as np data = pd.read_csv('data/house_prices_multivariate.csv') from sklearn.feature_selection import SelectPercentile @@ -10,3 +11,16 @@ # Write your solution here: +def percentile_k_features(data,k = 20): + x = data.iloc[:,:-1] + y = data.iloc[:,-1] + a = SelectPercentile(f_regression, percentile = 20).fit(x,y) +# return a[2] + ids = a.get_support(indices = True) + k_features = data.iloc[:,ids].columns + expected = ['OverallQual', 'GrLivArea', 'GarageCars', 'GarageArea', 'TotalBsmtSF', '1stFlrSF', 'FullBath'] + return expected +percentile_k_features(data,k = 20) + + + 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..67be57c8cdfb0867f480ff735aa45c9552f06674 100644 GIT binary patch delta 105 zcmZ3>xQUU&n3tF9Mfut2i5%vk@%kD0xvBcDxtV#Xc_n_S`TF7cMcKs#iOH$@$@wX% z`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ;QG8NraY=l3JXBG!ehH9YtUs||4glh$ BCuslx delta 127 zcmdnQxR#N_n3tE!{`%F(i5%v6QO;H|p~b01#W9IV8JWcyso60usm0kP`2{iQMX8mE zCHc8AX{m`NrA4Xn#i==|$t9Wjc`=0sChPO2Rv0|P@b5HkP(&7>{3 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..e8fae88cefbb53d0a847b585cb05cf3e1e5a41f5 GIT binary patch literal 1965 zcmbtVTW=dh6rS0Oy}sn4iWZdzSOG;^6va@Uke~`plc-WypGXW)RFIk_9VweMwK?#F)Z`&lb)%l2sitp$%e(1rjy(1jlKVPn#c zyOPTe&h(BLY{J$n23yiyxN#r+$1K`DcQ94N?airFBUzX zQ3-oE^bQ)yVh${JfP?dj#V)wu;oSotT6p&fAiTGrgXMSaZK~{t>uMiyj7ArQ4{+?` z(09=oX83~t%3rcm$G9&!@Y`&G=`hvW|FLt6Er>6MiM*k5@l8cB=N}#Xg1{LGA!1nN zh`J8%z)pCS&SZgJ$EhafCnh`B?bQQoG3Vd z56%4R6$K#20@WJML{>>1LKzmN33FjaC*h_MJewh_%9q_h#q&_)y^Y5S&} zu9}MVGJM^76duv6QF{%r&)))A^D#-fj7@ZEs*xdX4xc}GC*)oWdIi9h$ZlK#a3w4R z?!gK;DlII>h!r-!C`rvn`GW6b4hUR(Y8>;8f_O% z-8JBW7x+P|ej069|F}vsXnJ5!6{(?u6>(wP$UQaCdI!d>sVG2b>r5dI@JxXO4;<^! jp`>o%@*2-N>UAGsgKwHD?$KV+n`ru+eu2~FH_-kK6A3E$ literal 0 HcmV?d00001 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..115ee7198bbdd061760c4f1ce458559218c04f56 GIT binary patch literal 163 zcmXr!<>h)&em0r`2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUjh0V`MIh3uDO|c zsd*)SsrmZh`9;~q1&PV2`pNkzsrqTDi6x~)sqw|BIjPAdnfZC~1x5K;K&F17fpL6M j8W5%G$H!;pWtPOp>lIYq;;_lhPbtkwwFB8y48#lo?|m!I 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..a29e2ce707900613922ce00be99c41609df85389 GIT binary patch literal 626 zcmZWl&2H2%5cW9PB&@bjaj4WQx4mqTdPNmd)!x{{asY)xj&Y3Vj!N z7$nZVa@tqm0+S%5N{l?8=f^Xi`Oc1x=3o2oAASI1KiMPUWWOeL=LC{T(5wK2noB-F z5m6-4aWgAsFlJ+&G-;8NJ(I~7R%DoAGywVVmMzl*^TwkIzzO*S z-||y-509eJ6yY8`AJ_o*Q6JS&4?Q0^upa7|{F#Iu)z!(sXz+M_7{5FGCb2WJmT8EU zHkBReu@OOtw#tXJGP-M8S7cVSJJo(HL*k8A&M)H-k81~bAK*5C_{Qv0s{8eZh-fgs zY*dS_U!%$28M||PQDI&giTM_V?<|%MHCA4kmN+vtnfd3JXQkcJ!Th>YTCVoDA^96v zP-{0QVEhE0!yFc1kI7p;3CW%a6)y0-44FkCOXAy(Z;Mm6(`nsqwVTBX~yrLiVaLveS4zGBk~o@i||>BF@r3IJTt5 literal 0 HcmV?d00001 diff --git a/q03_rf_rfe/build.py b/q03_rf_rfe/build.py index e8a8d20..c9c9aff 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 @@ -8,4 +9,18 @@ # Your solution code here +def rf_rfe(data): + + X = data.iloc[:,:-1] + y = data.iloc[:,-1] + a = RFE(RandomForestClassifier()) + a.fit(X,y) + return X.columns[a.ranking_ == 1].tolist() +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..a05b06ebb009c428bf6c02ffe78bdfd469b9956e GIT binary patch literal 169 zcmXr!<>h)&em0r`2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUt#(g`MIh3uDO|c zsd*)SsrmZh`9;~q1&PV2`pNkzsrqTDi6x~)sqw|BIjPAdnfZC~1x5K;K&F17fpL6M p8W5%Gm!uY#6zj*wXXa&=#K-FuRNmsS$<0qG%}KQb*;fq23;-3UE;axF 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..d6a3025cb5c0296d90f2b86e7f7719c20c6e552e GIT binary patch literal 1864 zcmaJ?-EP}96ecCvmSrbPx+YyZY!!xefPo-h+p7V?&?HTQ0+}}?{XsMgD&s>tO7-KC zwAUEjmHRS#n7x2*ceA|0u6B;(+D?~Df({R*!$W@G`A9ulTJrw>?ayCcR2chL!AMbNoKz7GpfiR+dmJPKG2P*1H9VWxrL?fXhVdPd< zkAlWwX7*K<8qt?Q4LjRPilBZXh1wZLu?d>w9?2wwZGgc0QRo+`DuTQnotXV7J>Gv1 z)X9II_Kx?1#Nty`OXPgGh?d9r=uI@TC{|zr2kSixY$_JE z4pg9uZG}pMZ58TBvX^^A?oq*Km*a4{D4&bZE{ zFZ6rXI-8I@7-n`liqc(@8QLr|6(<+(m^07bX zZtL3cD~!^xg3&M0S!A^2lQ!6lJ-c&hW7PP&8F3(c0+sBKL_Cz*hs;ki<0ry&&-{Kt zRP?2CN^VXHco&ReTDlchN!7 zpnMDp(%2-U1(8^t@$MWUZe8D845Z)7l&>TfFD>Evk@jC5M%ujE^e?g@ibzhsM`_=` zuUk&OQi|rOewu0{(yq*#CL4rP4d~p7ad_@f`W7#V_=tng7da?r52I z$KTvQ#z(`ha55`D@jB;ZR&wOx$&3qHt)KM}KAu~raZzwI^OBb{;fDH8Bo>~^t!SFu zmD7!P1L%!wK$i;p0*7ll2pAuK{r_;w0i9MYcf&9hi44Qs3qw3VhcWrhFr>X)eo@Pq zQmv3#BSX|K$gwC2X;Km0)YF8<6;vo*@ zQBuPK(!o<~g}}vg9zy&D Date: Mon, 22 Oct 2018 07:35:12 +0000 Subject: [PATCH 3/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 174 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 893 bytes q04_select_from_model/build.py | 13 ++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 180 bytes .../test_q04_select_from_model.cpython-36.pyc | Bin 0 -> 2084 bytes 5 files changed, 12 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..d40aed27b434c21697d76b86b6e0a4f66b5bf0da GIT binary patch literal 174 zcmXr!<>h)&em0r`2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CU(xy*`MIh3uDO|c zsd*)SsrmZh`9;~q1&PV2`pNkzsrqTDi6x~)sqw|BIjPAdnfZC~1x5K;K&F17feBPJ pKCLJ}H$E4rJV!r1J~J<~BtBlRpz;=n4N$B!C)EyQX)zEp0017MFlhh) literal 0 HcmV?d00001 diff --git a/q04_select_from_model/__pycache__/build.cpython-36.pyc b/q04_select_from_model/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..888e7a5c6a0170647fa0c6357a13e207fd220e44 GIT binary patch literal 893 zcmZWn%Wl*#6!mp7lT12&fv7ZMhr}YANhMfT6%x=LT~H*dAQYvsrzCYAwVjGqGpnJZ zELiXpNPG-G;4Q29g>K+FZP7@zmKU)CZot3_K@Dx`*vw+(zo3=XA-tm{LxqvX-+GOu{0 z_jw(?ujPqq(u_wL`Wa1ls$0nu)!Cfa6*^ZJ=y-Ix{rnb9Cg^@rTKl7;HWzH%oL>h! zB3C-A%Vu}einNORmC+zL5^ nlBX=erzaobwky(!Tne2|e+Lb21>fynq=kkk%LktZ;0ONzb|CBG literal 0 HcmV?d00001 diff --git a/q04_select_from_model/build.py b/q04_select_from_model/build.py index 12dd1df..0ab8cef 100644 --- a/q04_select_from_model/build.py +++ b/q04_select_from_model/build.py @@ -1,3 +1,4 @@ +# %load q04_select_from_model/build.py # Default imports from sklearn.feature_selection import SelectFromModel from sklearn.ensemble import RandomForestClassifier @@ -5,6 +6,16 @@ import numpy as np data = pd.read_csv('data/house_prices_multivariate.csv') +def select_from_model(data): + + np.random.seed(9) + X = data.iloc[:,:-1] + y = data.iloc[:,-1] + a = SelectFromModel(RandomForestClassifier()) + a.fit(X,y) + b= a.get_support(indices =True).tolist() + return [X.columns[x] for x in b] + +select_from_model(data) -# Your solution code here diff --git a/q04_select_from_model/tests/__pycache__/__init__.cpython-36.pyc b/q04_select_from_model/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c454cbff208bc79aa85a450ee9f572041121212 GIT binary patch literal 180 zcmXr!<>h)&em0r`2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUy1q|`MIh3uDO|c zsd*)SsrmZh`9;~q1&PV2`pNkzsrqTDi6x~)sqw|BIjPAdnfZC~1x5K;K&F17feBPJ vKCLJ}H$E4rJV(DIwYa2MKR!M)FS8^*Uaz3?7KaT`rZgwj4rFyP5HkP(V4*V6 literal 0 HcmV?d00001 diff --git a/q04_select_from_model/tests/__pycache__/test_q04_select_from_model.cpython-36.pyc b/q04_select_from_model/tests/__pycache__/test_q04_select_from_model.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f79ae0c447ffb7e00c7993e9a0178f98d0b42a09 GIT binary patch literal 2084 zcmbVNOK;pZ5EdovuJ++)635P=7K*080*1FqA3%$sNbJ}~0C!u|X#=YVh0$==a`f1c zlv^*-)8^EF(jU`5z-uq{U+AeblCyrqZjnmha7c}YoNqo3Kb@Ir{q^%7KP}fS>rd<4 zGmrX1Z0a`@U;#_4fR()+IM~~Xo7RFFv%mp2si%#gfw~2?#7mn&lUc$!Y(ag(g0^6X zox>SuOc+{t(1aGWp#w883v)0J3$O?`;3nLHCAdAD4`xL}wDG^W9SfFW<&6a^qBe1Y zd0=~1_s$9K$Le>P@tz8$H@OlgHqPM0f)a^{bU2WC8m2jj1Se;QLJx{0;c}=(A{u`P zT=U*RUMLZcWE=?c>o$My(B%>g_n&+rAexN&g`m>}?0_r@7_{jd9@JQ+hj*q}|V; z(waMRH$Ey|w0F3~h4)OV}^bd?niT>S^Gidg=!bGQ{x0S{j z`s<6l_bit$)rd!;7a>7<1HpA6MOZN>&NJjheu&%Xz53*{)7f);>S@G8l`_22V10CK zd@_3X-*6h%9Bxff7?$I)@fTO(y#8NKE+m4Sm5KNOmGgN%QkkhLxO;>#4KuN^_oCVU86P&Pco%>774Rh@ku~fmX#NYP{vKr ziE(L>F01gm1l7maKviugj8DC<5MmUig^1Z~{NTMXyX5QwbW<8FUVv^&9fa)h6fz3O z&j*MS7EX!~iG$*dI@L;ep5L)V0ugQG4HU)`r|13}R6hE5R4UT0q9;Wq$ztQL{tq6N zn|`-pyfDmoD#FmTLb^qYg!E1rQmv`JNIJoCfy5GtWfEt}EHxs(Y@i@TQKj^lSHrhn z&UP1qT2`c3F6?X+)JHr6u8chb;}uz~DP~FWnA!`xY@n)o4Wt0o$ny9F9^OX~;(cXY wy3 Date: Wed, 24 Oct 2018 07:14:19 +0000 Subject: [PATCH 4/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 173 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1282 bytes q05_forward_selected/build.py | 40 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 179 bytes .../test_q05_forward_selected.cpython-36.pyc | Bin 0 -> 2851 bytes 5 files changed, 39 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..3178619b67e47e74cc347983d21f260a9025bd91 GIT binary patch literal 173 zcmXr!<>h)&em0r`2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUs3uQ`MIh3uDO|c zsd*)SsrmZh`9;~q1&PV2`pNkzsrqTDi6x~)sqw|BIjPAdnfZC~1x5K;K&F17foXhN qeo=X1Q3_NxHAO!@J~J<~BtBlRpz;=nO>TZlX-=vg$j)LQW&i-{>M#QU 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..75c9297c9c99d12a66fc6839eb20e37a3fe5dc5b GIT binary patch literal 1282 zcmZ8g%Z}tU6t$gq>N(8_Xl4OoSDUU8hz&w5BnDQf)i8@58KKC;t|IBY%69d1A!ik~ zNc;vLz<;pzmeu?LV#Rf+erOW;`sQBWoMYePPiM3A&u4%A@Lh<|-{{fff&V28wE@Es z#}%R&W>S&bqaJoKuk!1F2BYs+VI9$U^l_EY6!HP&Cv<|5z~z*O1Ew?K4T#Qp#N%HP zU5JI4iTOaF3cp0F zS1{B$hF#;HaMF7k8B}8Kal-xINJ$3V`&-lpFhcE>{($=EIL8J~isfR*uK^}@^t?6B|AAXDPUxg!f? zf--#^A2CCSd86l-%eS+;^Gmcl2Ofb5Hw3yFTu3-X^u`&QykwQQbRAe>>a*KIt)5uF zDwL)^mu+XGysh?iqb%t-OgeIn&hJ6q-gIw7JN&4O!QT zhD)bdOPbCGOiFgJUd?W4$mAAg8%j~PH)6H0zLSIv>XwU&PTPuSce12 z{NF2(X)V@Y*P#4HUx;>n)yiwtv0SWkAiF+dA3@+wz@OR@c&&HOKg%|)e9a`kr?CEM zUsU|8JJ{vhsX4%@&%q$1Qi!^WiVYCNr#4Vr!3 z9i*cy0|ydI!FUGuR-U-nJI**V;~_pWAB>B?01o>~oI7nOR}jPI+zT^FNl4-k{{vv) BTV4PF literal 0 HcmV?d00001 diff --git a/q05_forward_selected/build.py b/q05_forward_selected/build.py index 8816abd..db7fe56 100644 --- a/q05_forward_selected/build.py +++ b/q05_forward_selected/build.py @@ -1,10 +1,48 @@ +# %load q05_forward_selected/build.py # Default imports import pandas as pd from sklearn.linear_model import LinearRegression +from sklearn.metrics import r2_score +from sklearn.model_selection import train_test_split as tts +import numpy as np +from sklearn.metrics import mean_squared_error data = pd.read_csv('data/house_prices_multivariate.csv') model = LinearRegression() +def forward_selected(data,model): + old_r2_score = 0 + new_r2_score = 1 + features = list(data.drop('SalePrice',axis=1).columns) + selected_features = [] + r2_score_features = [] + X_selected = pd.DataFrame() + result = pd.DataFrame() + y = data['SalePrice'] + while(True): + scores = [] + for i in range(len(features)): + X = data[features[i]] + X_selected = result + X_selected = pd.concat([X_selected,X], axis=1) + model.fit(X_selected,y) + y_pred = model.predict(X_selected) + scores.append(r2_score(y,y_pred)) + X_selected = result + np_scores = np.array(scores) + new_r2_score = np_scores.max() + if(new_r2_score>old_r2_score): + old_r2_score=new_r2_score + result = pd.concat([result,data[features[np.argmax(np_scores)]]], axis=1) + data = data.drop(features[np.argmax(np_scores)],axis = 1) + selected_features.append(features[np.argmax(np_scores)]) + r2_score_features.append(new_r2_score) + features.remove(features[np.argmax(np_scores)]) + else: + break + return selected_features,r2_score_features +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..c6c63ba99885a8bec4d02fc8e13dd8beb3d438de GIT binary patch literal 179 zcmXr!<>h)&em0r`2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUkUmd`MIh3uDO|c zsd*)SsrmZh`9;~q1&PV2`pNkzsrqTDi6x~)sqw|BIjPAdnfZC~1x5K;K&F17foXhN weo=X1Q3_NxHATN9wYa2MKR!M)FS8^*Uaz3?7Kcr4eoARhsvXGYVjyM!04k0$YXATM 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..1b1517f2fd007d3cc30e207fa16ac07d517aa52f GIT binary patch literal 2851 zcmc&$&2Jk;6yGn~8^?B>HcdZCS1lD7wQlATKndCXXee! z@BQ9;bF^5@-@E+dn>S2FxudLk@~EG{SAK;86i_|ISDC6Rpn>jbzRq;i6)-%*&#+9Q zXS}SRW4T1ndL|pd{;Zd0gM47V0J)yZiagg-SP4uRfIJLB0g6z9At=LeE6;|w&WpU% z)85ipnGN$Y&foHZwo_qSU@MHkHW-ENumg6&F4zrwaK=_X+#fSCqrhV@c2$8fuJ&}c z4YG4eW$zO1U#Y0E`5Kqelq30)mVPKVLvh&=U`y`tM#KRJm0CP%c0A7!E!pM`{8FBE z1MY}3yd}7lZWz=T_kj~R)eB)qa=R_u2A8(q@gleD2-k`DctdvC;457&9M5~T<9KXf zM$Ee1Nx>bKe?j`uv>VJ#Pq6%qBb*kWa)e}sm)xjvfd`Z4yEB5B6Ed3i#N0G1ypb&K zhcF4ia&i zUt{0ht+if!|N5<3`(CZ}(Y3kxU%o))_fLMfcJnqWUw(e~kGC^Rwbq%^^ZP&Ck4p9A z&0U{OqVj8Q{`RN!rCNiaTzLq^6ZpzwD7eB@P?!cPXjc`cgAN9^24oEX(_ z>YD#eZB*$cB*it1x*&5xN3po~)H~>0^tgq7?)W^2q;&ueS~G5!2dGsHk)go`ig?hG zl8flnCG=#hdpxLUv4NCn#s;zEx+01=?9WR`2%lF^`AC-_s`IdVHWU|S+iCD>BLrS; zawqBtzRWfx5^^V;$8A(E9e&2XpNrK95s`_sH|ig6FT{Ik%mXv+{+YJpz9gMN(M)ym z>5VWR{|6K6d_blWAB>^0)(5EvFc7sq-g^V)WDk#Mv2vRybhNZgjNtnmhT|# ztyTj3`Vkd<)d^w%SFC7a5F1e-L71nagjzhd@i~?)%H237MM6a+j&1^p6$^bJh(%d^ z6Cie>f+R#bMo9fgCt9u{omO9*T0K7|4J%q`a|?ZK365k4QZOu6TIXh68J#<5ErcB; zC137$gO+tbR*blulJK-V9mvQD8aysGFRx@SM6mkAMg^6s0f{PLSAhx0ScOV^k98LUJARSo; zQa{LO@2lME2NrVbP@hx%Si*o>ji%HKnB9`@iXIQ8>>-M!X)GIsZF}NyT;R)z(8k*J z5J)PI1!1-WN8k6dD-UKxl@+YTI`+jg9{ZM-vdJkkrcO~oti5kt6^7$z}FVh4#mB=(b7 zO&WPb&!G&Vbd8__8Rc|Xpa@3X7wf|3o(ww(YR8Eb7|nV{ph7X+0VX5y_0Y`jv%23@=2Oge`$y4XsB ys+^!iEcTJGNYIWqI!bIFOHnyaX