From bd7f2154af958e36162ced3445be9a2eb7a86ba6 Mon Sep 17 00:00:00 2001 From: vivekshingate Date: Tue, 11 Dec 2018 14:55:03 +0000 Subject: [PATCH 1/4] Done --- __pycache__/__init__.cpython-36.pyc | Bin 154 -> 155 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 178 -> 169 bytes q01_plot_corr/__pycache__/build.cpython-36.pyc | Bin 558 -> 684 bytes q01_plot_corr/build.py | 14 ++++++++++---- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 167 -> 175 bytes .../test_q01_plot_corr.cpython-36.pyc | Bin 791 -> 1104 bytes 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index abc397ac59f40d351e1861264050586541adce96..2503bdb98c03301da3f84896f21e405a6d9d751b 100644 GIT binary patch delta 82 zcmbQmIGd5fn3tF9{W<=ai5%v39{L&ixvBbPnPsWj#Tl7->4_z&`r-LS*~JBk$*KCu k`6;RTX{m`NrA4Xn#i==|$t9WjdGQ5B`B^}w{=^zN0G+)aEC2ui delta 81 zcmbQuIE#_Pn3tC;r0Y!NL=JOXcW0}Z(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 elKkA5f};Ga)Z`Kv9bb}~Tac4jk{UCyRt^Az2_9Df diff --git a/q01_plot_corr/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/__pycache__/__init__.cpython-36.pyc index 460f88abffae2c2371906282e6e7f121c82a6603..69c3d6ceae93f35b42209df6d244a5d1838fc4bc 100644 GIT binary patch delta 123 zcmdnQxRQ~>n3tF9{W<=ai5%uxVfq>QxvBbPnPsWj#Tl7->4_z&`r-LS*~JBk$*KCu z`6;RTX{m`NrA4Xn#i==|$t9WjdGQ5B`B^}wexZS3d_hirNqlmCQIURpd}dx|NqoFs YLFFwDo80`A(wtN~Mg|6kVjyM!0MnBzG5`Po delta 105 zcmZ3IMNnwS!wTwE5Pl30=$Uy>i6k`^b5cW9EV{&0+1bB2fN9$%!W4F(RDn+2;Pc7u-gELP5#e})K?;)@H_(- zFVxbg8(Bmj>v#ISI21S<4AAm4%LZ798^fbm~72aGaz3>KoA~`2KZ)6g4v6s;%6Zm1>vBP5z!uS!Ezdkv#?MRO2~F8=}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..544dfad 100644 --- a/q01_plot_corr/build.py +++ b/q01_plot_corr/build.py @@ -1,7 +1,8 @@ +# %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') +from matplotlib.pyplot import yticks, xticks, subplots, set_cmap,show +# plt.switch_backend('agg') data = pd.read_csv('data/house_prices_multivariate.csv') @@ -9,8 +10,13 @@ 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 + ax + show() + +plot_corr(data, size=11) + + diff --git a/q01_plot_corr/tests/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/tests/__pycache__/__init__.cpython-36.pyc index c4bc30d7704db1af3a7d76f564945a76f376cb2d..be2d4535a41897f80b151147d314272cd1144d8a 100644 GIT binary patch delta 102 zcmZ3^xSo;2n3tF9<2nAAi5%uZG5Q(#xvBbPnPsWj#Tl7->4_z&`r-LS*~JBk$*KCu z`6;RTX{m`NrA4Xn#i==|$t9WjdGQ5B`B^}wexZS3d_hirNqlmCQIUR0YH>-i{=`l> E0AevF8UO$Q delta 94 zcmZ3_xSWy0n3tDp{>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>YnUien~Dlmh^7@+3R} 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..27c733812d23c94df3e466e3c9be58521815e8ce 100644 GIT binary patch literal 1104 zcmaKr%W4}j6o#d_*kdP7y6Oc=I}}nFC~+^VLMed|0$rHW779Z_s3X~#M01IxF|A2g z&dc;=`T*K?f( zp_=CqEU|P>ztIbF>RJDS3VM&sK@#NFzQ^8eGDkoJ#DkGWIqgH3Jv{mXsaPpu$f_x1 zX-&K*p2WxbRF=?70v+OFWbd}PF;d&3^M)(uD_JI<3yf4_7a)`GL~p^e-(z4>$l(+u z&df<(P5{R6W2Mhb%`-X7Dj|ns$!()0gWYg^UX?(wI)(1={OL2cqCT{M!L*TWOzhWR z-Cdl#S<6-#^udKe$Ha^1?C}Q5{eNxRV2qnv#t)#g&Ui^!1Ol$l70+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: Wed, 12 Dec 2018 11:25:45 +0000 Subject: [PATCH 2/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 167 -> 175 bytes .../__pycache__/build.cpython-36.pyc | Bin 951 -> 937 bytes q02_best_k_features/build.py | 30 ++++++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 173 -> 181 bytes ...t_q02_percentile_k_features.cpython-36.pyc | Bin 0 -> 1968 bytes 5 files changed, 30 insertions(+) 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..fd006c2f1625c49e7df6297c442e3d1dd56f6c57 100644 GIT binary patch delta 102 zcmZ3^xSo;2n3tF9{W<=ai5%uZG5Q(#xvBbPnPsWj#Tl7->4_z&`r-LS*~JBk$*KCu z`6;RTX{m`NrA4Xn#i==|$t9WjdGQ5B`B^}wexZR;d{Sz0NqlxZR8g`1#7;Q?VB97d delta 94 zcmZ3_xSWy0n3tC;r0Y!NL=JPW5NE5H(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 slKkA5wA93s(xTM(;?$hfP! zq{q|(#47BiLmg~(ZSY;{fd2qtl)r+=CRnBgrNqPp8G=F! z=mb=L0n?(~6ozgHSoem^$rN>D2lcjyrLZC`?n!R7q_uj|*)7TK*3O+C!3_sIw{s1a zd!2WOcfRt~pmkfX^?R$w-9QETupRU`A2Gr#X5W%7P<|WaW6(c!I40v19%G7n^C15D z21BL7n6r>jGF#I@BB5WFm6sdS+U6IC@W2cAsGSv6Dhw-o~TCfc$U4^)WWR$?LRB;`?BF&_OJ9ykE}sd8XR^zqsA zc*doQ7xDce8O@rkV8``ZAJq>e+SwmNR%tkd$YXp!4xByP#Xk0}iFHWC5#S*ad+-ta z#>c|^5uvZ$Iw@Hq#R!(#7d&AxFjm`!)pRNs1y4kI{9mbm=eCW#ZFHYo6!&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..cb1db0a 100644 --- a/q02_best_k_features/build.py +++ b/q02_best_k_features/build.py @@ -1,3 +1,4 @@ +# %load q02_best_k_features/build.py # Default imports import pandas as pd @@ -9,4 +10,33 @@ # Write your solution here: +def percentile_k_features(df,k = 20): + + X = df.iloc[:,:-1] + y = df.iloc[:,-1] + + selector = SelectPercentile(f_regression, k).fit(X, y) + #X_new = selector.transform(X) # Not needed here as we need the features and their scores. + + #We could have directly provided the list of columns selected by using the line below but the test case fails. + #Column list must be in descending order of scores. + ColumnsSelected = X.columns[selector.get_support()] + + + #Hence, the below trouble. + feature_score = selector.scores_ # This gives scores of each feature + feature_selected = X.columns.values # This gives the name of all original features/columns + bool_index = selector.get_support() # Boolean values viz. True/False against each feature of column. True indicating the feature being selected. + + #Zipping all the 3 values into a list + zipped_list = list(zip(feature_score,feature_selected,bool_index)) + + #Putting the list in dataframe after sorting it in descending order based on scores. + Final_df = pd.DataFrame(zipped_list).sort_values(by=0,ascending=False) + + return list(Final_df.loc[Final_df.iloc[:,2]][1]) + + +percentile_k_features(df = 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..247fa9399f6f901a77cfd6ee7b4b4c070b8fd74b 100644 GIT binary patch delta 108 zcmZ3>xRsH^n3tF9{W<=ai5%t;N%|T2xvBbPnPsWj#Tl7->4_z&`r-LS*~JBk$*KCu z`6;RTX{m`NrA4Xn#i==|$t9WjdGQ5B`B^}wexZR;d{Sz0NqlxZR8g^h36Ni`Ke1m9 E09T(VnE(I) delta 100 zcmdnWxR#N_n3tE!{`%F(i5%tuQO;H|p~b01#W9IV8JWcyso60usm0kP`2{iQMX8mE xCHc8AX{m`NrA4Xn#i==|$t9Wjc`=0sChIRH0NCPn}N 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..d78c7375b84309ebdb9f8e8010001291b691cdb6 GIT binary patch literal 1968 zcmbtVOK;mo5Z>iOqF%NUG%3Ldq!e~I;x1=6-}mk8H-ka<&)+wn?f8uS!Pc%e z`nxzZpaBLvX9bTrXW)RFJB1s&jql}N;m3aC`*|yF%l2^qtur2XpbY_ZpbI_d!(h^m zyOPTe&h!o#Y{2Gg2Ak47bK^evPgt~d?qI5j+nZCVQdycTm&r*omcrCZ>T{f=+2E08|{>DU_ah>NvP4rZzqxq*Gj2IqOwU)_LWvSFjQRgO`36%*WcTzozdq2*k5_$e} zE%LZ?pdM$lACwev_dqByk$Xbv3%_~Zds-Qh-`9nCvL6RuYqOs#^7b+DePNDL`ml?O zO4!Arx6w!zb6~Lp9GurIcEJS??;iNj!n;oZ;k^YNEWc}SQ)NG0S9{7a8eJ4Vz_Euz z-$i4X;b;6;{)!zt#(l+s-)3i+4pXiDA3L|$8S%w1kvCEgfBXm%;s9%E{#JHs6HI+J}`Q9Ze zxT`~RI+fwLQlXOA5XuEaVWz|9k27taZ-=KQ*lv;(71VfSB(|R<)S?zMYJlm~7MYu5J|uHVaO2UoP{bN- z7flT|;DHzTL92Nh4Xl4yXE`j|U{IHtp@J20VcW<(_0VPq#;vI+L1^ntArA0ZfdtPS l>(RNSZsGC<&nD`1A7O*<7FFD%y`neJ^f~ Date: Thu, 13 Dec 2018 17:37:03 +0000 Subject: [PATCH 3/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 166 bytes q03_rf_rfe/__pycache__/build.cpython-36.pyc | Bin 0 -> 854 bytes q03_rf_rfe/build.py | 18 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 172 bytes .../test_q03_rf_rfe.cpython-36.pyc | Bin 0 -> 1867 bytes 5 files changed, 17 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..b771800585198d4ef68f427ba7114be918033c75 GIT binary patch literal 166 zcmXr!<>h*Rjz5M02p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CU%~nr`MIh3WtnBE z*~J-|dFhEIsruphMcKs#iOH$@$@wX%`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ; maePr45T)wJ$7kkcmc+;F6;$5hu*uC&Da}c>16fuK#0&sttStBd 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..cf9e52079327b50c97610c3ae411153251153d54 GIT binary patch literal 854 zcmZXSy>8nu5XVXC!?NoHK^qix$8K7z09k{efE$lN;0!H<76K#EiEK(#NXkG0d2-ea z-TDe$`#4-X zhCT&jpco@};1~E4+TamdV_5UR6GNEKf_uF7jMsVq9Nv?)-}(!`#Vy$oj7-qt1%{Py z1ZN%e>EBXL6Ibfom3jx}61C{t-Ws={%+gbk*Z1? zhufLQGf<%9$*NfKrM@bvOK3g$EY(uiH0Mb!8BgY%nnv+VbHQ^{$O`n53kZ|zgTqYC z;pNFiQwTP$ZypCnqR=LnWqrKs5FKxbZr^YBjgN%PsnEv|Ja1F3orgXcKpv`2=}a3S ziAmZA!Hbd_snY!_dqUBfkxw{r&-(5rZ4Vl2%1SE_5-C^Jdh^0q-_=PY-PE;ICW`}0 z*xceT7T=`(*>sYX(4%nS$u|6_j*48Ca7#XfSUZErK90zM4Dm2fZ(tt3vSAI>R9jLr z8&pkM-&j)BHd36j4E`kL4yGf$6r8GR{GXy7Z@TyVomZNd7lLnlaW!5*b(hzXMMuEi S2!8BZ?${z6;f~CYcK-l^S>9Oy literal 0 HcmV?d00001 diff --git a/q03_rf_rfe/build.py b/q03_rf_rfe/build.py index e8a8d20..aa047a1 100644 --- a/q03_rf_rfe/build.py +++ b/q03_rf_rfe/build.py @@ -1,6 +1,7 @@ +# %load q03_rf_rfe/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 RFE @@ -8,4 +9,19 @@ # Your solution code here +def rf_rfe(df): + + X = data[[col for col in data.columns if col != 'SalePrice']] + y = data['SalePrice'] + + RFC_model = RandomForestClassifier(random_state=9) + + RFE_model = RFE(estimator=RFC_model,n_features_to_select=None) + RFE_model.fit(X,y) + +# print(X.columns) +# print(np.array(RFE_model.support_)) +# print(np.array(RFE_model.ranking_)) + return list(X.columns[RFE_model.support_]) +rf_rfe(data) 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..184579d547598dc4419a91110a1daa5fccd353b4 GIT binary patch literal 172 zcmXr!<>h*Rjz5M02p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUy=G5`MIh3WtnBE z*~J-|dFhEIsruphMcKs#iOH$@$@wX%`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ; saePr45T)vuq!yPH>&M4u=4F<|$LkeT-r}&y%}*)KNwou6Sq#Js0F%`(U;qFB 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..cf13a744b9cb90983a24cc556ba3049459cd6212 GIT binary patch literal 1867 zcmaJ?O>f&q5ZxsyiK1l3PGhG|(S|6R0s;)HNlpcdBDND70bIAR(*!08&}+>~rp*s! zcPYd|dUF0u|4e@XuRZzHdrzGq6-iF*lHlwtIXk=a-rMEVg$3{LKkxkZy2jXFZ0=e{ z{~12|9U5T3V-|31t=LNJz~&5WaAGH^1vT^;)Z%*52pXJ8e&#~`k_Sy_fD29VpapGM zfJL|iORx-g;WM}gE3gXp2g`vcYqE*atz8D6!`cT1Ytp{7gEsI()_HJ+v$OpUFWgsB zn{A=xm4$EcMP2nn)tBfk4y5VlaV*q84`pxsH3%cRr&+FLI8;$j>M+S;6ODw5gpnIP zJqlWTnb}cUYQ#VW4eV?xDT3ya6lyDvViUBI=}nfwbJ;tm^gj<}`b(yIr`V|Hk`fP7+w@B^kotiP8Ys_lWSTivt2&+ zXYg&@7=8^@8die(6*}{vR*=#jn*wO>U)dNn{(g!b$i6@^`y&zOQu~nkX=eOHnBJ*B zD3QD#(XnT!D&n(aDGwXfB10fnhAJxV&98ovN8iOSRjnLreRxZ)AET$G66bY%%2FSo zgStTl8Pue)Nl9}$vG&K?vkGzd`sQLN{eGr=C6T>4Ih`U%$=CR550i|11;XtjRU$MW&$I*Cid(ab2XX2L!7pGYL0=vFjM z;mXP0yQS#08;Y(J_9YJ2bQUl^{^tM7tp@CO8igB%sYqlP7G4ax8FJUUP-n59q{h_MjM^bgUBV695+w%A#-X3?Y Fe*wjR_qG54 literal 0 HcmV?d00001 From 011a8a083c8f1b1c9a707696fae8da61571a8e16 Mon Sep 17 00:00:00 2001 From: vivekshingate Date: Thu, 13 Dec 2018 18:35:58 +0000 Subject: [PATCH 4/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 880 bytes q04_select_from_model/build.py | 16 +++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 183 bytes .../test_q04_select_from_model.cpython-36.pyc | Bin 0 -> 2087 bytes 5 files changed, 15 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..91fdd2e24169e7f15a9faaee775b1714e4e7e9e7 GIT binary patch literal 177 zcmXr!<>h*Rjz5M02p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUvc^w`MIh3WtnBE z*~J-|dFhEIsruphMcKs#iOH$@$@wX%`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ; s2~;#bttdY?J{PDwM?XG3GcU6wK3=b&@)m~;P^>g3)edBDF%UBV0HU!mlK=n! 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..006f4558f374a9a6b64e875e88d0c0d98df32a6b GIT binary patch literal 880 zcmZWnOKaOe5Z;F*%eF$(2c@|ddeFrRv_}&PDZV9yxX_}u2t~V2WUn6CT^SPOlXK0X zf1*(6FWPHQ`3pI9R&H8D7G`#KmYMm!Z};ua&S3rH+1FnLq2Fk0!5O^=Qxk9uF)UDl zV~lM~1Sx1tyO;_mb|FWF7x%b3_nEWCai6)&yFu}Q4|soVtLPMky*ucILTsK)x!{?e z$f`K17#EOwd7752DkhcWN*{_;seG1md3^nvr8|9a={$1Lojs$P6Kd8ZeX9|4`_||&6|%#ocGxR$=cq;Bc2~H?3@xa1TKt_{I#7g7f0_z@ zV$uIZAu(jMZ)jEtX#scc{tHknc(lxye4#G#@*KEDpDMXfb(--g1DT>3Pjw@CqB`~R zssur*IS3hD?!Wt+O=ci!Qdm`^vnCg8RA1c>#v)fbtBU#{uxKrG4_&|6G}bjCTbPZuMgFhR5757gkha1#!e>yqZg#YD{zU}e!5#AxBm8FF63+$5t4oE=d zb2x{?cuy?^Ph~lJq+16m-hH^|rQ*ez;2X?d4HQ#lNX?8}Hbs49NLd?S@{}d;+oYY> e&Dg@%J!A*cAA|Uf;0IQK4qJc&>|1oy5B>n?0_k7? literal 0 HcmV?d00001 diff --git a/q04_select_from_model/build.py b/q04_select_from_model/build.py index 12dd1df..e0308ff 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 @@ -6,5 +7,18 @@ data = pd.read_csv('data/house_prices_multivariate.csv') - # Your solution code here +def select_from_model(df): + X = data[[col for col in data.columns if col != 'SalePrice']] + y = data['SalePrice'] + + RFC_model = RandomForestClassifier(random_state=9) + RFC_model.fit(X,y) + + SFM_model = SelectFromModel(RFC_model,prefit=True) + #X_new = SFM_model.transform(X) #Not needed here. + + return list(X.columns[SFM_model.get_support()]) + +select_from_model(data) + 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..80d1f6ef7533e839efaf74ec96ede35ca0bfe34e GIT binary patch literal 183 zcmXr!<>h*Rjz5M02p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUn%+-`MIh3WtnBE z*~J-|dFhEIsruphMcKs#iOH$@$@wX%`e~_&C8b5F@x`e*smUdo`FZgLMfq7krhcJ; y2~;#bttdY?J{PDwN53SsxTIJ=K0Y%qvm`!Vub}c4hYe7sG$+*#WP33XGXMbVzBBs( 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..909f97b0ac5a67e69689221655b9bd6dc7dcfbd8 GIT binary patch literal 2087 zcmbVNOK;pZ5GEz#slNeqOFK_9r{{ z%%lDgoBj<2FyJxsdD&aOjlC5+NzJcu1~xcxJ!$w2)EU%bH);A!&ZK?Vg8GE}ZOIQi zhcnQaaI|ot2`y+t2WDUv=3pKcU=eP>O}GV1aCwld}V9`gt4+HPAyDjz0!r zMDHNWwG4(T3Z)K`JT}ots7M&O9_rCa6aD$^oy=^hEHz>v{RR#mDJlHsz7%RBk7DC@ zNPQ-8p+^9I>pP);N>ypp+R%yFiqgHUdw!GjAJhKcmfwD!84=SM2kt#>wqixv{S+## zxvh4hQR$++Efg-iuQqU{RyC-6zsNFpEW;ym`2A3(KV&LAz(IXq?PW291kbyNfO&{b zuc44-0(}cOSZ^675fg{K12w2)UxNm?*w>+nFt>_Z1n=HuL_?0A=polGwoPpMJ_^GO zpYUJ#8+K?J`wa)a!X~&BE^}_&x0cw%CZ^yb&aNVNCnUzJPkzDt7zrMxDos-Wz9m}+96%MAqUpSQL-LrFsTo(WMNoG*}-V z7akeC|8FpjYz}v)DH3M8eEijwP_O@&lMA^ZXJsxvLgjoes!Y&{o#Jlqp4ezL{(1^I z$iBc+;EhC_OYK4CrJ3;(VZsA%P$uA_Mb|z{hN9!rwNx8B)geLHS7H{mV)dFpPF?Do zXjFm05sWWC2#j|=rdSY{u$EO=+(8BTh|Dxddt(zr&+*UN9dDjNfOWw$$3yA$Gvz6X zq)00~yhwX5cOq?Gu6f5Vhm;MdYT!E#}xL%%*0DF|IyLnz!ljSR)CD4wGB3hx`J3SR>$KxMK#e!h!W5(Ic< y6%Ji%MO~qjETK{;LEXlmOMuJeuG(GUKB&U`mX3|4NN|h1L$B3BIg2mOSpNXas!fdm literal 0 HcmV?d00001