From 2b35313e066c08248723974a957804480717927e Mon Sep 17 00:00:00 2001 From: Jeroen Date: Sun, 24 Mar 2024 09:40:19 +0100 Subject: [PATCH] Applied feeback from Gert, Lisa and Adrienne --- .github/workflows/checks.yaml | 12 ++++- .gitignore | 2 + environment.yml | 9 ++-- model.joblib | Bin 3575 -> 1157 bytes model.rds | Bin 122918 -> 52593 bytes python.Dockerfile | 9 ++-- run.R | 67 ++++++----------------- run.py | 46 +++++++--------- score.py | 97 ++++++++++++++++++++++++++++++++++ submission.R | 13 ++--- submission.py | 48 +++++++++-------- tst.out | 31 +++++++++++ 12 files changed, 217 insertions(+), 117 deletions(-) create mode 100644 score.py create mode 100644 tst.out diff --git a/.github/workflows/checks.yaml b/.github/workflows/checks.yaml index a956729..6b57a42 100644 --- a/.github/workflows/checks.yaml +++ b/.github/workflows/checks.yaml @@ -39,7 +39,15 @@ jobs: load: true - name: Run prediction - run: docker run --rm -v "$(pwd)/data:/data" eyra-rank:latest predict /data/fake_data.csv --out=/data/predictions.csv + run: docker run --rm -v "$(pwd)/.:/data" eyra-rank:latest /data/PreFer_fake_data.csv /data/PreFer_fake_background_data.csv --out=/data/predictions.csv + + - name: Build Docker scoring image + uses: docker/build-push-action@v4 + with: + context: . + file: python.Dockerfile + tags: eyra-rank:scoring + load: true - name: Run scoring - run: docker run --rm -v "$(pwd)/data:/data" eyra-rank:latest score /data/predictions.csv /data/fake_data_ground_truth.csv + run: docker run --rm -v "$(pwd):/data" --entrypoint conda eyra-rank:scoring run -n eyra-rank python /app/score.py /data/predictions.csv /data/PreFer_fake_data.csv diff --git a/.gitignore b/.gitignore index af67e4d..822b2b4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ .DS_Store .AppleDouble .LSOverride +__pycache__/ +.tool-versions diff --git a/environment.yml b/environment.yml index 65f3a30..753f6ff 100644 --- a/environment.yml +++ b/environment.yml @@ -1,8 +1,9 @@ name: eyra-rank channels: - defaults + - conda-forge dependencies: - - pandas=1.5 - - scikit-learn=1.2 - - joblib=1.1 - - matplotlib=3.7 + - pandas=2.2.1 + - scikit-learn=1.4.1.post1 + - joblib=1.3.2 + - matplotlib=3.8.3 \ No newline at end of file diff --git a/model.joblib b/model.joblib index 56cd6c4657e4f43b75cf0d95b9c264e22e38836d..21a679bd153a0f8de385392801184cb75bdcc056 100644 GIT binary patch literal 1157 zcmZWp%Wl&^6pfSSQTIX8?g~^ODikDY5mc%!kXqCQ5=N<%4cVa4*qOwJvB%>XQz8|q zEZU~h?3k?h4b~v>4@j)pvgr@-xN)3BZD(QMYu!2L+;eAqJU9Gn(ZTr{nTl<^J*oWjIBV6kG68WJdu}dPU2dXwrkZ>``=xN(fi!Q}NphM#KJgJ*% zF~(ts1xQFN3FIZg=sOZ?RisY0C$y>r_&xFgR@)u55F}LkD8&F-IFU@NGSoXv5N+p_ zd5Gf_ES8|R6rwlG5dd4E4HRSPGl*+lf@KmD6yksg(2TTNg*xgxR+t1)A4R?k?rBwP zj?!mwjQg)*97P~vYEeZbPNt)n?gAlU2ajr@NEL;LBamdAK+NI}Z1v_<%AIFwEHI`Oi+Ikv%KJI+k+xzovxG}-2qU^VV;LfGL47Jd(wycH~F(Df|ajgHuT)nIS literal 3575 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 literal 122918 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

y;=_@#LIKxMiD20$O4Zo>H5sym;f9amGyt zi&uC};HwJloPL@CQg<~X=D4WA#W8`)say2fokAWs`=itj&BaAlp}^y&O5{sSOY^ZR zak?F+3as2cJEu5nrdI*31M!K7~39)caD z9i!A6tc0D?8!ORhefWjG_>3N8QqR~a3TPkI{;OvTQg7{mbr`zpoKSQ4XID;%r^gax z#HZ&CfAugJGb0!vs1Rz)CNJnSkk&njk-1-`)X&qxUQ2^_p4ih@uJJA%L&h)oW1TyWT?pN*}>7O-h;vif;#*U}@`#3gZdjYhO%)*RgwUDoa-BH6ZO27KD z{JGQkADAOv-!JGmlW07$y3_N$0av-Di7J&W?46a(n_YVX3x(xjMoekJa9WUXKsL{d zx95iAVn&I|o`Q|(HpWSY2C1pN_2S#Gs>VWiYKai?UMIse^hAolQ^J+q@Du?<#U2s%K;K7E0<9Yn(Ht4+<@KTtcKFour;(O5)-(3yl?~i*pcFK9^h#fR zd9k_SsfvTmFm3ZpBHZrKF*8ZUvtmbjq>{%^9tJ;V+^y!48u!glms&VG08YPg5Jx1M)_>~Dzp@*u%WwFX@u72~#+KEIQlRr% zODreA--lT8SDQ*?t(>bZAv$ZoDtB{*9B`jlT-3u-M_a@cFy$ud=Uxs!oQC#+*;Z=n znF~4|SI)_Cw&qncqh(w~{PnSM4lq6}t=uM-FTyH)FQ!HFy=NBXjqB2YBX9>RLaL+D z6m^3*L4W(ae0w1ghQF&Uv|7{LP9s#Ykdj{B1^o>vX+BLeHC6D(Ma(%RZ zdb;eZ?G*cL*MsA&t~X!aW$59p0U`T^Tg8{{XCYgPwG_v1bj6=1xM@Gxzqg;v^P-AN zj^a3Kc6h!^nof>%+$O=XtF2k|Ay}BZ_L-*bv(@_MET|i|Y+CYIUA_%}&!r)H%T-tw zP-|&!I40VK7LK(0h~Rxzn;O#J(q+Tdl2hUw>SXW@SvMNG`DRtw6Pi!ZPaZQEuMe?O zY@z8T<9N}~Tu0N>aN_$B@We4LzvlJ7#ygh!o`D~;BL+FkJj_`bXCkVFBCg(ydpzhV z;;WsebA2f!#Nz*!(&YS%q9YhhJZgKooE@75^a=>^#==&|G1mZ zC=Qmczqqd^4Os3*wUzJpw+u8JZ1h7~E zmWWpwXB|f_&A=(!wjwsGoEfCX6oJca*iF!Dt7!&VI##~3BmFkT)3c{Xw?i^USYta% zRF|)Bp$V9w-YLD0C;;10u>ic-df|UX?E})qXZ4P%z1Gk9d)Up}oaDJLRcqk30r?ly zeVyD(Z@(pIZ`9Q2{~$UZI!_b{e)*6UaFr$L_;=1)(jcZ*k*}k+CP|$&e7x!6{t&I( ze&)s_K4D`yb=>*^kl%UD(Z0(u3!)k!kwjcu6Nq)migt5z>FT7|7x(*dG5;@@ZZY{u z_<(|2z=zt5FAY7-@4b@(9o=5Cvh-XEjRM7gM4q{s45yzsI;gQ!q+YcpUqo~#43N7$ zXO-yd?QN)C_&g#W>x6SMT6kJMfG)ZieXCEa=d>YWKAQ~7KcHhY7Wb}BcVW2>XxCh6 z!)c5m-{H2n%@eKdsjlz#(M(C|BTz#Lp6t@TnC{vU_0pf|rH-alKE0zF+w)r{nW|gX zqs|+4F{O@ys*92q-u_iJ^+I#v9%qFENv_C~t<(=XWjlK6rrjIw)pazomCo+JH=0Ww z6szB&9{V&O{2ZCs?CI{!JzaLOd0(!iztDIgtin59yob6_uSYYoe)1og5re|mFCnl& zq1P#Ao}B-e9Ye88ewcOsm<2kR{{r?Qort|BEBxKa@P?*h!?%CFDmqQTPfZZIqd1-8 zJFfJ2if#_$*O=8+GP+so#5$eyna=q8Js+pChLFK&7b7ibzSt^Habb7UvLbb|>==}y zShKE!nn#0}*U1liIUbJKM-wB>KhYnw*CiUzZ3k_hRZILLIP72gHHhEikhDI5u-xgahyh^U*{4mrR~b#b59%qKadg$mnIAxwKX-FwM{=J6>LDe0#u>v96~UnjPr-co;F0ei$9JfKpLe*ED|W%YN%&xkVz zK7tTgFz25=+XKp?mCsE9Dzy?n+>Q8TyS6CFVdC{bR&{?%p2XFb1IHtX5C}{EKRugi>U`A1EbvY z(QgB#?043F9dXUa9wSSh|L|D4n=diU;WtVDdi>q6VaRQj#)3cNv+Nu#KbRS$ft{@9 zi0{iwnx1pzuZfRh4m$M7RAYRzAjNN$M&m|#uGZaN18yNwL|>KG#MRxslC90M?JIgc zt3kS?@(Zb#pUFYAei?S~rXWw~M<*MlV}s@L`qah1<*rh`W<3r5k=Tw~j>ZGFSDb%= z*{{zVZ4FQ|CxNHd`NGPuwBq1=n)&kU)xMYAbos=45PUi_M$#p(CjN;+vy~=|dc2vl z74 zzKEQdFq7>EW{Vzi+);G#&F0AgjU$_CLQ!!rn)VvmyTdr9Wyf#<=Z3UC+Q|+z zX;%B*V2<~G8P<}@%+w4F153mMmss-pD&Y^>4_UQNi2RoerrL_<&h}3?mqlNlXRZ(r zLth^UFAk0U+lQ6}rDAX3PJ`ouyUY}n);FLPPg)+vtg!#QZG6Q1uZY&$B)s=MO9@BH z0?Hx(I@A1VmfwzzKr1dEo?yIp>OG{!`?hETA4>W?jA4Ve1no@H!H$GKLvL0Pjb({) zs|$hbF|UDb;X7)Y50{Ex1wjLCpSHv?yEemCE&+VUO%SE^Y6YR2p|TKg>JHf6bB7Ae zmYZXw_$zAz$$tlKW+gYy-xV$q##{~xr&(^RS^wSvpe*Os0-tFZyz+d~li>4kceQy# z1+Mlr5h_cx)v7JPG=@09QV-Swlg}a~HoxQ-=ew;u+J1{(9ytz1g zmfM7Rb|pWq##`0?$l&Biw}YH$W_+a~p!w){!m%7Qy9?_m;{Wp%DO_+bA$A#h3fh_mIh+&EFG zU^40YPuSneQfr&8!A)+0%s8)#ZdPbcfxaE=u}9$i=?1p1i%pwkN zPEKHDXa4HPH!;+T|J1LHM(0R}&ala(?<7=X#zO=U!5y}O2cDYwUS`*IAlr_p-k>8p zPedy{Y8lQed{O_;#;^M5!<3itd%(8(j!ep0cl%vGG0wQD8*l)(jQ@5LfzXqjhKE}a zFK$$Bi)%d1c$3BY9(^jWM!>NA=yCh9s5ZBgKDVI=acx$Ar~XL^PHLYAIqmHy3zNyvHiVAczIh;#X`^O+ z%=e7*dmNHOg4q~bB7k>TK@^lYV~EaxaStttXij-E#slJGSJd;V?x-N5S798{d}H@* zfJ-5&{Y{C)=v#1W{Pij4MR95x+V=7tD&2>qavk~_b#05--F~?m;4yhWA6S4pSd@E| zd?7jXy%Q-H?f-Sd(_6j3EB5LME~Eub_xG4?WmEPn-2dikS9Vm(5yO*nwuSw{K7TZ#H=CF*g#y|@GQ`U`|l@0D33?|YFCTzvO&&c6-kq!S^RKR|Q|@O~fa z;p<_yC6wR2Z(*HfsEgi5`=0YWE*mO9`hm3 z`%wqZB!76b*T4?I!vnod2#sJpFnG(a$2!E=Ha33iN$&8r{Di zji(0#syR_`B%bTS)31Yz|j*6i9Sbmc8@^)T?@Qi1UyYA z|GC!zFH0%!xIMu8+wk8BsAE4z=LzpFoDaSQ|2>TTX#D`u4ZzLM$uHis6qo*)I5(Vy zJoyaa$%TL2KaHdDWypW0;G8=d`(qvInmIV1HRJv0%~L^1Ugx(o&iOs^NZBl+r;%OU zI^>}&-UH&jt-A>8;oRrlNc*673;c8^>agcgzr95DtG5qz(rc(gu17uFg8bDFdpv~q zF&)_7-kw2ve5QrwH4$~+#Cy*>k#8H8V12yLT!sDatmX85D%r@2J z$0FXZ0$x6W_k$lseD@)boQn5tlaW6zz zpHqHuenI|qeuMb^Bki~Dc-Vge{DkwL`xWdX+q#H82YVcgJbxzg$VDWF_YXLyJ&N}# z9T>kA=i>3e&6%i&r_*`Fc^3G;8hSS&Ki&ZQE`=YrATG9}-g^@7Uth(0jH#$IPRIM8 zX~1m~c*)_t)IywtzJ~h$8<=-L_Sxm6uYbTS1wWB}{ZG<3|2(pneDY%aM?PDO_s^?Z zXuV@m=ba4sJ~WG{kM~NSLcQ3C_Y2qIe0@FH+3Q$AbTi(oRN;NcSeoyD0Pl(BP(AOb zNq=V>eh+yG_1sh8?%Te!nC>{zTM` zSK)kk753|^2~SQdDBkNhE2tiIo`5_b#qSjhu@C(Uaq}i{RDtz8s=vHdz~gGFoBVRZ zhkrQgJQs4D3;*Cfj&svKqKi;pJ%D`tdJC=R)BfdtmiAS*4d?awIH%l;{ML>4R(nuy z{RVpcVFk(cZun;!@P8%nbq(S>i8#0ue!d6xs|8+O9)SH&kHEj~5698{lkwi?_ycjR z4*acl;qPgO8WZnSL9^DaX!_Z$f`<3oRnX9$8^L#}pfUPxj9H_C=IGm1&>VFg`15>j z^tw$2&4PO{z7KP_!SqHIG#M}4=ce5~DrhXf6MArC=MKHv?!ub=&||#{ zn#1>~;%4ldA^#rm>r+87QvAG-fSRUrX^EavhCmXX3Uk*$X0}tGSd*J;v#<9GnS0?gZbZ)OZB{`8;N9TgiMi~bJ{2@z-++6(-cD8A z2%PcEcwoNkalJ;2<>utuh5x&S{9RaQw+fp7?o>hC_XycntDvd*Min#@?^i*ys4{nbk?t5_3cA~Lj_IDImSCw(BPZnk#W!iUWLyl$kzioI5+nTn{=rlUo$?XO*uw5 zUN%C`9<0v|<~PCrtm9S{G#_89f+q647|%`2ISx2qGGA`0&Xo6(H7dwueM0YUtj9K6 zqk?Ag+!USnkj>)x9*pnC+8e-gs|uRBGxj(~_o$$$`Yz%BP8DFaM+G^x8`o^()tIwQ z1r67CLPlO^lM3Qyg9>7pn}_q>w@w9(!#RJljn+XXwh!Bw^TrxsbG8Am+mG+OPxlEP zy(-u{IFD>pL9XZfo5lStD#&M?gF035ezaNzP2&4iut#z}Sg(S5rW^XL$MqH!)DL|s zXn4L>1x@HVm$4tagiMS%wjt-rP8H;M&RuLbmY4nA37$Ju5c6zXZamM};qlx!o@)u- zqc*BwZ{@LUYp$D^H_zXObr@4yRS=(S7q(j$=5S577Q7iVJu1i(9J^dgF-CW&Abz&t z`6jH@rGlKWUInq%{4^_zH{xhMFsm*KV(_20(|#D ze)e@gkfVB3P&;fCW4EXPduvpXGd93(y(*{$HsPMMXRojU z$I?b&r@ewV`-}Gn&cVFjNcs991LrBW-Fo4Bj)^`oo@?XvSeI)!#_eVm#3(|wS56i|i<3>=f2^oW&cbO;eBW!1W#`fk~h3i3%1>P&z z-i$lOw4TSe;vVO4wkKnZ^EmI}8&r_X3hV3vKfcd6*^B!u(`pseO}t-mKIHt=6Y>Am zOoUt~l=<&`qvnSFJ#Q3Woxcr_INnizPaMW0>hF$i`Gj4E{jGGVy2RPbWXIw7)JD&! zIVN39evR`%lpmtxj#|THmDVC>AA^0#fGmf-b(dx9L8+(jV)Gf z@{$c+Y%m|Urb$1W_2cYfiXB@Fm4ff#V9MkR8!SeRx5*c#xh8)`$zhYPOm?!3m8i9& z=GpQr)!sJqOm?xcc@*|+@fl@@xO^Jt&oEuWKDItEjkUFtjs9`?Gubstr{Va`Ha=`^ zW0Eb(Pd2!YizgGdZQ?S{4{?~Xk-=oUIC*XSA1AjB7UR|#4wh_V&*WPZ25sUkink4~ zQerc1jExQAupVa@d>@T}#{?Iv~mJa$#$Rtq~=M zKDI1mu1RJoOVl_M&$#muvT;a*oNjVe;r> z^>xD5)BRJ5U&3_MabU{VQTB+lscEc@&uwrOhoy4E+Hp3Fl9R_LLU`KDE!7q#%tztM z*2cPhZ071%G|3caV|^br#Y!B;;^yjd3|IH4Pm~-cEJt;Rw9Q>MYm|y{lMGS5Hs!gv zT1~$;#jMSBoG+ushv^h%Z|(|dBa@_2`8y7OVdHJ_Wb6O9+Rru~;^yc$3)9ntmpK0A z2L4f)*7Klge4L-+=G)Y3aWNDXk72qcBGwJFbJTgp#wVs68&x-mPtp0bGUR+}=%QK5 z(Ur^ED$oicMnwp%(nRHZl23*BgpHR?NjY_dnOt5c1g|PFkIl*a659HS2!8B>gy2~v z#>nqswqZSGvsK+rJWtA`%TuN4o)CNr*EO)0w4c~QPaa#N zift^zhxzM%mTSp5HDX+u(4!{8#}$HCjhI(1=IZiD-K5?5o}8o0UL*KRoUq(Fwi7B` z*K)y!Ws|z-vQ=o~YP9vGP0O`$QFfAgm4~b?ZK(S|pUbjI8s;PUy+T{JT=0@>m#N}7 zle}ugT-~QNs#x~0xR?AG$5IxaBk`}tw4NI)wY93Wb)~QL^>o`x3|FaQn@f3l`_T2& z^RNElvHDt47PgIyi-a~d%r|;$%kg>+k$BYi5}8|M?CR_5Hq+(NZ7wk`Z6dLx=SAHQ zdR*!;Tcxd~U+Z~E_mwVxnJTtTSWHTu32j{|lfDPbby)`~r;f`oEa`lB57+aqt|RLv z<37wUx*Q2@e3*aqb@e??@?_svi)RUSu)LMpN3IdJo?KV=i7vB_Ij(!Ev~gjW*7t5* zFUe20QDOWT3tLu(%n#e+D#hA5{`q^gIyjCKA$;_l#5UA(w(b{c6PYLYBOB9)*(xkf zbPTiI!uDdB7p0G)VwU&2C@fTH^K?1%vHD&opXvEGN?*PH)MeLWmG9|!Tgn{euj-Iz za?g|Yl>T6wNq*-ov8gw;+W%D>dbMi=To6q(b08`D(UEoi>Z8Z8eg2w7iXwaj<<2YG@E{P*1t#n z(i}EE>N<>{iD%UKGHtG{++pj+=~aq7!g$+!O!AdtpV9b4@gI(VO}dQ)Bc;e=W3Mp( z+1lNtOIgU6IQjHBaoC8n&2X?9WrI?DWn(9sI1Zz6@fnsU;?_6GGg4l*dYbsh*}qiW z#M#t@**O1{5^pB|#l=?~-#8iL;@*UR6V`3?F!8mqK`FQ?MGljH;`o?kHOXv?bCc{Q z``F@WI5vv&Tb#daFcszFxR^8H+18deSS|H=De)7BBa;u}VmNM&jg4((x51ii9NYNY zw6;lBlkH3KosF(0tlG$7!mcS_McFAXwruQRGv7AO;-1CfCJrOE{t%zh_{-s#7<~5QQ(*NDXaoCBYfD>@=fRX zTXJ?LRdh$T9M69eM=5%jQTQj$%KrYmYwvny(&97u`?NC@|92PwqBOgdgL`$Vr8S*t z&f;rjQ*uGNjlZp|Lt~uM5t8L4rl5I_?1OH0$p?qAV zSH&ngZphHAU}z)_>#rXU*?T8*#2+#<6)``71FEh$)zFZxOXuChov_E`QmyIw_GE@{ z9FfOSTdKZxUNY038tRvwpO>l|npAcvE-G@#?3Zwzm@67mH>ESza;nOtv-udVZONtT z(}i@#Tx#l5^U}#|9S2rE>K*@y)~Q z8){iQo|eB=V9k24jAQa3o|nosrZ^kb%x-Sa)+cj3pt7mCKE=~2>XJh&hB}FdbQ!NG zWD2%Pb3;RGiX*xDK+rTZld8Nk=QP&~Ve*mQI;2STf=p^&D(|826jh#&e)d8BD)0aQ M1KxeeYlce%0MrL+9RL6T diff --git a/python.Dockerfile b/python.Dockerfile index ef32f75..8978711 100644 --- a/python.Dockerfile +++ b/python.Dockerfile @@ -4,10 +4,11 @@ COPY environment.yml / RUN conda env create -f /environment.yml RUN mkdir /app +WORKDIR /app -COPY data /data -COPY *.py / -COPY *.joblib / +COPY *.csv /app +COPY *.py /app +COPY *.joblib /app -ENTRYPOINT ["conda", "run", "-n", "eyra-rank", "python", "/run.py"] +ENTRYPOINT ["conda", "run", "-n", "eyra-rank", "python", "/app/run.py"] CMD ["predict", "/data/fake_data.csv"] \ No newline at end of file diff --git a/run.R b/run.R index 1ffa7c7..e8dce75 100644 --- a/run.R +++ b/run.R @@ -16,32 +16,19 @@ source("submission.R") print_usage <- function() { cat("Usage:\n") - cat(" Rscript script.R predict INPUT_FILE [--output OUTPUT_FILE]\n") - cat(" Rscript script.R score --prediction PREDICTION_FILE --ground_truth GROUND_TRUTH_FILE [--output OUTPUT_FILE]\n") + cat(" Rscript script.R DATA_FILE BACKGROUND_DATA_FILE [--output OUTPUT_FILE]\n") } parse_arguments <- function() { args <- list() command_args <- commandArgs(trailingOnly = TRUE) - if (length(command_args) > 0) { - args$command <- command_args[1] + if (length(command_args) < 2) { + return(args) + } - if (is.null(args$command)) { - stop("Error: No command provided.") - } - - if (args$command == "predict") { - args$input <- commandArgs(trailingOnly = TRUE)[2] - args$output <- get_argument("--output") - } else if (args$command == "score") { - args$prediction <- get_argument("--prediction") - args$ground_truth <- get_argument("--ground_truth") - args$output <- get_argument("--output") - } - } else { - stop("Error: No command provided. Run the script with predict or score.") - } - + args$data <- commandArgs(trailingOnly = TRUE)[1] + args$background_data <- commandArgs(trailingOnly = TRUE)[2] + args$output <- get_argument("--output") return(args) } @@ -56,41 +43,25 @@ get_argument <- function(arg_name) { } parse_and_run_predict <- function(args) { - if (is.null(args$input)) { - stop("Error: Please provide --input argument for prediction.") + if (is.null(args$data)||is.null(args$background_data)) { + stop("Error: Please provide data and background_data argument for prediction.") } - cat("Processing input data for prediction from:", args$input, "\n") + cat("Processing input data for prediction from:", args$data, " ", args$background_data, "\n") if (!is.null(args$output)) { cat("Output will be saved to:", args$output, "\n") } - run_predict(args$input, args$output) -} - -run_score <- function(args) { - if (is.null(args$prediction) || is.null(args$ground_truth)) { - stop("Error: Please provide --prediction and --ground_truth arguments for scoring.") - } - - cat("Scoring predictions from:", args$prediction, "\n") - cat("Ground truth data from:", args$ground_truth, "\n") - if (!is.null(args$output)) { - cat("Evaluation score will be saved to:", args$output, "\n") - } - # Call your submission function for scoring here + run_predict(args$data, args$background_data, args$output) } -run_predict <- function(input_path, output=NULL) { +run_predict <- function(data_path, background_data_path, output=NULL) { if (is.null(output)) { output <- stdout() } + df <- read.csv(data_path, encoding="latin1") + background_df <- read.csv(background_data_path, encoding="latin1") - - # Read data from input file - df <- read.csv(input_path, encoding="latin1") - - # Make predictions - predictions <- predict_outcomes(df) # Assuming predict_outcomes is a function in the submission package + predictions <- predict_outcomes(df, background_df) # Check if predictions have the required format stopifnot(ncol(predictions) == 2, @@ -105,13 +76,7 @@ run_predict <- function(input_path, output=NULL) { main <- function() { args <- parse_arguments() - if (args$command == "predict") { - parse_and_run_predict(args) - } else if (args$command == "score") { - run_score(args) - } else { - stop("Error: Invalid command. Use 'predict' or 'score'.") - } + parse_and_run_predict(args) } # Call main function diff --git a/run.py b/run.py index 50d0ba5..92369b3 100644 --- a/run.py +++ b/run.py @@ -20,31 +20,21 @@ import pandas as pd import submission -parser = argparse.ArgumentParser(description="Process and score data.") -subparsers = parser.add_subparsers(dest="command") +parser = argparse.ArgumentParser(description="Process data.") -# Process subcommand -process_parser = subparsers.add_parser( - "predict", help="Process input data for prediction." +parser.add_argument("data_path", help="Path to data data CSV file.") +parser.add_argument( + "background_data_path", help="Path to background data data CSV file." ) -process_parser.add_argument("input_path", help="Path to input data CSV file.") -process_parser.add_argument("--output", help="Path to prediction output CSV file.") - -# Score subcommand -score_parser = subparsers.add_parser("score", help="Score (evaluate) predictions.") -score_parser.add_argument("prediction_path", help="Path to predicted outcome CSV file.") -score_parser.add_argument( - "ground_truth_path", help="Path to ground truth outcome CSV file." -) -score_parser.add_argument("--output", help="Path to evaluation score output CSV file.") +parser.add_argument("--output", help="Path to prediction output CSV file.") args = parser.parse_args() -def predict(input_path, output): +def predict(data_path, background_data_path, output): """Predict Score (evaluate) the predictions and write the metrics. - This function takes the path to an input CSV file containing the input data. + This function takes the path to an data CSV file containing the data data. It calls submission.py clean_df and predict_outcomes writes the predictions to a new output CSV file. @@ -53,10 +43,17 @@ def predict(input_path, output): if output is None: output = sys.stdout - df = pd.read_csv( - input_path, encoding="latin-1", encoding_errors="replace", low_memory=False + data_df = pd.read_csv( + data_path, encoding="latin-1", encoding_errors="replace", low_memory=False + ) + background_data_df = pd.read_csv( + background_data_path, + encoding="latin-1", + encoding_errors="replace", + low_memory=False, ) - predictions = submission.predict_outcomes(df) + + predictions = submission.predict_outcomes(data_df, background_data_df) assert ( predictions.shape[1] == 2 ), "Predictions must have two columns: nomem_encr and prediction" @@ -131,11 +128,4 @@ def score(prediction_path, ground_truth_path, output): if __name__ == "__main__": args = parser.parse_args() - if args.command == "predict": - predict(args.input_path, args.output) - elif args.command == "score": - score(args.prediction_path, args.ground_truth_path, args.output) - else: - parser.print_help() - predict(args.input_path, args.output) - sys.exit(1) + predict(args.data_path, args.background_data_path, args.output) diff --git a/score.py b/score.py new file mode 100644 index 0000000..5d7ce73 --- /dev/null +++ b/score.py @@ -0,0 +1,97 @@ +""" +This script calls submission.py. Add your method to submission.py to run your +prediction method. + +To test your submission use the following command: + +python run.py predict + +For example: + +python run.py predict data/PreFer_fake_data.csv + +Optionally, you can use the score function to calculate evaluation scores given +your predictions and the ground truth within the training dataset. + +""" + +import sys +import argparse +import pandas as pd +import submission + +parser = argparse.ArgumentParser(description="Score data.") +# Score subcommand +parser.add_argument("prediction_path", help="Path to predicted outcome CSV file.") +# Score subcommand +parser.add_argument("ground_truth_path", help="Path to ground truth outcome CSV file.") +# Score subcommand +parser.add_argument("--output", help="Path to evaluation score output CSV file.") + +args = parser.parse_args() + + +def score(prediction_path, ground_truth_path, output): + """Score (evaluate) the predictions and write the metrics. + + This function takes the path to a CSV file containing predicted outcomes and the + path to a CSV file containing the ground truth outcomes. It calculates the overall + prediction accuracy, and precision, recall, and F1 score for having a child + and writes these scores to a new output CSV file. + + This function should not be modified. + """ + + if output is None: + output = sys.stdout + # Load predictions and ground truth into dataframes + predictions_df = pd.read_csv(prediction_path) + ground_truth_df = pd.read_csv(ground_truth_path) + + # Merge predictions and ground truth on the 'id' column + merged_df = pd.merge(predictions_df, ground_truth_df, on="nomem_encr", how="right") + + # Calculate accuracy + accuracy = len(merged_df[merged_df["prediction"] == merged_df["new_child"]]) / len( + merged_df + ) + + # Calculate true positives, false positives, and false negatives + true_positives = len( + merged_df[(merged_df["prediction"] == 1) & (merged_df["new_child"] == 1)] + ) + false_positives = len( + merged_df[(merged_df["prediction"] == 1) & (merged_df["new_child"] == 0)] + ) + false_negatives = len( + merged_df[(merged_df["prediction"] == 0) & (merged_df["new_child"] == 1)] + ) + + # Calculate precision, recall, and F1 score + try: + precision = true_positives / (true_positives + false_positives) + except ZeroDivisionError: + precision = 0 + try: + recall = true_positives / (true_positives + false_negatives) + except ZeroDivisionError: + recall = 0 + try: + f1_score = 2 * (precision * recall) / (precision + recall) + except ZeroDivisionError: + f1_score = 0 + # Write metric output to a new CSV file + metrics_df = pd.DataFrame( + { + "accuracy": [accuracy], + "precision": [precision], + "recall": [recall], + "f1_score": [f1_score], + } + ) + metrics_df.to_csv(output, index=False) + + +if __name__ == "__main__": + args = parser.parse_args() + score(args.prediction_path, args.ground_truth_path, args.output) diff --git a/submission.R b/submission.R index b1acb03..604abc1 100644 --- a/submission.R +++ b/submission.R @@ -16,7 +16,7 @@ # List your packages here. Don't forget to update packages.R! library(dplyr) # as an example, not used here -clean_df <- function(df, background = NULL){ +clean_df <- function(df, background_df){ # Preprocess the input dataframe to feed the model. ### If no cleaning is done (e.g. if all the cleaning is done in a pipeline) leave only the "return df" command @@ -45,7 +45,7 @@ clean_df <- function(df, background = NULL){ return(df) } -predict_outcomes <- function(df, model_path = "./model.rds"){ +predict_outcomes <- function(df, background_df = NULL, model_path = "./model.rds"){ # Generate predictions using the saved model and the input dataframe. # The predict_outcomes function accepts a dataframe as an argument @@ -58,7 +58,8 @@ predict_outcomes <- function(df, model_path = "./model.rds"){ # they did. # Parameters: - # df (dataframe): The input dataframe for which predictions are to be made. + # df (dataframe): The data dataframe for which predictions are to be made. + # df (dataframe): The background data dataframe for which predictions are to be made. # model_path (str): The path to the saved model file (which is the output of training.R). # Returns: @@ -73,7 +74,7 @@ predict_outcomes <- function(df, model_path = "./model.rds"){ model <- readRDS(model_path) # Preprocess the fake / holdout data - df <- clean_df(df) + df <- clean_df(df, background_df) # IMPORTANT: the outcome `new_child` should NOT be in the data from this point onwards # get list of variables *without* the outcome: @@ -87,9 +88,9 @@ predict_outcomes <- function(df, model_path = "./model.rds"){ predictions <- ifelse(predictions > 0.5, 1, 0) # Output file should be data.frame with two columns, nomem_enc and predictions - df_predict <- data.frame("nomem_encr" = df[ , "nomem_encr" ], "predictions" = predictions) + df_predict <- data.frame("nomem_encr" = df[ , "nomem_encr" ], "prediction" = predictions) # Force columnnames (overrides names that may be given by `predict`) - names(df_predict) <- c("nomem_encr", "predictions") + names(df_predict) <- c("nomem_encr", "prediction") # Return only dataset with predictions and identifier return( df_predict ) diff --git a/submission.py b/submission.py index fda659b..39e0749 100644 --- a/submission.py +++ b/submission.py @@ -15,14 +15,13 @@ run.py can be used to test your submission. """ - # List your libraries and modules here. Don't forget to update environment.yml! import pandas as pd from sklearn.linear_model import LogisticRegression import joblib -def clean_df(df, background=None): +def clean_df(df, background_df=None): """ Preprocess the input dataframe to feed the model. # If no cleaning is done (e.g. if all the cleaning is done in a pipeline) leave only the "return df" command @@ -34,31 +33,33 @@ def clean_df(df, background=None): Returns: pd.DataFrame: The cleaned dataframe with only the necessary columns and processed variables. """ - + ## This script contains a bare minimum working example # Create new variable with age - df['age'] = 2024 - df['birthyear_bg'] - + df["age"] = 2024 - df["birthyear_bg"] + # Imputing missing values in age with the mean - df['age'] = df['age'].fillna(df['age'].mean()) + df["age"] = df["age"].fillna(df["age"].mean()) # Filter cases for whom the outcome is not available - df = df[~df['new_child'].isna()] - + df = df[~df["new_child"].isna()] + # Selecting variables for modelling - keepcols = ['nomem_encr', # ID variable required for predictions, - 'age', # newly created variable - 'new_child'] # outcome variable - + keepcols = [ + "nomem_encr", # ID variable required for predictions, + "age", # newly created variable + "new_child", + ] # outcome variable + # Keeping data with variables selected df = df[keepcols] return df -def predict_outcomes(df, model_path="model.joblib"): +def predict_outcomes(df, background_df=None, model_path="model.joblib"): """Generate predictions using the saved model and the input dataframe. - + The predict_outcomes function accepts a Pandas DataFrame as an argument and returns a new DataFrame with two columns: nomem_encr and prediction. The nomem_encr column in the new DataFrame replicates the @@ -67,34 +68,37 @@ def predict_outcomes(df, model_path="model.joblib"): prediction is represented as a binary value: '0' indicates that the individual did not have a child during 2021-2023, while '1' implies that they did. - + Parameters: df (pd.DataFrame): The input dataframe for which predictions are to be made. + background_df (pd.DataFrame): The background dataframe for which predictions are to be made. model_path (str): The path to the saved model file (which is the output of training.py). Returns: pd.DataFrame: A dataframe containing the identifiers and their corresponding predictions. """ - + ## This script contains a bare minimum working example - if 'nomem_encr' not in df.columns: + if "nomem_encr" not in df.columns: print("The identifier variable 'nomem_encr' should be in the dataset") # Load the model model = joblib.load(model_path) - + # Preprocess the fake / holdout data - df = clean_df(df) + df = clean_df(df, background_df) # IMPORTANT: the outcome `new_child` should NOT be in the data from this point onwards # get list of variables *without* the outcome: - vars_without_outcome = df.columns[df.columns != 'new_child'] - + vars_without_outcome = df.columns[~df.columns.isin(["new_child", "nomem_encr"])] + # Generate predictions from model, should be 0 (no child) or 1 (had child) predictions = model.predict(df[vars_without_outcome]) # Output file should be DataFrame with two columns, nomem_encr and predictions - df_predict = pd.DataFrame({'nomem_encr': df['nomem_encr'], 'prediction': predictions}) + df_predict = pd.DataFrame( + {"nomem_encr": df["nomem_encr"], "prediction": predictions} + ) # Return only dataset with predictions and identifier return df_predict diff --git a/tst.out b/tst.out new file mode 100644 index 0000000..4d76da4 --- /dev/null +++ b/tst.out @@ -0,0 +1,31 @@ +"nomem_encr","prediction" +700001,0 +700002,0 +700003,0 +700004,0 +700005,0 +700006,0 +700007,0 +700008,0 +700009,0 +700010,0 +700011,NA +700012,0 +700013,0 +700014,0 +700015,0 +700016,0 +700017,0 +700018,0 +700019,0 +700020,0 +700021,0 +700022,0 +700023,0 +700024,0 +700025,0 +700026,0 +700027,0 +700028,0 +700029,0 +700030,0