From 42b6388aea1958f85e4034ce0c59cbd36decaf77 Mon Sep 17 00:00:00 2001 From: Tusharshah2006 Date: Wed, 17 Oct 2018 02:41:12 +0000 Subject: [PATCH 1/5] Done --- __pycache__/__init__.cpython-36.pyc | Bin 154 -> 156 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 178 -> 170 bytes q01_plot_corr/__pycache__/build.cpython-36.pyc | Bin 558 -> 753 bytes q01_plot_corr/build.py | 8 +++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 167 -> 176 bytes .../test_q01_plot_corr.cpython-36.pyc | Bin 791 -> 1105 bytes 6 files changed, 7 insertions(+), 1 deletion(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index abc397ac59f40d351e1861264050586541adce96..c268decac7a431fd7a4b0091d69dd7f61463f82e 100644 GIT binary patch delta 83 zcmbQmIERtLn3tDp!h&Pb6FJQ7J@qs4b5r$0N{cfRi-0)8$iTo%KRmxEySN}RIaNP7 kKP6Q^Ej6*Ev?w*cI5j6Vxg;|`FTS8CKMTmzpI9RY0GKZw!vFvP delta 81 zcmbQkIE#_Pn3tC;r0Y!NL=JOXcW0}Z(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 elKkA5f};Ga)Z`Kv9bb}~Tac4jk{UCyP7VNrTpn2f diff --git a/q01_plot_corr/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/__pycache__/__init__.cpython-36.pyc index 460f88abffae2c2371906282e6e7f121c82a6603..c8ef73a74b92b2f1e9b4e79d8836a97cdf9c35d0 100644 GIT binary patch delta 124 zcmdnQxQda(n3tDp!h&Pb6FJPY!}T-rb5r$0N{cfRi-0)8$iTo%KRmxEySN}RIaNP7 zKP6Q^Ej6*Ev?w*cI5j6Vxg;|`FTS8CKMTmzFElWWFUZL+iBHZiD$IMNnwS!wTwE5Pl30=$Uy>i6k`^VgHPYN%k z5RsBpe(G028dPB#R#6&ZBxx}cUXLNd#aPfDrxOv0K!o3MI+as7aW#QIpm?;0&ge9z zHn=i5Khrk2y!DapmTlP>Z6hsB#w*rZkFD3&PX#k9*)*M&S*vm`byjty$ZMe$UI=_}_@Tq*K-iv(-qah!u#xRpNbv&|^H%ciA z1?4sb0h!U8=0Z8;t*=%^@9 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..f2aa04d 100644 --- a/q01_plot_corr/build.py +++ b/q01_plot_corr/build.py @@ -1,5 +1,7 @@ +# %load q01_plot_corr/build.py # 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 +11,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 + +plot_corr(data) + + diff --git a/q01_plot_corr/tests/__pycache__/__init__.cpython-36.pyc b/q01_plot_corr/tests/__pycache__/__init__.cpython-36.pyc index c4bc30d7704db1af3a7d76f564945a76f376cb2d..51d32e26948d1a681e812cf4cd9577066dd84681 100644 GIT binary patch delta 103 zcmZ3^xPg(wn3tDp;(}w*6FJO-WA!ugb5r$0N{cfRi-0)8$iTo%KRmxEySN}RIaNP7 zKP6Q^Ej6*Ev?w*cI5j6Vxg;|`FTS8CKMTmzFElWWFUZL+iBHZiD$*}WEiNh6pV%n} E090HhumAu6 delta 121 zcmdnMxSWy0n3tDp{>3Yi6FJN?LY%E)LW@(2ienO!GBS%ZQnO=RQj4=o@(W_pi&85S zOY(DL(oz#kN{dqCi&Jw_lS?x5^I{4O4C4!O@=M~A^NWgNN>YnUieuvAGxIV_;^XxS XDsOSvt(I+do 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..c8c969e44e0c0c47013cdf7d6e5dcf9bbeabe307 100644 GIT binary patch literal 1105 zcmaKr-D(su6vvbK*qz;W)hjnvRlf!! zh@d%1D6~%Q6mH^DB3$9+Ug0M`_(b@5r|2eKN+dlEL}yNu-Z2qf5nK=vNO$fgeL>%m zsJDQ4WEfE!oJegBxt0q!o4`P?&MU*xN-5~v7)vv1@|>%&u4OuVB)H-6q-wNewaQYd zS<&Psn{t(LBX?6hO)>IS!I%e7^?fk1)t)$l3g?0(E^3F?6Fw;F*a0eeb9H!1VFwlr z5kNhJs`tSdV(6THrRU_-G444P^d6Z*NC>yqA33+l903ss?hO@&Q!bd8&@#oooq>$Pl^LLX#kluVp}&K_^D-2K<44am5;h5P`Vb;wJ^!V_?RE`j>P1+rXV z^0OB!phAu~T!(PV^G51WRAE_}u;3=0gyR8!)*9Kmowce*s+W8AiSh7%O=p8MA%Hib^y&`rC}*FJI260qVH5DF#zl zs7Q6dpxpNKfCgSW5^W`&nwNrW>(s&qO_>>#uJA%z|6`NoVtL29S&5I!v=EX&NiG;X fB#B70_+`oWA=9{AC?y 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: Wed, 17 Oct 2018 02:59:09 +0000 Subject: [PATCH 2/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 167 -> 176 bytes .../__pycache__/build.cpython-36.pyc | Bin 951 -> 1027 bytes q02_best_k_features/build.py | 13 +++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 173 -> 182 bytes ...st_q02_percentile_k_features.cpython-36.pyc | Bin 0 -> 1969 bytes 5 files changed, 13 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..960e9b13ab975c5cb2876ec1dabdd2bf50849744 100644 GIT binary patch delta 103 zcmZ3^xPg(wn3tDp!h&Pb6FJO-WA!ugb5r$0N{cfRi-0)8$iTo%KRmxEySN}RIaNP7 zKP6Q^Ej6*Ev?w*cI5j6Vxg;|`FTS8CKMTmzFElWUPf9H=iO-IQDk|2W*eM49Q)4Bt delta 121 zcmdnMxSWy0n3tC;r0Y!NL=N+e5NE5H(Bjmh;+VvwjLhPU)a)3S)Z*-t{DPSDqSVU7 zlKkA5wA93s(xTM(;?$hf&ryk0@&Ee@O9 S{FKt1R69ln28LoFW&i+(eJb<- diff --git a/q02_best_k_features/__pycache__/build.cpython-36.pyc b/q02_best_k_features/__pycache__/build.cpython-36.pyc index 8372777e40963b4c282006fe1233b5dbaa51cf8a..c81ec565986d2ced0b58c9e4cbd41aa019cb3f7b 100644 GIT binary patch literal 1027 zcmZuw&2H2%5VpP9B%9s-@KdB-5tm$cOOZHL6%^E7P$}9S^?l^VER2c zjyRTx;@O?hhQK3_lL@9xh%}_12Q+Pg%qjT5h@jh z$)tc-XOJi{R6^^lET;G2w3N6rVfkQ9Flg_(l`$GYGo0|oXYvV+0WYI7Vz41&JRxU| zabwiDL}LQj`-ldZd%Srb8gJBu9e?5^Ks>l;ETflbg3p>`CxL%KmJzfPZqrtuNwMST zPchVtG4APzzu=Khxs#n3B<-g<_kIW`sf>E+8`}uofkSLmULGv z&L9?5O7JW-rP9hZcSS+6T=aHpz0VZb{_4ug)85-s9q5XsqL-Fj^ag^NT8Tu@!~>N; z;c^5z_6}E8lRcqLa*+IfN%!{ZO!97Zauuz~Oq;aKt97TUcI16@8drbRzm?WqlV!@J zUI%cKHFclS^e3!1pdMFcrQ8|Hjf2h&GLsm^3Oy)QZb?zmfT^J_m7#%7OBiSp`2YS`US&tmm0&j7Vu}sL3()xn&*JUf(lEK9bJO3n;bUz!rE+MqmU4rc zePH889=EMuv4S&gNyTZisPpPXEx3vy9M2Q@!ma220=ldZq+qJ({xi70`dxDk#c>65 j6nxhAEjMdDT+2&dOR?_i>$~7W*DLAZju%A{_Tl;kL@XRk 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..685310b 100644 --- a/q02_best_k_features/build.py +++ b/q02_best_k_features/build.py @@ -1,6 +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') @@ -9,4 +11,15 @@ # Write your solution here: +def percentile_k_features(df, k=20): + predictors = df.drop('SalePrice', axis=1) + target = df['SalePrice'] + + fs = SelectPercentile(f_regression, k) + features = fs.fit_transform(predictors, target) + features_by_score = [predictors.columns[i] for i in np.argsort(fs.scores_)[::-1]] + + return features_by_score[:7] + +percentile_k_features(data, 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..9a71f22178e695eba4310c93ce190d49f15cfcf6 100644 GIT binary patch delta 109 zcmZ3>xQ&s+n3tDp!h&Pb6FJNyll3$5b5r$0N{cfRi-0)8$iTo%KRmxEySN}RIaNP7 zKP6Q^Ej6*Ev?w*cI5j6Vxg;|`FTS8CKMTmzFElWUPf9H=iO-IQDk|150rHFWC-%z$ E07u9uFaQ7m delta 100 zcmdnSxR#N_n3tE!{`%F(i5%tuQO;H|p~b01#W9IV8JWcyso60usm0kP`2{iQMX8mE xCHc8AX{m`NrA4Xn#i==|$t9Wjc`=0sChq#}9|jRn({6zUu% zan?H)N*^#Kz~7h%J+9J}$%!gOJeq&XnP$UjQ7I9XGKqzXvMSZdjLC#)u@kFV*!zAa zBumpDE0%_xBl#qmeJ2GAyGKm2i8x?VUHJ9$-f^K>`aos+>0#)7rSxGc(L031515|D z_+b|pmaq>)ZG#acq@08nr`&o?LYv#%fxE+9-h#V}0KvV*J5YYt+{Vg&xUTk?LNvTE zya(d|hS~$8iKYws3w=dSEp5M|oZco2NC&Cb{*SF&WPyAUNaT#94R1<}IsfF*&j6ej z+y@M+3{Y489lq@!B{PwO7dR4>K_n(NJ*Je9`q4{3&e*BQ1Isu{q+{bC1HTj5gJpl6 z0Rfp99#?7#SWek=Z+G|J@TWq)P$i4SFfO`Te(|zVly#U7-ep*3^6q&N?*>G2G!G z_azPP=p1P{{{YPV>lF=Lj2S4_pRu$O%IAfj7uwI5j;H>lCgtjifXYpX5ZISIN!+`E zB|C7FT{Kv6WBTBk&)!kkGP=T`4M-F~`u4p*x`?&H2qo8oQDgKGI3QaPu!bF?Z4~mF zOs&!U;1U(s*1kR~g+DH&F9mdjyn)D1l>humqV)4^|E#D$#$q|2% zoGZ=pSeU*p%2i`AP71FZ2g3uJHEM4F_T@VOYd$7Qma&meg*6hu&7$*%?}gkOL9YO~ z64{L_0Iq}uz&%_6ho$+&7_fo{c#_tN0&}UUCKK%cf2;&ap^zk|F`iiViMJs1#lItj z36OJzy@b&D{{KM+gN=f=@uDbanTR6OjiRjJ6`UE7=|>UvsAfhEAf4Poa}&*nXf6q^ zJ=_)&S;Ot3u)})Pb3E5;)lY+gaZjow Date: Fri, 19 Oct 2018 01:56:33 +0000 Subject: [PATCH 3/5] Done --- q03_rf_rfe/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 167 bytes q03_rf_rfe/__pycache__/build.cpython-36.pyc | Bin 0 -> 698 bytes q03_rf_rfe/build.py | 14 ++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 173 bytes .../__pycache__/test_q03_rf_rfe.cpython-36.pyc | Bin 0 -> 1868 bytes 5 files changed, 14 insertions(+) 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..cc946d4427a9b56d5f913541f23e6dc6e14e5890 GIT binary patch literal 167 zcmXr!<>i{N;8-*R5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNze4mg@^e%5LrRM? z5{rO1!^ptEOg}uoD7&~IF*#K~IX@*;KP@$}q_ikCzBn}}HMt}+KQF$ZC_f9x)GstJ mjxS0BqE!9(_{_Y_lK6PNg34PQHo5sJr8%i~Alr(8m;nG>S1gSH 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..c3f47dda1ee67bbeb9b2467eb64c24ccfe41c2d4 GIT binary patch literal 698 zcmZWm%WB*(6xGA8Oedi)LPK}mc{2_T1PUb-LbD9*q|o9njAC6gcH~DTIW)zya<~1E zenLN?zo2bb^9x<|Iu8g`=w33dkf#>4T?EJC5fbpq!ehy zBpYeU(ZZEi`>9VSucv}KOhdf;GWbr?2qNGk#Wy`8ak#-6R#FMQs`1xSmfq1rj9R9-r}*l6pd`_lU9SV$4VGe7A5GMPPK4_C?3i&idmu>NQLbr zll%u;(*f^$WX&uc$(ma>aLWf;c_WqHbA*X8-r!aKKnFImHJ+6>_*H;8fenXXoPYDHN0@NNRTnK~mdPkb%SX5uHN>C+}FK-eBZX12`?D9CLbIZx`g(;S2J6zRBv#)WyS z`noZW7o|-j(|28~ZRR{x8XJd>$->c3j$S#xZY8Lc>jLy_%8%~4{3QAj8vedV9&1QG z^kyYA%If9*{$cX5)fc7{IV3q2NN$sEVU=xzw6_%^Oupb4FfbP;cn^XM+E%BBMI-H9zj&;&S8idSnZ1`UsZMtVJ6bRic{%d^ALi+H| o4~>EPT)_=PQ|0Sl-BXXz=AzfgL$BayBGODmL~Mpw=3eyRADq{_+yDRo literal 0 HcmV?d00001 diff --git a/q03_rf_rfe/build.py b/q03_rf_rfe/build.py index e8a8d20..abea2b4 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,17 @@ # Your solution code here +def rf_rfe(df): + X = df.drop('SalePrice', axis=1) + y = df['SalePrice'] + + model = RandomForestClassifier() + rfe = RFE(model, n_features_to_select=len(X.columns)/2) + fit = rfe.fit(X, y) + + features = X.columns[fit.support_] + return list(features) + +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..0e83cce52e275521606f8df86b9d671071e000a8 GIT binary patch literal 173 zcmXr!<>i{N;8-*R5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzoPUr@^e%5LrRM? z5{rO1!^ptEOg}uoD7&~IF*#K~IX@*;KP@$}q_ikCzBn}}HMt}+KQF$ZC_f9x)GstJ sjxS0BqE!8o)Z&t2{rLFIyv&mLc)fzkTO2mI`6;D2sdgYci-DK{0EYxF^#A|> 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..1114d85cc09eb1d4026655458c7c197f444e86af GIT binary patch literal 1868 zcmaJ?!EW0|5ZxsyiK1lJPGhG|(S|6R0s;)naex8^iXyfX8v$Imu-yb^56oJ#lIT#R zvbz*wAw4-C&`;>KKhlrjwI}~VPn{tZNlxvO*x@WWJG=AV+vVeh1@HGi{`&Prg|WZc z+_jAU6Kwh|8eqU<7I1u8u{E#*n=`P%iJd_usG!fF5?2ScpvIZx=Ppz)c~FNMxKIZV z8qkCVScFet36|jwdg4~DbdUFf#z|^KOnvOQkF?o~6?t0;lwN&b9YmudMH6F>273E!w66e57Ydhg zs&;T*uk4gFy-ZVhDm$+!{ZB)g{G6&zA3N1kb)3e~A#gri1j`d_dL4}{$O=H|EUm#KQKhoU3f zofKrdD}~9F3~@NlAEgPZB0Wd9{butqYKUaiHi&>OY&d(nF}%oE=*uK3oUVKUXVrNGWZpFCFq~*W=T3~nbBEHmcnQQu7<@jDK{^h4J!qLnqFK5C{^`A&2 zp6FIIP43Fc=DVfnwHt~q74`)V*K`;#KK}au%Pj{SwraT>hKU%+FwDI$#4|LD$!~@s z?dS4~TEvuUiOdQaf_6@h1u3LSMQ~G3Q#CGkD|lCnx2=VsIur>Aom)f5-7JX=)uCv) zdF2cbaww0J8WKo{Pq7sO7teYK@i&k=^s7*-7+%0sWW8w-x%+)t#Sf(FVn?{VNw?+k KMZ7)kTK@tTruRz# literal 0 HcmV?d00001 From 63acdd2e8e202bd736b96d5e836de651aa353563 Mon Sep 17 00:00:00 2001 From: Tusharshah2006 Date: Fri, 19 Oct 2018 02:06:12 +0000 Subject: [PATCH 4/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 178 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 699 bytes q04_select_from_model/build.py | 13 +++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 184 bytes .../test_q04_select_from_model.cpython-36.pyc | Bin 0 -> 2088 bytes 5 files changed, 13 insertions(+) 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..819c6b5ebcef14fe5436f44fcf4c3bdcf4f44140 GIT binary patch literal 178 zcmXr!<>i{N;8-*R5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzvA^X@^e%5LrRM? z5{rO1!^ptEOg}uoD7&~IF*#K~IX@*;KP@$}q_ikCzBn}}HMt}+KQF$ZC_f9x)GstJ rfr`eb73Jr~=K_`I=*P!r=4F<|$LkeT-r}$Uik0T1+JP)C24V&Plg=?H 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..0d4b55812c61a4267a7cf4c2b246e44817e19310 GIT binary patch literal 699 zcmZWm!HU#C5bf?HGuhdhUA+i<^)?`rLB)%UhzoOb5l2v>5PH)UC$rt@*xgxN$(-WV zfAH$3_zQjYw7=lVN>*XOhAOJ6sd}$oJ(|rX-=F?`|9}zli|jqj$#XQjLMMozk|>%| z+Q&>X6{Nus2Qo|}tOatEjv?B{BJ5~-AR;mPO412T;GpZff;E|sZ*UfwQ-8b$3AtMt ztzK#Y5=-}9^Gay7(gv(Mlib>}D8Zb6xi7fm$woI8vf7k6*i1Fjl~>%9+`%HZS2^wH z;)~Eiv@Vthh&%+ZeQ0>|2*qr0#Tw?Ru=)-g(4*wSr;l~G4d zNJo)$c%B}txrA3e_Dzq3Y(xIJwDYkKh0(PMuxNV0(pgcu%o$$ULL22nSz71Ext5Kp zY`vb15AbHc+4L4|;hs))Y>y{UD^y5tQQ73v^6}qlR-nq+0FYcXr4)<$+TXqH*!!CzsO=r0 zM>J+58q+B=$C%F#(-V6sftzaaAK>lUcmDlDWkFp?7$otd8gI(2XSMKA)hGmJRqbN~ nTx57Rln-w^fDB9Txg!Mj@hQ@7Bs}W{9>`7U6p6)b62_B1txmw? literal 0 HcmV?d00001 diff --git a/q04_select_from_model/build.py b/q04_select_from_model/build.py index 12dd1df..1fa9125 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 @@ -8,3 +9,15 @@ # Your solution code here +def select_from_model(df): + X = df.drop('SalePrice', axis=1) + y = df['SalePrice'] + + model = RandomForestClassifier() + sfm = SelectFromModel(model) + sfm.fit_transform(X, y) + + return list(X.columns[sfm.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..316831be97632db143d86e1b78946d92e13daa38 GIT binary patch literal 184 zcmXr!<>i{N;8-*R5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzf$!x@^e%5LrRM? z5{rO1!^ptEOg}uoD7&~IF*#K~IX@*;KP@$}q_ikCzBn}}HMt}+KQF$ZC_f9x)GstJ xfr`eb73Jr~=K_`I=$E7xmlW&A$7kkcmc+;F6;$5humQ@H=A_zztS<&)1_0V$GmroP 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..d493564b2be1468080f8641954187a5370d3ddff GIT binary patch literal 2088 zcmbVNOK;mo5ayDUL_PdW;@COVM9~xwU|5dZ251o!iJjO8;JQWZHZXf&Hk_42g%4$S z>DEGeQcgYfC-mAs(jUQVPyP!%b%s>rN9-0UiJhHY4rh11`F8fRnVH6KzyJB;a@8>Y zGR{5os6WJ}enkNWu*mRO(VL!yy&2hY#j7v_EU=?$T=QzE8&HXyxbD@NA*?|Is$=Fg z1sk*mGf*2dv~Zvf4QN6OW?&ZPU>+7=5pKXuxCKjayEpI6ikfKRe{;JAEW^rM16D+3 zY5MkEfwpXFge({=haF7KItCpc+JC9^N7YcaPBF+6G_rG z6DYO%uG|Zc3m45@E^*-_xrHk=%0cP-d78pw5xgRY-ws9cT`Ge<4ys4;AdMg(c-}n( z%tLHy4TUHY=$XL4d~0A5F>%=2P=PA;6{vxOeHH2mb0fb+@E%-7G+^k79&+tq+s39g zQD{T6G5dwRF$Si#-Y{S*#u%5vWzLPe=8`eCh$*;;y)Vh#DT&eQlbja~sp&&238bABLPkv%i1BM8~3Y zn5jOO*!r6r8}~cUQ~62_c_2CglBClWTxU}FC40g&L0+T-+)C&5#^;mSbDZjE#6=a- zztUiRc#^wh^!~s8G_*O~o}y3;%VDGYS7N>XUrsJ0gPaw~_z0Er$tY7nM|KLlwSQ`% z)#%G9<{-KpkAZv4qf96lQa4Gp8*?4>-CmJ_ixzF`EE|%}OWTx9>|~1sfnSPQ)biD9 z0-3l}H_@mBgCQ7Sd=MD#d`z(*GGQ?*vABZ@5)!GYk@wmnik>5&xj))Ig8&PIt51f) z?WWR|0!fjSc(|c*U+jfSzgTlm(hLbICf~!P=iXIqJD)EJ`BXhkl;%kw^2L%*0{o)1 zyo`j(?FgOZHZ9U-C0>`H`t%y8%I)~!#QO>%Mo}7wn8`*DJ_xf*&MrVVrP1OA=%&;` z$R1B2qj21`izs37qzI8XD9)%;u7qd$Jxe4I(MH}tkvn2?_OC(ZlYd90B<(7CQdE`< zHu~!S;8D8SZ`X3i_Y)oq-_IL9-6UB=ddv5z-jrV?onW~@Vu{2uiL+!D8j)YtP>`ai zS~|?B;9D(b+Y4SL$zm)QW-|1uL!JOvxjBT~$&yf0%#z~CD=+cFfwJ<|kOEXEi{s}x zcqf66cUErGy_Q!cI!R-yg#zSl{J8+QSnjIb<<5gLyszolD2fEP$XfK84V1I^;*9wZ D+gnW{ literal 0 HcmV?d00001 From fd717b5a0b692c9bcebb91de97e09cc1e9c1b3f2 Mon Sep 17 00:00:00 2001 From: Tusharshah2006 Date: Sat, 20 Oct 2018 06:25:08 +0000 Subject: [PATCH 5/5] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1082 bytes q05_forward_selected/build.py | 36 ++++++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 183 bytes .../test_q05_forward_selected.cpython-36.pyc | Bin 0 -> 2855 bytes 5 files changed, 36 insertions(+) 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..bb9e39a10bb2e1700542cda71db793021b82abf4 GIT binary patch literal 177 zcmXr!<>i{N;8-*R5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzvA>W@^e%5LrRM? z5{rO1!^ptEOg}uoD7&~IF*#K~IX@*;KP@$}q_ikCzBn}}HMt}+KQF$ZC_f9x)GstJ sjZe!jDo-p*fy$<)=*P!r=4F<|$LkeT-r}&y%}*)KNwovnTMWbu0AFG-!TYiB@yQxa0>Pe+4Rdstjj&FYb`r?{T$T#xG=b?Nb$-G9U zh@v?Wv|pLVil~=)J}6=l7eg_m1n6?4{52J0@Yh64RG`B5MC`y0 zjA627c!EA9v*O%W@pU(Q-CZJbJ9o+ zDgmu4?IL|EF=?gY|Eo$`IX|iz14*s36iiYyxy??c&ZLFC)SRZQyAr<<5=Z(E$$UZ9 zk|jo^nDRcb6>CwxOje$yEnBiRUGYP*@{xkGkJfAXnks(G^=H(CX9q2RKwdpuMXkT& zZM3G8v~=mWto1LG*6Z@ceeip~8nhuI2W_-K-)Qxh;pW`Q{pSR2(VCz(Tn^UcC0oU- zVapLQ++z7w3eZQ~=}vCoDZdRC3}4kh5QC>OhsWIue5aV&j0!H#GNb!VEV$BD?RcIU z>%z3ko1!$%%b|3EtZOKh@D`bMe*da2&`?yT;JB%@bzWW7vyo$JAp$HKR?I~Ukha0X zxxh+&2v&@?nxwlzjNf!6JO_zkzwLb+vAbE5x0yZq1##gPEJD4hwTpir5|ds|WvMbO zID8^{7nA()0xMs@{8?j;q((ZrwZDIN{=Cx1rj{wp(@MeoJTL<}q!t?u8>L#JI6v9H zlPoIzR%(@Otf1y^nk-j)^*cBH+qBd5&2?miPH049$|+|Pq?pERN~d(fCM=>O7Ncgu z^hHF@rY@*4Y-t>;mGjG{K-a9S-L5&#vH#1xyq|-lz*uwL^{TjZZt8X0&@gb_O{(y$ zHDc!%1S}Ta=&rFfPBy{e0I3pee8;=taQ?<~7ft_af3OQZ{$B(%Io#{Kn<=sgvm4<* K#Y_SoUHJ)H&N2o7 literal 0 HcmV?d00001 diff --git a/q05_forward_selected/build.py b/q05_forward_selected/build.py index 8816abd..77f2c07 100644 --- a/q05_forward_selected/build.py +++ b/q05_forward_selected/build.py @@ -1,6 +1,10 @@ +# %load q05_forward_selected/build.py # Default imports import pandas as pd +import numpy as np from sklearn.linear_model import LinearRegression +from sklearn.model_selection import train_test_split as tts +from sklearn.metrics import mean_squared_error, r2_score data = pd.read_csv('data/house_prices_multivariate.csv') @@ -8,3 +12,35 @@ # Your solution code here +def forward_selected(df, LinReg): + features = df.drop('SalePrice', axis=1) + target = df['SalePrice'] + feature_list = list(features.columns) + best_features = [] + best_scores = [] + + while len(feature_list) > 0: + scores_with_features = [] + + for feature in feature_list: + best_features.append(feature) + + LinReg.fit(features[best_features], target) + rsquare = LinReg.score(features[best_features], target) + scores_with_features.append((rsquare, feature)) + + best_features.remove(feature) + + scores_with_features.sort() + best_score, best_candidate = scores_with_features.pop() + + feature_list.remove(best_candidate) + + best_features.append(best_candidate) + best_scores.append(best_score) + + return best_features, best_scores + +forward_selected(data, model) + + 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..8a40c5d387a25a5e08c25fc1c9771c17bf7d6e48 GIT binary patch literal 183 zcmXr!<>i{N;8-*R5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzf$xw@^e%5LrRM? z5{rO1!^ptEOg}uoD7&~IF*#K~IX@*;KP@$}q_ikCzBn}}HMt}+KQF$ZC_f9x)GstJ yjZe!jDo-p*fy$<)=$E7xmlW&A$7kkcmc+;F6;$5hu*uC&Da}c>1KC~-#0&tVi8Cqy 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..f9df0c42fb8774abfaaf9348131e230e002d578b GIT binary patch literal 2855 zcmc&$&2Jk;6yGn~8^?B>HcdZCRxK46wQ-X2Ay8E}q)n&@Ml=-_186(l89SSc{2lLUdlj;S?PLRN7aL@|*&eo+?PL4d0hqCq_jkt(Oe^dWHgrv4 zLtO3XWEacMDwW|C*uPRyWAhxB;UtxOMN2=F8-ch&1+yjhxD#>)gGx;vHX_fXqAAbdb@IR_B69a=R^DhfBK^d7-;Ng-b&|;>ZQk`|<)8)bn16 zs7HFH#f-Z!Avh)Z=VdFLa{bwh!OsWopcfBW@E-~U=` z&Q!~P4SjdF)_mdJ8@Foh-)hYdug}i^`~@h#fBeJso3}yv^7FfYyqQ_4HP4owJM_UJ zP^zbH?)z*4lwWf5w?D0~)EtCz?Libz!Yhx1;0jThLNul_?V3V#rZWRtgJoD2+6>Dv z6WT1g9oiha9$J$X!9}Hb0DUuck2@R{4C8|<0X>yTc;z^VPzlwJ`nGyinb$)7s>;;8 zN(WYkRX6-^XoE^8At|h3)CHOoI*6s=({F)u!Q&SAIcjk~l-6N(#F};&xDQ&z5E&e7 zfQWmklw5?TFM}sz-Q#{miw&SmBQ}sFHxyBXVSh$Ih!(G&i{u>mbB@l9kB&ZFJs*fm zvP~Ucbppn#4Nk*I@KweEnSejRJZzvODHl>1>!ii8SC9NPvG zYZkgdAd|B2CP3^11&9cg41xZkj?~;hJgvSoxqf~~99Fp4<`($c5**0jr(jsFv@XoJ zGQ4oaS_~o}CSUD${ibzTR*blu67h^Y6%#RJUUr|$>?t$pB ztszP`V!Nw$?J*0^B=Lj_V5O-`$G3sjea8M@*u)MvMV!BgVIrMCa4`TM#4Zs34y5r% z!Nh+B()cEjxKe%^KlYxkAspzg1Nt=&Kn&F zJ3t$s%e-Rc(bOS^i&38GxFUKPbtv*apq#=dMvG=IY=y6 zZZcfaGYgKIE)ho`V zb1