From 1d1db8c45e503ae2c94f8ceee2bee7cdd0863e0a Mon Sep 17 00:00:00 2001 From: Krzysztof Stefan Rudnicki Date: Wed, 26 Apr 2023 16:31:53 +0200 Subject: [PATCH 01/30] Initial commit --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..946507fb --- /dev/null +++ b/README.md @@ -0,0 +1,92 @@ +# EARIN_project + + + +## Getting started + +To make it easy for you to get started with GitLab, here's a list of recommended next steps. + +Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! + +## Add your files + +- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files +- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: + +``` +cd existing_repo +git remote add origin https://gitlab-stud.elka.pw.edu.pl/krudnic3/earin_project.git +git branch -M main +git push -uf origin main +``` + +## Integrate with your tools + +- [ ] [Set up project integrations](https://gitlab-stud.elka.pw.edu.pl/krudnic3/earin_project/-/settings/integrations) + +## Collaborate with your team + +- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) +- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) +- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) +- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) +- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) + +## Test and Deploy + +Use the built-in continuous integration in GitLab. + +- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) +- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) +- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) +- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) +- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) + +*** + +# Editing this README + +When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. + +## Suggestions for a good README +Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. + +## Name +Choose a self-explaining name for your project. + +## Description +Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. + +## Badges +On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. + +## Visuals +Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. + +## Installation +Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. + +## Usage +Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. + +## Support +Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. + +## Roadmap +If you have ideas for releases in the future, it is a good idea to list them in the README. + +## Contributing +State if you are open to contributions and what your requirements are for accepting them. + +For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. + +You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. + +## Authors and acknowledgment +Show your appreciation to those who have contributed to the project. + +## License +For open source projects, say how it is licensed. + +## Project status +If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. From b637e30e7b31974072edb3a8c39c7619f17d28e4 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Wed, 26 Apr 2023 16:38:11 +0200 Subject: [PATCH 02/30] initialize preliminary report --- ...ARIN_KLISZKO_RUDNICKI_PRELIMINARY_REPORT.tex | 0 projectMaterials/EARIN Project Instruction.pdf | Bin 0 -> 86081 bytes .../Project 18 - Anime recommender.pdf | Bin 0 -> 48425 bytes ...ject Assignments to teams (EARIN 2023L).xlsx | Bin 0 -> 18062 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 preliminaryReport/EARIN_KLISZKO_RUDNICKI_PRELIMINARY_REPORT.tex create mode 100644 projectMaterials/EARIN Project Instruction.pdf create mode 100644 projectMaterials/Project 18 - Anime recommender.pdf create mode 100644 projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx diff --git a/preliminaryReport/EARIN_KLISZKO_RUDNICKI_PRELIMINARY_REPORT.tex b/preliminaryReport/EARIN_KLISZKO_RUDNICKI_PRELIMINARY_REPORT.tex new file mode 100644 index 00000000..e69de29b diff --git a/projectMaterials/EARIN Project Instruction.pdf b/projectMaterials/EARIN Project Instruction.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7fbda0091c5eb3dc6500cddad881e5e23e86b09f GIT binary patch literal 86081 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 literal 0 HcmV?d00001 diff --git a/projectMaterials/Project 18 - Anime recommender.pdf b/projectMaterials/Project 18 - Anime recommender.pdf new file mode 100644 index 0000000000000000000000000000000000000000..120a5a64f8e9a8d904d099a406a1de75ce800309 GIT binary patch literal 48425 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 literal 0 HcmV?d00001 diff --git a/projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx b/projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6ee915645dec72adac75aed07d496e5d2e945d65 GIT binary patch literal 18062 zcmajH1AJZI)-D{|wrwYk)!1ol+qRR&HX0|5ZQDj;H@1D#p8KA@r|19OFZs>Av-Zk- z_8MbyjPZ;qCkYG!1poj5@lgl?@YA)z&p-YO0|Wp-_;@$8F_5#jv2~!=v$dsjwX)2J zk(TXcfC)YqdkLYqXT=mlPMeY1k<=vPh*-;;J0()*lIWRx^MFAHwc9m*uE+0eSc(v$ zmx-|_DBG)BH*2h#cqlB%nP2>D*h0VPh?}HBz-ZJA}piAQm%M#83yqDUef90_N{{a| zo8>s$0I#dcgG4JduY6&{*N|x;`mAbr2$9z_My`;G0K>?%JT9!<-cU)0o4$v>S(`>W zU}ztEGQ5e(`cb8V%KEqED=p@u{m?sL0D$**U;w%QP)@#*e0a68K@N}Dm+SYyN#%RW+IRyblKgMWB{=itWMY930yZ+Be@J@KO8#? zn6exyb|*$jmcQ0a29%#Y#Se|eGj8&U#~e}fc*E*zBC=6wRpXZQvz_dcLPWp#>-Id! zNsIMDqFn@okIebv#`(6QVgYz1NQ^lls8A5>7if3x;P{PKFCaeycPK#tj!jd|+rG?8 z*mM02!cRZigF2XHo~GQVL|-?5r5}*ZY$_ zHa%UIzoAsy1opPWWzARN?X(Yyg_$03a14>C_K66=CvNO5DtSqk5K)h?q!&FZY3*8O z)z-W)bDx*_R9Q;ZJqx@CsE!?bPSnt!T<<|%0u*m2*#}12y>fJ<#d7tR=C}MboT#lT1UQ5?mZt(O7YRWcpvWuP7aPXR;pH(^g8xNmJal0jz(6DznYlt z*Ja>jcNh>O4A^GtCRf60=7cLk?4hd~T3cw-X1ya5bHABl8pYEcnk+TV2_xj=TmBkf zPuW?@k|N907gmahD0h5OV7~qHc{G&p$o5RiTt9NAlh(alo-NA)n#*0}(p+IShS2=X zg%dKEBx(taQNwJUvIM4RPBoW$;v*+58^<>*{(HR=AsYhxC$PE4REev1HrN1{htFqd z3?ul6%WJ9>nmwLl2~9(6(G*~9x~`3BC9BXa7Po^wYta8BJzj|o7TkyAaUTWwKRWhr zHT)jwq8^SlV8$ zK8u`9(sX<%=)XIUA+lp7(uZP+nE(JVKGf%GN$+A~Z{c8SWaQ{T|NHHC-}$)p{{H(V zBVj3OnE@sEocb1*Xajjr4T7MjI9#sCyrAT`-VUeg>&_h8sOg-`d9`?tnAof%!b3{m z{_|uK&G|$PT$CnuP8v`wgCL+y3f1RY+NtRC<6#)kftkYmdUIDlye0vc(#6Uo@`8Kg z!Dd+BsT82oGAncp?1r7VG`adVKd!`?IQ56p#vgTQvol=7ScCE`{c&MnS`g4Y!8s)o z3~$=i0lSgy{4ABI#d**}%xZuj4O6D%ODZiOluzx>7)qXsp^`7aSG_w@s21 z&~R8h3|vUMWBR;`h(i@7$|u75MbI;D6!Hx^NGw=$DL@C8M>}9V;zh3Nqn&m-Jbx7^HKNS!r7PvXF5$P??%!t-aIL=qzEQl0 zcdLP?S@YasHAxD95b#qvCD&eZX{&&~N!q2bMQ)WhKi53pk^>r@#vzDbq^0)J@t;nB*x|RLpX1l#? zcilW^jE1Z=aMy6)4ZWm~^~uD9AnUEkp}x`^$i$nc+sq11?n?8@(WeA?Ek4(f+Z1a+^$4I&A!1 z<5E;NyY)w|#OIpu_>gG)jZUAp+pEW`hl{tnjkRaJY1%X1H@C;RkVVG#eFzSkyYSYOhp*E*(W4>HI??d=m6tj+3RL~wEpZX}z10u)cCrtNk@&rk zI`|kT;1#Dp1}RXE&VG?vx-g1<>vUE1&=Go6RW;BjC%^8LodR99s^&+3d{hnH2XCM( zW_R5hG!-Q#8>aJkyAeIv_^qh%{u{kK6(WlSM$H1OJw)oQRU;Lr`Zm_5o3j!h25K-mHN%kw>3qt<1 zD+tzo18Uz3nl2>wz(`m-am|iQ^~4m&b+=Ep>j=y(+tQI*06@vi=v2NV4l2bRD6WC9 zOd7h?m9Xe3OjatDI3NUiA{iDSNdm{o?>b%8X-1(1vyCA$$eCvkW{{Svjn4v=#^VAG zs`OIP=A?hgG?_0EhCXecsJxouq7|{77)3$vkDK}U=1HFN{Jfx?Ngtp>c^WwLaVt1K zjkHlEb5m=NCjfT9aR&{&@?GXFwCsl>(=r$J*v&d5O1jmVZLAo}CepF#o|p;QuCKx5 zE3{9T;|_3sCRnzK?y!?}w$?yt`_0_y@?xc1YE*}G&6W6hOVpf2TM~9#sSlVjbFF7# zQ4x7Tgqh!b0Vi?W2i0aCH@CfB{aHAQK4~9sj?9IjO-oA%BZU#E)B$9TNz^4|Nyp5R zy3Ey}*)R_TIm8XdfZ?L4uTZalqlG!2?1I=|9TDerkkQ%or=cjCS>#l%9@eN&NGalG zX2eUnZIz;EszwGf#o5Bli>uEx4KV)4m*- ziugD*<2pcuc47##Hg$gipd5GQlk-gyqJ&*6b0#Qo9IVZaUo={9!vZn`k%|5;joG+^ zv&LrXPp5KVl*zgYYk=2alcpB8EZC`KMuJQOFvT_u1f&CBOCc661n6EkkQ9+V+nhAb z6mD18v@xYHQyDf(Hh?GC*1aVMu0X(Ljz#wAtre;XbdD;Qlk=J4UcqmH*fX0ST@2F! z2#l#P@|H#oC$J8TPAt4T??Yb)67#`4^>bf6%$GRXPQI5*;65V(9-bNOXx{fxuH>88 z0M9Jl6v&^-HxZ6}^c2I7){ecIy8$FUsX2}(ip)2=T+JWgZq>2#y5bl=Teu|8+yPc> zv&66jiJiwDNP-Ou(hC5JV3{Uqs?Eu?cLS2a;l6;)}rUTPMLbX(}$h8iFIG*RH7 zsTYR6u!KgmQZ=#A-&5rTC^8|mtT7n}cFgkRUspBZT^*%dRvR6QbzO$-U2TF-9Bomj zEl?h9_oAN+i|mZV7BO^m>M`1w4`w{rnBVnvfxHZTk!^h))V&8ZFUZL`T0!%iflED> z{X662lgeryw@ht^gLlmV?tRMk=VMF!*m?Dh%Yw|HElDojF3t@WaWn;!nOL-$CEkT; zr6aD6v3RVfI4{w}tTKssAw_=JLmB)ZTz8E9(1#}6UQ#gXq# zhI3ngG9#N2X3`qsmW%za8*kmzOL+*un$N{f)P8Sa)gbz#eMzWL-U`2IpBfRmSB0p{ z*RjMliAL<>GC#=iF5an*DDzzSqg4)rl};YQ<~=hU$Y;2`nfgcJ=}yRF=Oy4JJ5U(~ zJZXVqaMF<1!`&o9$Ray*SzPyZ$|@8z@zeB%(a97Hvs`;W%Y?G?>m9D9+(a!(UG{K$ zNE>SWe4OY5xh#O>@8Q--6H`CmUjl_*v1B~{T5?sjYk{0SP+GRlSTtzlt>AFWzNP^% z;~}Z)zF%O#xc^!QtioBa?6UB4r zAlf0#N9bZH8)K!-A_dp<>z^gN4i`PvDqU79iA#O>q4a7%>_gFZak#0A{G=~ykedBI zH+aeOx=FH98J8%<6`w5s2ne7u}0rGQpmC#aI<~KVMFRd_vOtw8kHn zY-Y>uYsm$hR1B#fy1w|He8=}^FIATyZ46@3jiv)CEW$ zVYOs!#&X(vK9mMyhHL~c)bmjFvN-ATer@2;aDZ~Sz{j)xGq%?py^{uid&uhhYX6x< zb3|TTo09E%zcj>xO~J{t_q3oEwI)ho{EIpa%8)5NH3dY1>7^y?;pXR1z;He3Gm)ZmPpA_43 zA0ZXD^F_T`eYdLC48}>o7ac~PR<8NEPnxykM&g7o1b8+Ai{$wJ=r$K#^aNENH`%FvAZF+kO)bNm6%+KTSUVgSdQ;B;8U% z-5EAq^sT+9=swHa{o3(zrai@7GzGdRE=i|D?usWP;ztU}Y?6-!2L+3#tXM(>q7kI^ zBQ(v6--s!Co{2FwiaE42` ze5IGg$c4A_CWgye1dNcy^u-bjx&txP7o2c{-uo&C<#ET!wII_+?E*lj*T01=?> zQJ@1{tT}jl{HosBFjE9*%Hp3`*zkk%IMF&r4_5AJKBraXTxk?-eM(2Gwi&l1I%qNb zi%(TBK1|EzXXr`+N?y(0kWAwuljFr~6djG;MaffbxyBm{Ibm`8reM0DdUKcNWmLnS zgDB*6m;izHILb-+7}(Mi1w|=UBKAG?h%+W$0AC;l67lWfei+#)h?=Hwicgz;E2Og! zNH)PpWV%gXC}Aa(9x8eL-U^As8W@=J6SZ_hRk0QBT=n~gr5awSv*+0f=(Bh{-YyQW zLpphUZVn!Mb!wXHsU)qzNfi~(=A(7qUtiJJbvoZJjxN~`=g2R6`Z`}8N0U3>FF9|k zwpUTya{CeU5;v;^|6 zPev2C)ol@}?fB@9{#D^d%iIk=>c>Nwxj3)CCoZ>QC^|+AV0bk0I;c+RF^}#yPpc5= zCgPq*lu-{&DBWi00vg4YSS(Q5Cqqyh-CrhHRhih>`MaV~gd%R_KVk{5NoaBGWqfhZ zjDnNiWChy8-wmIoTm(H}h->W>KaPY@Gf8$wJM+}CrS`U|9n{rX=Q-^F!Spo8B)Dt5 z8%L10@aNVGhJb=WU-SQp`lczIS*mV%mXQ7IY1v`qrFmr_-y9aX30 zj*@fKMeO#V7_3lHUH9%bKez9N2rLT(8{;JG8=w}|rM5*>Kux5IxW_YpPX(0Ir)MUJ zc2rzyv2!zbGAn8SoKH&};aD5VFvH-FzD2_|p7g9X(2^Q5$0XaV-;8a~d=v?fXz`hd zyvdJ@OmV7@%lfh29HNnmn8o4|`2eGL(G{$jcuoU7SFy<%Q#{N1!9_0#6TK!xIDu0$ zUS zvBLJPq<;gqjARL?ryV~sx*eEvpB*t@Rh6C^JSx;TJiz{FoY6163N?1`(PdkA#B{MO zZ01u!6ftMGoO5o9VO9@oXvNsHEHyrc>{42H&M_T#N(t~?yX+b}{``monAuO0!hWiw zImh_J5UyR=(kr348ma>8R~cIS3JbbsIHY+uiMFjduW;aQ2HJ09Owwv?GQDB7wel-< z%rp=%vU6+?R!$-uJeL*Zd_$RI>Q4ML#}b(jPa~^s^TyyVe%$W1J{&~~2XcZo$;1>- zGuT53Y`WpA@oJF}8*QJ+Y2UpmEy33$e$Xah>2)G}2~fyEY$y$K#!w!8t~I4)YO~$>}*y!xJY-lvqw7~gcu$!r89oVePLj|9cH*2;Rv(h5=kX9$4lY4&LOQ&@2CNADEEnwaYV$NER;1<%)bE(j9 z%j>WDUC_ZM78;2j0*#U0&y}ygy+40%pB}0MU%EdOL-G;IA^uRqf4U+6<;VWxjQs7$ zUQL{|o?}25I2UUZ+HGB20Rk;C_MjlR?EIMlgC-9S$n;{^Mn-CmnTioZrH{! zVq)$bW8YX^#S>9EM?r~h7u&wup*$*M{`BW*dOH3| z@n+ttRL*0ZN=poBp&+JY z%QGN~nLO|kLVDukJ_vr$K&cmZs5PPomx=QnfmR*(pm_44v1`rqiQb?EV)Rt5!FQW1 z8nSYeY{Q_8!pt$v7SJRi0uy9{n9K`r%&kFY*{I=Zf$S!Oq)UCZ^W;ihPR!PxS$DHB z=$YDDiex*fA0|JtkQ3`!pe;5HV78&rf}vN${pe8^=Ba(Rg?2^6?sKZ1SCF)aZnwsu z;~~tkk#30}Q}VmOJPNTFv;4o@jdJ^DRuBM7f&@LuU<3gz%*rH z_A285!+;BGh<<{$9<~e|o#K55-yg|Xy&ISP$NlGoeq{CZM|{H`9{>R5Up>IVRL|bX zP|?xe%-Y1^SKnV%8@I;(gw#P_buNeSGX}t#^72I&kp%CD-AP{!li!{=nM3JW;e15P zuy!1+MvGNd7q`e=1ANtDv(c;eb1dz!j3VC363;0i0})&4P)TJ;2Nmz@WiFK&Swx~b z&oR##-%+ew>O?^r_wlQzd(2CL=tA{K^PB|t@p#bbYt!{UA5Z-P;vLm|W+UyVo_Xe2B;M)~CzCrZ zeHK^T%=ab~8?W{6cjqnKt6oi?S9U^f1`gnf9QqbULQ4Yeld`yRn=*@l-`!gG?0jxB zN!k4EakBD>R3K_JA=5C{=2UAP$G)FhZ=B7lCI~>!OL{fIk2@JGmnTeox6TO26k}DQ zf;p@`K9&JDN~KGekhfvaP~HvPz`uv6>3A?}UF7L$^uoFfDoZ;`d%6AoIlQLVU=4G=(TK_^ znE4ObZrq!`kEp(Q5p~PCE<_u-z{L21fv9-Wr+ zi%bC&(aaETg01zjq*i?EMDVv~MsPg(hfZDUE>FF^5HTPx^AxKu71 zA4y8*6%QpCO+gOnyaiPn9?8cr=b`DRz zqbOp9<{}|F>L|VO?-ZhueL_T2>%$MH$_!_+Pgal;>fK+;O?5`!5Icp5EZ|6nSU)?` zkRO5>CZ_fx$sDFx&6w9r}A2P1M~?Mhn&>VFr=mk%nsiCv8xsWr8=C+an^^u-z=yYceNm<25& zDLbB}4~iaKfn{zrrqf_@y^^{BuZZBdoGmVrRd`B_%LGSj#i%yr@oY{8WKh|n`%1WB z&ppDX1ED?cR43{j2uK{Qqhc-v3mo*#ctAL98s7`pcXezzaMOm4<%KICBci5KT6zL3 zigb}(AXZR;#*Ta7>2EjUX89iE$FxWen;>RFDYUEEfZj}2a$Z&2HE%+549-$bR6SBj z89+TJL&%8GWcJ?P>))_dN z*{ga&Pl&oJ|4g@cuhBUskr%jVrspg>uxkGc2}Lp_fC|}L*s#PIaPfj~p_+xde16#! z6Egg>JQASrXN&#OP8)_D!XgnMg`Mxb?CPZCob2{9Uq7Rqa1bAH5rv^9J5YZ_9-}%g zY_I%4@}%1R0IB_QVGB2XP|&mN70PLSS&%g@jCZ)Pdq@*g2y7;VzsX!4;=as+#kxdB zMqk!vi5ED$wV_T1VcPaXmq%RqHaPA1-$UKgWHYA)MFXOvkusd!C4rlOQ`n- z0Bj|$vL>~czD?P`Hf`FfZJ~firiwUOn#@TBjgZ1_(Iik~L81Dv7{^zaTTfu#hiIq} zMeGv3B^pyDwK?NnLo#IkP##t?hP}{8JJ)0Xa{s9Lvu-eZk4T?BkMv1|yZ-vQPOolm=IXQX_etoEPnTxKYJn^8oml=oS-sBL zyv-V5whG+>m~j@^gN?lxGFz;3Lx7|`hJBl^TD#V8!v+E#n~TVtK=F6&QV9+`w6$4A zelN9QOK+4#IXt(z$JQN^hj79@)M9dD?f%_h;_2{whQiwpUXPT68x?13k9*_-A>Vu| zdEdPszqh&*U6EZgBBjA2bIhH=lr3Lh0&5ls3n0jQHID`XED~@63Vjzw$h?pOgUiY& z|GXh4b;o+@Z+WONu_K{ALU~FA=%lhv69B@#oM-3C9k-uMV z^klopeT*4&j-RzEJh%Xfei_g=fkB^>h+oC>T_XODA@oZqz_&`!QW9vesMUrM*km8% za5Io%Rx_?`NQz!CCdL`cLW0v%F4|F_@%mocioLwOz%J@Ki-yQ;d?fJJ24o;JxV~0( zys`_S(j?5H2Qpg|uQPGmV8kTAM(}e8oE18^%e4dd723crn1!?#yqL6~~ge`2UZkeaORp`){sFt^Xa zMRtWkd`I3noLY0@4cwtczZHh`Bq!Qu(610u2c!MaLo)BD67jDJ^gq7C6 zN{8eBmOm^%$u(d$ABEU3 z#!vV49W$bm@|I@_lgw2*wD?J4ESJ8Yz)OyKxr-_-=FR_8zXwTYN|HLvh)I(-;w9*w z=%5A2SJM**n?~O;&18%*w>|7Vd>T)q3uLVKt;}F1DFCfvdKL2ilv!wg$d<_$L)_O% zR;ZdsH9*(^f?{ki!UZ0_sPaScw^lcvNqvW_wrWsZHYX`)QLMImDpv!=^B|NEln3*= z&PH>C7z4?eFEDt@JQ{m@sx2~Wr0$!g_t6u6HYvKK!xj5Z6|`p3d|;3{=*y%vT!nKLs@VCX#QI$GmKi>90IQ-j& zF}HLT0`+j<;O=}TgGB6`S(Oj0ZgMZ)vFKc>DSBY|xxMQml8q=xT{lC&8BXEsr4SI- zv?z0%ON1WygbKje>v4~oGdv`-EWp9Tt+h`=t9@7p89i$gB5>~1MYXIW5XKnen{`tZyPRt5eyUNs2BHz|)AG-hhp-bov~haauAg?}CLoM<^t0OV>U3 z7iTKIjo`ECI1OPU6|na^nZRBccU*t$asPpfaj4N782G`@8v8JU;Qtsw`ZhKezjnW6 zN_sYV90;!+Gq2#g=P2nIf^x%9KnGOyrBve$9ts5`phdQz8LWlkN~b;>jF4unpEB*& zghC@vFR#;6*?-<#7gj`&)2%4501}a7V73hlYqP-vKDCHR!(*1~OHWWuUjXo2qj_b$ zT^>5p?(VcBM1ujaSouN~D0djut94r}WPL@o(KVtp97loK3z)AUF>%wdtvDK~VRSA} zON3n}dbq-Xsn$%wjQ+eZ-zKktFic(O>#dPc>daqSYp`ifhToc)8tM*;aBrkkvX6&? z>Gbm(4~t;UGt}xj!r%|Fhvo}%3@i^0$RxO^l2NHJWtw?NehrNo@Hb>j#49?G^j-{{ z5MkQkZxWfkJk*EYF^R2%_B!1VZ&oZoGe`B?LKnPWf1WfinYy>oP<*Vk~~2?p>W?h~_F5C_)wt$#lz znEDPx+)hB^vBGqc;Ka~z(Qu{+!@&ODUkE3djjZt4Z7!cARLX`sE2RNj7Rkm?wpi5L zS9IonP)b9AWFQA!rlb0 z!6fBvO8fZuv}O1BP6^N5)Y5u{4E-1&wGT|5uM@xGxj&sr<+HCymSndf*F8BsK9sIh zM)f+lQFbcm0cg(@A6Z?sbyaH5EPJo|^4O>C$2k`D09ME+iE~&%Nj(wKOSTpoeQjALzy(ne=Ik&5sc-yd>G|+aRKSiKNA$ z^wV^aXC$P_Wke@Z`fB^cb%xFFlkwXkxJx(2Q;)LcoFeZGbQ%w>o%xzqWlpYcDga*H z%62+dUTuO^Hof|zS!61sSu(tuRW)(UJhEuctY-`&d&4Q&aoWY}x_m z;0j2T7DrT*Os|;usCb3_okqG>cIVkEUcNbeo5z_p`FRrVrgj@GAsj;qZum2EyZeJE z1DzIy0=atOWlxkcEzDJYWljKCXrnLR6pM3_#=(aP7z_Dr7aQ(lhHV9f9+Xzm9cFKU z%a4y11ClvymhiMEi;`tMl2u_pO}Qxbye}Y&QkstbM+~NAi8EPZngaYeBSVIs10IYw_Q2+AH{NjxL&ph?pJJXgRZSk9I8}JIg z^PEev*1~jj!vxlDjd@~@vllSnTs3d?c+ZR}sYtOzdZQl`xN%<{*tX_%oaB{z9m(oX zEEy0Sl!~bkb$%bo>rgLwqZ)GJT>pTfc3SRsJ4iQz=sY zX~@}Bu%J#x5-O)OJN}4(I*=u5akCJMn`_qaSzcLJ;YNJqn08Wb`gta=A2*yp+#>MGWCHgK-YwTp z)z983mpLcTu%RR`X+4n_5lv1>P7e+d=ex!7ikmdQBvZ)Otq4u;BBXDRO-xL(Z$wHr=z3@oDkfFleG`l^CguTj?3E4-$S^%m$AtNqwFUdh-A`5Lf)*ckDVV z$z4Qzx8BPs+*ZX&az&O;cCrk3uv$!Mkyg+zXd|DLp*_mKu(;r)x_-W6hk^d!?L4K} z;G8|fD4HC!Ae#uG5{VHO?S7S-26K`}fvnP|5HZSqk)rHQs?MF^^}3tC_7ML$KqX07 zohvaYECSIR6wThkL2Z|`iE~yVEETWgB?3%Te|&%hOODK>{bVY(dN_CeatHu>smrFZ z9SaYMHj*=(BIo`Sd`GH^o&DtOtiosiwprC|12*GZg?4(~D2_AzN+&kYUB>`#6?TpD zcI#}cs5^7uU^`;Jwv97WHxCn5gr@(%S*R=%_LjGtqU(|Tz2O`-{D8JiAkQinCcGJZ zUMM@!X!W_YEgoG%Xp@|>DoDw^n+)2S)uZy@{uN7hizYHKnlt6@5@5`%JpVZ>%r2$K z#-K0e#otwRuLZrlRr)bnQM+yVljzH@}EQ*Z<}G{b1@Smot-n72h;b691T__)2M|fM5P<-dL5yy|&mjEOAK2cX=t>KNJ3r2i3it-J zE<(~@!Zbv+7SJM;L=}RP`8|o++_ncr{&ShONefM>t#XG9tf+lu2F`vWEvu-jvE<#x zO_ZH3HNV+>P}w`+UMC#IiWW;{nxAnnc-JoNmcr|!2MQAklMr`lakZq6kobu%{vk2! zKEJ;`kv)9p;bUrn9Mzx)3Cj;+@m;gJBx{eh>`m+Uw!#i1VxzaDCh{Z0P*txN0c4!oCvW*8# zB1ji!G=-Kj#R?^y;F6?U=7{tV<_WmS6`evgR3#ZSPWFoZ)5RQc#3xDZ5PE2-6+F4w zrt|9Ys^>)<;@Tx~Qn5A|jFS=&>9d3h05}e1&hxF{t|^{D+)rmygiY|Qnh_!8WkYl? zD1+oJC2U{Z3OWYTJ=5a}_a4V5>*4JaXzME-)i=C9Q6Cq6Puu(i_8_Nuawr)P{Bg0X zAQF&uU$T}nx0J>@h8Y1MF&QqZuA8Q06y31@pw-SGYLSgw)m=75GgVdwe*hQE^|l8; zhK0+ZA_bZjoZy16mu2mod{||;kXRq^&H)*F-FCr8yrHeL2d`?c>>oIbXD2GGu` z%gt64w8DnUTt#C)6V^DSTvHfeN9zxuL|GNhgTki4`4B5ccFFrT**vK!jl$ur*yXDk z7@-Oz&Cx7FXy22Z`HOwy@qDvcG!l$iy0|2DMd}E4Nh+E%4WzXmX1cO5v86`qO<0uA zerQt}XbJop(Hsn#DciIMjmkLPNmv-frlZmPykA;BBWmxDJWX~i8>Okq%-iT?<&Idv z%dYsX&vhpwy64<%PfyDx`C(dGDb#1qOv6AdA~ZEAdetr8r*;_3Y|DGRyq10wQgngt zxJjU{bHraXZ~yjGxGcWW<%~AM_-bh}lCC0J?AabqA{w}#h*{##R>T=ndv76XGE;E* zy|gSf;ZD**$oyF6!M~y=)uv(IcXL9`u7cf|f$FT)yf>qmmQ$gL6S)E1$Ii~1jC2r& zAi53YEgO$B1lzFyD@{YvjH$ASp9f(xs7)JyVk;e5jM9PsZBOH9?WLV1@ou;tt=T&! z%v!sE*q67a-t?z}DU`JRQv>*HSyRYx!qce(lQOJpE!UBG7;BFmmh(el9<7r~{TIdl z??l%vf{B+WI{>2xLr6b8judk`M@yah*`|`siPEl<#FrUsdPRraqhsdh+DgYSd;s6< zs@4$?BTgDZ#s}nFlnV^jv@rZXO72JL`6%07Z5NT+rHMgH#4|37wLEB1YBd`Zh zAAZgmrKrl<-IFJGJ?Jl4zKE!7&fzxI%p1KyNL<&IV;NfS)kilr|G4@uC1G%zegwqQ zJ`6(Gf9nh1ObR&_8 z2kUf|uQwV`Ncvz@bg^1g!V&tSN?+!;>=W0X>tu>A!`wtvm)SGHS6FPZsxig)y{;>h ztEL$vrLrA^DJ1PSRyW69SRP&*waM5}_~;qXz^cS*JDL&nm+H%C)Hgwl;4MQHU6Gly z2mqyd8*4}hO_RiP1Jx_6o|XN@%zxsvh<^zY_kU=duR*Lf3k^djhiuXr9KNJk zS&Q`mBW#YEI70BY-{bq8xdX}t`iaQsxrdhj`d z$r_@Ht61wcpQ8KmD`KwUNGJ|kUf`7U`YBZl=r$%tjQ$=QSB-45tUx*fL*YpsNfgd_ zHhW?o+}Py)YzJn~U~qK4yC?!uGhRF4;cm|_`=LzBdLGZ)IwCj6LkHv0_)UNv8g zwSF9~sHGCL0WAT``inDwx+&WN`iyAMmTTOw&*y01VY)w%m&A9>EedX(Lbil_KV%wryLI&H`jYgyPzUy@>M7PH5u1il`-B=XjWN5!>fz}74qywz@q z4USCyMemWW#z~}i@Uq(KApsxmjWNi$T3GQ|v;(fH`OK!zPvXX_s0gZk6zV7goeT?GbYVV z?@^6*LJP*nKg3kTQ@$3dZ3IeaD@*SYpGfr^;1OSe9Xw$mei^mr;^H^V-ix#DD2t=~ znL~9xZ&{*pwx(oJtgkWeoo|>$rb;FZAdBd^C$%Y7yaS$CuGZrCLF-64E!|~VxK#7Y zl+aydaiq2S?l44Htn?%`t$>tFD=i2fBY2q(ZApVczTqdQJdS7zupe~F$!iVBFR#97 z05HP>^0Sl$U*n+Itxs|T3JE6?5=l$9P6y0UUmR}-c3ocfo!k|_mUirM z+7kNnd^&&2j|PUz>KIpyDM&Aia1Rq&fgOGAb?oh{jTn_@wx?ytV1j2#lcD=OrmIyZ zq~X`QDeq?RDj>Tap3NWac#Ui02MX&|Eu{?J1yskNG^$*U8HcJ3HHl^$phsr-7^_H) z#wMz6E@_Ypd$cC@bp;oUizQK2+Bf6ZX^mrNn@v|eYr9|==HTT9dOzKzs3t?kw5d&; z!&0pc|VU!_$7dmc-qPUrWgCs}k1odoM~1&JTN{{XD_y)Qj@fNzUms2`b%p z$USkCTZ?SvCZe0u&E09<-b$CpQp*ejRXLsb9j`=Z0q3$?6-{5s7foNLYZKq#xSTWw zBh%looUA7<<~8hbJQkFLoI8PvGjJFkk`~w;v~S`~aT5kAsrQu7&4a%K{gXlFaSfFB z|3}35ZI=B{Hr@XvV(9%QVmSUHVvJIJ5HY}8u|)00^hZ^XRR2Z9;Q2+wxDDB8D#540 zp};&yLqj1GRTNwA+CO|~`ygV>8mdT`Zu)`oxYzaZzV zr3P)QXl_6oRn*Yp_46Y{EG|eYo`dq-Je_rJeHf(wZI6ybdsEkbtVF{fx)*2G9IMuc)juP=uLZ=!fW)1?A&cA& zP{K)pg?)yD8g^ixTI;&CANlYK+s`$}Lc${Sdb5ACYHd2yv}e2w+z%8GXZV_>0ld*d z6{Tbqy)=R*s5EQb@Tq<&M-@s!W4YzgFU}$^)pRp<#v#w?1|Eiv?je-KXj0Ku{KRo_ z^*&%Q>6My*RO_c(`K#nvFKtA&i_eD`|1Bt2k@Qae|69=C4jh~qzd&nVvbn4zo*NCCy0nHS zT))7=V}=hwO&Sv!mRrHyIx+0cue%?UFZOEb5<_#usg3%qW!<3n4K*fiB&GhUvJAeF z!FTzexkWth8Ul{5bTy%GXI{P&!6+_}lli%`sFCyTW(}3rmQR$N9 zmU?SkljoX;;Ngsv^cm7W!+5q;xkvJ~sRANq6lc;jPKTor!8HZ}3J%;*?1bhjpX5t=h@CKILI7|P87zCFCa4zpd+hZFW zyL6@5sJqQ@0Wozdvlc4vLj8b*F62>2sq32 zAB^}=RVvuOTu&N8Hr9?t){Z(~+-!{;w0^ms>JtB?%u}h<8Dk>}n&N`X$tL> zPhS=M2squ?DFh~DVbk52DVBcekUinR&7{wu)h5V+>_7^rp@+I~ni`O$zI?D<<3a_E zyHa1;%t4amx8vpI#^9kL*6p6gqn<|SXQr&S?xLg-0-0ovkI5kNmR7`6;!#wL>GggW zUg$>taFvu24&+Iu6gL-an|FWXiUUFWY&T77*-n+CUstHymw(lNOi$OIC^Q`F2Fpga zjc5STypWUmxUP%pGWuOyM98iPX^mnK!(MOCLacTl!FbO&mNh|-iIMd{ZW7ldyDx>` z%o1Q|i7C23aiG(o@_K)>6@|zi3;88$lSkIdk-i3jgy|yo`v*zFKeG|WDwg$N!+p^q zf77|)+|b*!gUYD_dW0M1PV@SX!e~pH)C6vO!T+q8OAu{E|7%^H?=$a~nq#^{9@2q_ zgeT-F?q=;BS=3nu_a|ytzfssmk99s_jrLQo#$dgsBCyTK*VL^CK1{>6>WGbhHy$7m z6u|%YaR(p&_P>7qKKwvV@;__;eICG{s<^-WyZ>`^!vCBO@OSmUbI$)%fA|=9e-@2@ z%0T}c>+cNiKUlwxGWhc-|IX+B8{qF8=05(X;JA>m7ir2?!5`RSc zcRt780Dost`~l$oIC0@0@+tlX_?rXz2cZ39DgN^Wf0X)%5&AdQ--OCPSZ$bp>*QZ} ze>C%Zw)`9LZ+_k%zz*!+fd9qT`y1i!@a7+cZnA$r(*Fbz{;vFYsO3*(d#eAfn_sQ- zTPuG9{2jXZ17JY?``iDeh5rg<{EhRs!~PFWJ Date: Sun, 28 May 2023 23:04:30 +0200 Subject: [PATCH 03/30] feat: update gitignore to contain database files --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..d6ffe6a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +database +anime_with_synopsis.csv +anime.csv +animelist.csv +rating_complete.csv +watching_status.csv \ No newline at end of file From 6bdb869e13bf24bff4b9e5b3707d195cc0fc634e Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 28 May 2023 23:05:07 +0200 Subject: [PATCH 04/30] feat: add midterm code so far --- midterm/main.py | 196 +++++++++++++++++++++++++++++++++++++++ midterm/requirements.txt | 4 + 2 files changed, 200 insertions(+) create mode 100644 midterm/main.py create mode 100644 midterm/requirements.txt diff --git a/midterm/main.py b/midterm/main.py new file mode 100644 index 00000000..767ba90f --- /dev/null +++ b/midterm/main.py @@ -0,0 +1,196 @@ +""" +Code for preprocessing data and creating model that predicts and +recomends anime based on another anime entered by user +""" +import pandas as pd +import numpy as np +from sklearn.neighbors import NearestNeighbors +from scipy.sparse import csr_matrix + + +def get_data(limit_data=-1, data_folder_path="database"): + """ + Reads anime from csv database + """ + if limit_data > -1: + # User can limit number of data taken into consideration, + # model seems to work with limit_data value as low as 500,000 + rating_data = pd.read_csv( + data_folder_path + "/animelist.csv", nrows=limit_data) + else: + rating_data = pd.read_csv(data_folder_path + "/animelist.csv") + anime_data = pd.read_csv(data_folder_path + "/anime.csv") + + # used to fetch anime_id(MAL_ID) + anime_data = anime_data.rename(columns={"MAL_ID": "anime_id"}) + anime_contact_data = anime_data[["anime_id", "Name"]] + return rating_data, anime_contact_data + + +def merge_rating_anime_data(rating_data, anime_contact_data, debug=False): + """ + Preprocesses the data used for rating + """ + rating_data = rating_data.merge( + anime_contact_data, left_on="anime_id", right_on="anime_id", how="left" + ) + rating_data = rating_data[ + ["user_id", "Name", "anime_id", "rating", + "watching_status", "watched_episodes"] + ] + rating_head = rating_data.head() + if debug: + print(rating_head) + rating_shape_complete = rating_data.shape + if debug: + print(rating_shape_complete) + return rating_data + + +def split_data_below_thresholds(rating_data, data_name, threshold, debug=False): + """ + Removes data with data_name which is below given threshold + """ + count = rating_data[data_name].value_counts() + rating_data = rating_data[ + rating_data[data_name].isin(count[count >= threshold].index) + ].copy() + rating_shape_cut = rating_data.shape + if debug: + print(rating_shape_cut) + return rating_data + + +def combine_name_and_ratings(rating_data, debug=False): + """ + Create table which holds name of the anime and number of its reviews + then we merge this with rating_data + """ + combine_movie_rating = rating_data.dropna(axis=0, subset=["Name"]) + movie_rating_count = ( + combine_movie_rating.groupby(by=["Name"])["rating"] + .count() + .reset_index()[["Name", "rating"]] + ) + rating_head = movie_rating_count.head() + if debug: + print(rating_head) + rating_data = combine_movie_rating.merge( + movie_rating_count, left_on="Name", right_on="Name", how="left" + ) + return rating_data + + +def get_length_of_data(rating_data, data_name): + """ + We get amount of data in the database with a given column data_name + """ + # Encoding categorical data + column_ids = rating_data[data_name + "_id"].unique().tolist() + column_to_column = {x: i for i, x in enumerate(column_ids)} + rating_data[data_name] = rating_data[data_name + + "_id"].map(column_to_column) + users_number = len(column_to_column) + return users_number + + +def get_top_ranked(rating_data, data_name, join_table=None, top_data_taken=20): + """ + Get anime with highest ranking + """ + if join_table is None: + join_table = rating_data + group_data_by_rating = rating_data.groupby( + data_name + "_id")["rating"].count() + top_users = group_data_by_rating.dropna().sort_values(ascending=False)[ + :top_data_taken] + top_rated = join_table.join(top_users, rsuffix="_r", + how="inner", on=data_name + "_id") + return top_rated + + +def get_data_info(rating_data, debug=False): + """ + Get some informations about data + """ + users_number = get_length_of_data(rating_data, "user") + animes_number = get_length_of_data(rating_data, "anime") + + top_rated = get_top_ranked(rating_data, "user") + top_rated = get_top_ranked(rating_data, "anime", top_rated) + + pivot = pd.crosstab(top_rated.user_id, top_rated.anime_id, + top_rated.rating, aggfunc=np.sum) + + pivot.fillna(0, inplace=True) + smallest_rating = min(rating_data["rating"]) + highest_rating = max(rating_data["rating"]) + if debug: + print(pivot) + if debug: + print(f"Num of users: {users_number}, Num of animes: {animes_number}") + print( + f"Min total rating: {smallest_rating}, Max total rating: {highest_rating}") + + +def preprocessing(rating_data, anime_contact_data, debug=False): + """ + Preprocesses data for making model more accurate and/or faster + """ + rating_data = merge_rating_anime_data(rating_data, anime_contact_data) + rating_data = split_data_below_thresholds(rating_data, "user_id", 500) + rating_data = split_data_below_thresholds(rating_data, "anime_id", 200) + rating_data = combine_name_and_ratings(rating_data) + + rating_data = rating_data.drop(columns="rating_x") + rating_data = rating_data.rename(columns={"rating_y": "rating"}) + if debug: + print(rating_data) + get_data_info(rating_data) + + piviot_table = rating_data.pivot_table( + index="Name", columns="user_id", values="rating" + ).fillna(0) + if debug: + print(piviot_table) + return piviot_table + + +def predict(prediction_model, piviot_table): + """ + This will choose a random anime name and our prediction_model will predict similar anime. + """ + random_anime = np.random.choice(piviot_table.shape[0]) + + query = piviot_table.iloc[random_anime, :].values.reshape(1, -1) + distance, suggestions = prediction_model.kneighbors(query, n_neighbors=6) + + for i in range(0, len(distance.flatten())): + if i == 0: + print(f"Recommendations for {0}:\n".format( + piviot_table.index[random_anime])) + else: + print( + f"{0}: {1}, with distance of {2}:".format( + i, + piviot_table.index[suggestions.flatten()[i]], + distance.flatten()[i], + ) + ) + + +def create_model(piviot_table): + """ + Creates model based on neaarest neighbor for anime prediction + """ + piviot_table_matrix = csr_matrix(piviot_table.values) + model = NearestNeighbors(metric="cosine", algorithm="brute") + model.fit(piviot_table_matrix) + return model + + +if __name__ == "__main__": + RATING_DATA, ANIME_CONTACT_DATA = get_data(524288) + PIVOT_TABLE = preprocessing(RATING_DATA, ANIME_CONTACT_DATA) + MODEL = create_model(PIVOT_TABLE) + predict(MODEL, PIVOT_TABLE) diff --git a/midterm/requirements.txt b/midterm/requirements.txt new file mode 100644 index 00000000..b0c17db6 --- /dev/null +++ b/midterm/requirements.txt @@ -0,0 +1,4 @@ +pandas +numpy +seaborn +matplotlib \ No newline at end of file From ffd805450d149f0eb691fd16cee17ece2d1f1d9e Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 20:57:27 +0200 Subject: [PATCH 05/30] feat: renamed piviot to pivot and fixed recomended anime not being printed --- midterm/main.py | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/midterm/main.py b/midterm/main.py index 767ba90f..69625c20 100644 --- a/midterm/main.py +++ b/midterm/main.py @@ -105,7 +105,7 @@ def get_top_ranked(rating_data, data_name, join_table=None, top_data_taken=20): top_users = group_data_by_rating.dropna().sort_values(ascending=False)[ :top_data_taken] top_rated = join_table.join(top_users, rsuffix="_r", - how="inner", on=data_name + "_id") + how="inner", on=data_name + "_id") return top_rated @@ -148,44 +148,39 @@ def preprocessing(rating_data, anime_contact_data, debug=False): print(rating_data) get_data_info(rating_data) - piviot_table = rating_data.pivot_table( + pivot_table = rating_data.pivot_table( index="Name", columns="user_id", values="rating" ).fillna(0) if debug: - print(piviot_table) - return piviot_table + print(pivot_table) + return pivot_table -def predict(prediction_model, piviot_table): +def predict(prediction_model, pivot_table): """ This will choose a random anime name and our prediction_model will predict similar anime. """ - random_anime = np.random.choice(piviot_table.shape[0]) + random_anime = np.random.choice(pivot_table.shape[0]) - query = piviot_table.iloc[random_anime, :].values.reshape(1, -1) + query = pivot_table.iloc[random_anime, :].values.reshape(1, -1) distance, suggestions = prediction_model.kneighbors(query, n_neighbors=6) - + random_anime_name = pivot_table.index[random_anime] for i in range(0, len(distance.flatten())): if i == 0: - print(f"Recommendations for {0}:\n".format( - piviot_table.index[random_anime])) + print(f"Recommendations for {random_anime_name}:\n") else: print( - f"{0}: {1}, with distance of {2}:".format( - i, - piviot_table.index[suggestions.flatten()[i]], - distance.flatten()[i], - ) + f"{i}: {pivot_table.index[suggestions.flatten()[i]]}, with distance of {distance.flatten()[i]}:" ) -def create_model(piviot_table): +def create_model(pivot_table): """ Creates model based on neaarest neighbor for anime prediction """ - piviot_table_matrix = csr_matrix(piviot_table.values) + pivot_table_matrix = csr_matrix(pivot_table.values) model = NearestNeighbors(metric="cosine", algorithm="brute") - model.fit(piviot_table_matrix) + model.fit(pivot_table_matrix) return model From e0b160f07182f63cfd1a73c61a6a7cd1fb7c56a2 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 21:39:56 +0200 Subject: [PATCH 06/30] feat: add seed to randomizing anime --- .vscode/extensions.json | 3 +++ midterm/{ => code}/main.py | 4 ++-- midterm/{ => code}/requirements.txt | 0 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .vscode/extensions.json rename midterm/{ => code}/main.py (98%) rename midterm/{ => code}/requirements.txt (100%) diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..cd8d3d51 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["james-yu.latex-workshop"] +} diff --git a/midterm/main.py b/midterm/code/main.py similarity index 98% rename from midterm/main.py rename to midterm/code/main.py index 69625c20..cc026d0c 100644 --- a/midterm/main.py +++ b/midterm/code/main.py @@ -156,12 +156,12 @@ def preprocessing(rating_data, anime_contact_data, debug=False): return pivot_table -def predict(prediction_model, pivot_table): +def predict(prediction_model, pivot_table, seed=42): """ This will choose a random anime name and our prediction_model will predict similar anime. """ + np.random.seed(seed) random_anime = np.random.choice(pivot_table.shape[0]) - query = pivot_table.iloc[random_anime, :].values.reshape(1, -1) distance, suggestions = prediction_model.kneighbors(query, n_neighbors=6) random_anime_name = pivot_table.index[random_anime] diff --git a/midterm/requirements.txt b/midterm/code/requirements.txt similarity index 100% rename from midterm/requirements.txt rename to midterm/code/requirements.txt From f4e00bf01933428dbf945b891ca7825b74942f93 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 21:59:33 +0200 Subject: [PATCH 07/30] feat: added argument support --- midterm/code/main.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/midterm/code/main.py b/midterm/code/main.py index cc026d0c..8650068f 100644 --- a/midterm/code/main.py +++ b/midterm/code/main.py @@ -4,6 +4,8 @@ recomends anime based on another anime entered by user """ import pandas as pd import numpy as np +import argparse + from sklearn.neighbors import NearestNeighbors from scipy.sparse import csr_matrix @@ -184,8 +186,27 @@ def create_model(pivot_table): return model +def handle_arguments(): + parser = argparse.ArgumentParser(description='Example script with pyargs') + parser.add_argument('--data_limit', '-dl', + help='Specify data limit, Recommended at least 50k', required=False, type=int, default=-1) + parser.add_argument('--seed', '-s', help='Specify seed', + type=int, required=False, default=42) + parser.add_argument('--debug', '-d', help='Use debug (more information) prints', + type=bool, required=False, default=False) + parser.add_argument('--database', '-db', help='Specify database path', + required=False, default="database") + # Parse the command-line arguments + args = parser.parse_args() + + # Access the values of the arguments + return args.seed, args.debug, args.data_limit, args.database + + if __name__ == "__main__": - RATING_DATA, ANIME_CONTACT_DATA = get_data(524288) - PIVOT_TABLE = preprocessing(RATING_DATA, ANIME_CONTACT_DATA) + seed, debug, data_limit, db = handle_arguments() + + RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) + PIVOT_TABLE = preprocessing(RATING_DATA, ANIME_CONTACT_DATA, debug) MODEL = create_model(PIVOT_TABLE) - predict(MODEL, PIVOT_TABLE) + predict(MODEL, PIVOT_TABLE, seed) From 8120fefc584417a84168569007909ac63a40f3a2 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 22:15:46 +0200 Subject: [PATCH 08/30] feat: start report --- midterm/report/report.aux | 27 ++ midterm/report/report.fdb_latexmk | 62 +++ midterm/report/report.fls | 411 ++++++++++++++++++ midterm/report/report.log | 219 ++++++++++ midterm/report/report.out | 10 + midterm/report/report.pdf | Bin 0 -> 18562 bytes midterm/report/report.synctex.gz | Bin 0 -> 4306 bytes midterm/report/report.tex | 33 ++ midterm/report/report.xdv | Bin 0 -> 20600 bytes ...IN_KLISZKO_RUDNICKI_PRELIMINARY_REPORT.tex | 0 10 files changed, 762 insertions(+) create mode 100644 midterm/report/report.aux create mode 100644 midterm/report/report.fdb_latexmk create mode 100644 midterm/report/report.fls create mode 100644 midterm/report/report.log create mode 100644 midterm/report/report.out create mode 100644 midterm/report/report.pdf create mode 100644 midterm/report/report.synctex.gz create mode 100644 midterm/report/report.tex create mode 100644 midterm/report/report.xdv delete mode 100644 preliminaryReport/EARIN_KLISZKO_RUDNICKI_PRELIMINARY_REPORT.tex diff --git a/midterm/report/report.aux b/midterm/report/report.aux new file mode 100644 index 00000000..de7868f8 --- /dev/null +++ b/midterm/report/report.aux @@ -0,0 +1,27 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand*\HyPL@Entry[1]{} +\HyPL@Entry{0<>} +\@writefile{toc}{\contentsline {section}{\numberline {1}Progress}{1}{section.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}Results}{1}{section.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Presentation}{1}{subsection.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Plots}{1}{subsubsection.2.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Tables}{1}{subsubsection.2.1.2}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Seed}{1}{section*.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3}Challenges}{2}{section.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Failed attempts}{2}{subsection.3.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Corrections}{2}{subsection.3.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results and findings}{2}{subsection.3.3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Finishing project}{2}{section.4}\protected@file@percent } +\gdef \@abspage@last{2} diff --git a/midterm/report/report.fdb_latexmk b/midterm/report/report.fdb_latexmk new file mode 100644 index 00000000..c6e09ab0 --- /dev/null +++ b/midterm/report/report.fdb_latexmk @@ -0,0 +1,62 @@ +# Fdb version 4 +["xdvipdfmx"] 1685391330 "report.xdv" "report.pdf" "report" 1685391330 0 + "report.xdv" 1685391330 20600 f078bc2b2ced2fc2e41ec88d8ace67b6 "xelatex" + (generated) + "report.pdf" + (rewritten before read) +["xelatex"] 1685391330 "/home/kuchy/earin/earin_project/midterm/report/report.tex" "report.xdv" "report" 1685391330 0 + "/home/kuchy/earin/earin_project/midterm/report/report.tex" 1685391329 2040 69a2ecee5e6200f6673defc4b47f00a6 "" + "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1680514707 3524 cb3e574dea2d1052e39280babc910dc8 "" + "/usr/share/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm" 1680514707 1528 f853c4d1b4e0550255e02831fdc8496f "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1680514707 1524 4414a8315f39513458b80dfc63bff03a "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1680514707 1288 655e228510b4c2a1abe905c368440826 "" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1680514707 1124 6c73e740cf17375f03eec0ee63599741 "" + "/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1680514707 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" + "/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1680514707 40635 c40361e206be584d448876bba8a64a3b "" + "/usr/share/texmf-dist/tex/generic/bitset/bitset.sty" 1680514707 33961 6b5c75130e435b2bfdb9f480a09a39f9 "" + "/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1680514707 7734 b98cbb34c81f667027c1e3ebdbfce34b "" + "/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1680514707 8371 9d55b8bd010bc717624922fb3477d92e "" + "/usr/share/texmf-dist/tex/generic/iftex/iftex.sty" 1680514707 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a "" + "/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1680514707 8356 7bbb2c2373aa810be568c29e333da8ed "" + "/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty" 1680514707 31769 002a487f55041f8e805cfbf6385ffd97 "" + "/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1680514707 5412 d5a2436094cd7be85769db90f29250a6 "" + "/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1680514707 17859 4409f8f50cd365c68e684407e5350b1b "" + "/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1680514707 19007 15924f7228aca6c6d184b115f4baa231 "" + "/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1680514707 20089 80423eac55aa175305d35b49e04fe23b "" + "/usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty" 1680514707 21514 b7557edcee22835ef6b03ede1802dad4 "" + "/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1680514707 7008 f92eaa0a3872ed622bbf538217cd2ab7 "" + "/usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty" 1680514707 19336 ce7ae9438967282886b3b036cfad1e4d "" + "/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty" 1680514707 3935 57aa3c3e203a5c2effb4d2bd2efbc323 "" + "/usr/share/texmf-dist/tex/latex/base/article.cls" 1680514707 20144 d5ecf0a5140c8d8d8b72cbe86e320eff "" + "/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1680514707 3052 30236f0cc243a8651b82240dfd2e8b9d "" + "/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1680514707 2462 8ce5f9a9c63002f2c1af03c262cf29af "" + "/usr/share/texmf-dist/tex/latex/base/size12.clo" 1680514707 8449 c314623021fbddd0180c05345324933c "" + "/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd" 1680514707 2430 8418b3f1835e588625becbcac4dbce56 "" + "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1680514707 2671 7e67d78d9b88c845599a85b2d41f2e39 "" + "/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty" 1680514707 17914 4c28a13fc3d975e6e81c9bea1d697276 "" + "/usr/share/texmf-dist/tex/latex/hyperref/hxetex.def" 1680514707 44472 a079d09fb6a7034a730c6d56a4fe1267 "" + "/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty" 1680514707 223129 4edf043af471f3251c66e432cfa22987 "" + "/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty" 1680514707 12947 1ce831528e963a8568de1f4d67cfb982 "" + "/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def" 1680514707 14249 d947c5c09f3af04ae2f37fc11c7ac2f6 "" + "/usr/share/texmf-dist/tex/latex/hyperref/puenc.def" 1680514707 117125 aa115cac3914abcf3769f370e6325117 "" + "/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1680514707 22555 6d8e155cfef6d82c3d5c742fea7c992e "" + "/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1680514707 13815 760b0c02f691ea230f5359c4e1de23a7 "" + "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def" 1680514707 32346 879686206fa618f4f5073ad4bd48feda "" + "/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1680514707 5766 13a9e8766c47f30327caf893ece86ac8 "" + "/usr/share/texmf-dist/tex/latex/listings/listings.cfg" 1680514707 1829 d8258b7d94f5f955e70c623e525f9f45 "" + "/usr/share/texmf-dist/tex/latex/listings/listings.sty" 1680514707 80947 75a96bb4c9f40ae31d54a01d924df2ff "" + "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" 1680514707 77021 d05e9115c67855816136d82929db8892 "" + "/usr/share/texmf-dist/tex/latex/refcount/refcount.sty" 1680514707 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" + "/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1680514707 9714 ba3194bd52c8499b3f1e3eb91d409670 "" + "/usr/share/texmf-dist/tex/latex/url/url.sty" 1680514707 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "/usr/share/texmf-dist/web2c/texmf.cnf" 1680514707 39911 2da6c67557ec033436fe5418a70a8a61 "" + "/var/lib/texmf/web2c/xetex/xelatex.fmt" 1681763698 11046108 24dffefc9850ac1939834d68c95379b0 "" + "report.aux" 1685391330 1770 8e01609f5240f79889437deb07594cdd "xelatex" + "report.out" 1685391330 1102 2cbb39a98792aded098f7ea274b20901 "xelatex" + "report.tex" 1685391329 2040 69a2ecee5e6200f6673defc4b47f00a6 "" + (generated) + "report.aux" + "report.log" + "report.out" + "report.xdv" + (rewritten before read) diff --git a/midterm/report/report.fls b/midterm/report/report.fls new file mode 100644 index 00000000..4afaf887 --- /dev/null +++ b/midterm/report/report.fls @@ -0,0 +1,411 @@ +PWD /home/kuchy/earin/earin_project/midterm/report +INPUT /usr/share/texmf-dist/web2c/texmf.cnf +INPUT /var/lib/texmf/web2c/xetex/xelatex.fmt +INPUT /home/kuchy/earin/earin_project/midterm/report/report.tex +OUTPUT report.log +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/article.cls +INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo +INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/tex/latex/url/url.sty +INPUT /usr/share/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/share/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def +INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty +INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +INPUT ./report.aux +INPUT report.aux +INPUT report.aux +OUTPUT report.aux +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT ./report.out +INPUT report.out +INPUT ./report.out +INPUT report.out +INPUT ./report.out +INPUT report.out +INPUT ./report.out +INPUT report.out +INPUT ./report.out +INPUT ./report.out +OUTPUT report.out +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +OUTPUT report.xdv +INPUT report.aux +INPUT ./report.out +INPUT ./report.out diff --git a/midterm/report/report.log b/midterm/report/report.log new file mode 100644 index 00000000..8abf917d --- /dev/null +++ b/midterm/report/report.log @@ -0,0 +1,219 @@ +This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Arch Linux) (preloaded format=xelatex 2023.4.17) 29 MAY 2023 22:15 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**/home/kuchy/earin/earin_project/midterm/report/report.tex +(/home/kuchy/earin/earin_project/midterm/report/report.tex +LaTeX2e <2022-11-01> patch level 1 +L3 programming layer <2023-02-22> (/usr/share/texmf-dist/tex/latex/base/article.cls +Document Class: article 2022/07/02 v1.4n Standard LaTeX document class +(/usr/share/texmf-dist/tex/latex/base/size12.clo +File: size12.clo 2022/07/02 v1.4n Standard LaTeX file (size option) +) +\c@part=\count181 +\c@section=\count182 +\c@subsection=\count183 +\c@subsubsection=\count184 +\c@paragraph=\count185 +\c@subparagraph=\count186 +\c@figure=\count187 +\c@table=\count188 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\bibindent=\dimen140 +) (/usr/share/texmf-dist/tex/latex/listings/listings.sty (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2022/05/29 v1.15 key=value parser (DPC) +\KV@toks@=\toks16 +) +\lst@mode=\count189 +\lst@gtempboxa=\box51 +\lst@token=\toks17 +\lst@length=\count190 +\lst@currlwidth=\dimen141 +\lst@column=\count191 +\lst@pos=\count192 +\lst@lostspace=\dimen142 +\lst@width=\dimen143 +\lst@newlines=\count193 +\lst@lineno=\count194 +\lst@maxwidth=\dimen144 + (/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz) +\c@lstnumber=\count195 +\lst@skipnumbers=\count196 +\lst@framebox=\box52 +) (/usr/share/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2023/02/27 1.9 listings configuration +)) +Package: listings 2023/02/27 1.9 (Carsten Heinz) + (/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2023-02-07 v7.00v Hypertext links for LaTeX + (/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) +) (/usr/share/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +) (/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) + (/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +) (/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) +) (/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) (/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) (/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) (/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) (/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) (/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2022-05-17 v2.50 Cross-referencing by name of section + (/usr/share/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) (/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) + (/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) +)) +\c@section@level=\count197 +) +\@linkdim=\dimen145 +\Hy@linkcounter=\count198 +\Hy@pagecounter=\count199 + (/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2023-02-07 v7.00v Hyperref: PDFDocEncoding definition (HO) +) (/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) (/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count266 + (/usr/share/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2023-02-07 v7.00v Hyperref: PDF Unicode definition (HO) +) +Package hyperref Info: Hyper figures OFF on input line 4177. +Package hyperref Info: Link nesting OFF on input line 4182. +Package hyperref Info: Hyper index ON on input line 4185. +Package hyperref Info: Plain pages OFF on input line 4192. +Package hyperref Info: Backreferencing OFF on input line 4197. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4425. +\c@Hy@tempcnt=\count267 + (/usr/share/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4763. +\XeTeXLinkMargin=\dimen146 + (/usr/share/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + (/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) +)) +\Fld@menulength=\count268 +\Field@Width=\dimen147 +\Fld@charsize=\dimen148 +Package hyperref Info: Hyper figures OFF on input line 6042. +Package hyperref Info: Link nesting OFF on input line 6047. +Package hyperref Info: Hyper index ON on input line 6050. +Package hyperref Info: backreferencing OFF on input line 6057. +Package hyperref Info: Link coloring OFF on input line 6062. +Package hyperref Info: Link coloring with OCG OFF on input line 6067. +Package hyperref Info: PDF/A mode OFF on input line 6072. + (/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count269 +\c@Item=\count270 +\c@Hfootnote=\count271 +) +Package hyperref Info: Driver (autodetected): hxetex. + (/usr/share/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2023-02-07 v7.00v Hyperref driver for XeTeX + (/usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty +Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO) +) +\pdfm@box=\box53 +\c@Hy@AnnotLevel=\count272 +\HyField@AnnotCount=\count273 +\Fld@listcount=\count274 +\c@bookmark@seq@number=\count275 + (/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) + (/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package +with kernel methods +) (/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285. +) +\Hy@SectionHShift=\skip50 +) (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +File: l3backend-xetex.def 2023-01-16 L3 backend support: XeTeX +\g__graphics_track_int=\count276 +\l__pdf_internal_box=\box54 +\g__pdf_backend_object_int=\count277 +\g__pdf_backend_annotation_int=\count278 +\g__pdf_backend_link_int=\count279 +) (./report.aux) +\openout1 = `report.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 6. +LaTeX Font Info: Trying to load font information for TS1+cmr on input line 6. + (/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 2022/07/10 v2.5l Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +\c@lstlisting=\count280 +Package hyperref Info: Link coloring OFF on input line 6. + (./report.out) (./report.out) +\@outlinefile=\write3 +\openout3 = `report.out'. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <14.4> on input line 8. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 8. + [1 + +] [2] (./report.aux) +Package rerunfilecheck Info: File `report.out' has not changed. +(rerunfilecheck) Checksum: 2CBB39A98792ADED098F7EA274B20901;1102. + ) +Here is how much of TeX's memory you used: + 8689 strings out of 476683 + 138341 string characters out of 5809790 + 1852018 words of memory out of 5000000 + 28875 multiletter control sequences out of 15000+600000 + 513616 words of font info for 43 fonts, out of 8000000 for 9000 + 1348 hyphenation exceptions out of 8191 + 72i,6n,76p,353b,855s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on report.xdv (2 pages, 20600 bytes). diff --git a/midterm/report/report.out b/midterm/report/report.out new file mode 100644 index 00000000..3a8e551f --- /dev/null +++ b/midterm/report/report.out @@ -0,0 +1,10 @@ +\BOOKMARK [1][-]{section.1}{\376\377\000P\000r\000o\000g\000r\000e\000s\000s}{}% 1 +\BOOKMARK [1][-]{section.2}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 2 +\BOOKMARK [2][-]{subsection.2.1}{\376\377\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n}{section.2}% 3 +\BOOKMARK [3][-]{subsubsection.2.1.1}{\376\377\000P\000l\000o\000t\000s}{subsection.2.1}% 4 +\BOOKMARK [3][-]{subsubsection.2.1.2}{\376\377\000T\000a\000b\000l\000e\000s}{subsection.2.1}% 5 +\BOOKMARK [1][-]{section.3}{\376\377\000C\000h\000a\000l\000l\000e\000n\000g\000e\000s}{}% 6 +\BOOKMARK [2][-]{subsection.3.1}{\376\377\000F\000a\000i\000l\000e\000d\000\040\000a\000t\000t\000e\000m\000p\000t\000s}{section.3}% 7 +\BOOKMARK [2][-]{subsection.3.2}{\376\377\000C\000o\000r\000r\000e\000c\000t\000i\000o\000n\000s}{section.3}% 8 +\BOOKMARK [2][-]{subsection.3.3}{\376\377\000R\000e\000s\000u\000l\000t\000s\000\040\000a\000n\000d\000\040\000f\000i\000n\000d\000i\000n\000g\000s}{section.3}% 9 +\BOOKMARK [1][-]{section.4}{\376\377\000F\000i\000n\000i\000s\000h\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t}{}% 10 diff --git a/midterm/report/report.pdf b/midterm/report/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5d87df250d5986447c44494e1b10cf9d90aaf394 GIT binary patch literal 18562 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 A`Tzg` literal 0 HcmV?d00001 diff --git a/midterm/report/report.tex b/midterm/report/report.tex new file mode 100644 index 00000000..e82e33d0 --- /dev/null +++ b/midterm/report/report.tex @@ -0,0 +1,33 @@ +\documentclass[12pt]{article} +\usepackage{listings} +\usepackage{hyperref} +\title{EARIN project Midterm report} +\author{Krzysztof Rudnicki \\ Jakub Kliszko} +\begin{document} +\maketitle +\section{Progress} +We have implemented reading data from csv files, preprocessing them with optional showing of some of the information about the data and used model/learner for implementing neighbour searches \\ +Right now the model predicts random anime choosen from the table +\section{Results} +\subsection{Presentation} +\subsubsection{Plots} +\subsubsection{Tables} +\paragraph{Seed} We added seed in predict function for choosing random anime, using the same seed always returns same recommendations and choosing random anime is the only random part of our code \\ +User can specify their own seed by using -s or --seed flag by entering in command line: +\begin{lstlisting} +python -s 42 +\end{lstlisting} +\section{Challenges} +\subsection{Failed attempts} +Biggest challenge was realizing how overcomplicated and unnecessary difficult to implement is the first code we based on: \href{https://www.kaggle.com/code/chaitanya99/recommendation-system-cf-anime}{Kaggle code with tensorflow} \\ +This solutions runs for almost 10 minutes on kaggle and implementing it to run on our local devices was a real chore that took us a good day and a half to implement \\ +This implementation is based around very powerful Tensor Processing Unit from google and while it is possible to change it to run on local graphics card it requires downloading both cuda and cudnn to a downgraded version supported by tensorflow (11.8) and downgrading graphics card drivers \\ +Running it with CPU results in the model training for over 3 hours +\subsection{Corrections} +Suprisingly even though we based our preliminary report around different example code we managed to not make any corrections to preliminary report \\ +All of functionality that we want to implement is available in sklearn and scipy +\subsection{Results and findings} + +\section{Finishing project} + +\end{document} \ No newline at end of file diff --git a/midterm/report/report.xdv b/midterm/report/report.xdv new file mode 100644 index 0000000000000000000000000000000000000000..93e0ac1341e8981a3c17271904d153f3659cfc7f GIT binary patch literal 20600 zcmdTs33yaxl0P{}NJ36>U!4TVMe>pkBqm%T920~ffv6y$NkfM;IXb30;qXH7n$bjq z8V^Q;vy3yYBRe{txZ^QiqpqWly50&pisQNych*~5wyOTW`n`Thhlas#cYozozw1Bh zue<8ytFQ^Xc0ZaiTR;o`IMcGm-eg~6arU~qd)*dmnYE&{Y*wkYy2ffPpLGR1GXWnw zS~~)5MC;zvTGQRK+3s@euv@k|Ho4m@mE|*`vsvA4OPk%Xxy@~ymbSL<$b zxbV!Ptyz19rFL7l(`BjMj>oRvj*blj1ABwE?G*j}dp-MhioHQ|;rC#^5PLmu?Gz*N z*kfnQ7H3bNy~pKnc3H~RHAk0zZPrN2ralKe+PSS}qqD2kvDvcFQnszEth{VwGxh-3 z?r?P3E$d1)SjxQ%UtdvG3ID3rmz9;R#6u4roOsymJ+i1@ZcVA467Vtr+EzPQ5K^QM8CSc1GRX6Iq(-Py34%4 zUK_8`>UWhD{%1hTqMpZI8+7k80*^6j%f=p~2`5hLu;DKnO|Ey0b@&dX(0R5QonzC+ zLhQcHI~on7k488pdKr6gMI{w-2X~u?9D4_sct@k{(MQ{aH`bTUgnw%Bgj+h$_?>v8 z8xMYw&NE_spA*=e2o1EI#3yv1AvbzQGtd%VbB(bP-oe!#>;Rnp5O zxfeM%maKNS^tb~M-otYRNbC6*oclc}tXwhW_h$>SNb7a=Xs))F9=qnYZ|iI=+2nA! zwN_`B+od^SR&G!zT6eFl!?988=!E}!oSiLQ1{V9TlJIe`{HQYt8T%?P$!~(H=XyQV*M^qpFQiRbBJVe}Rq2Fc!I(^2sY5%YKn!L*Oo5}exJLa_J` zpAu|__nTl=&B8G-JQYxnZMV4Wllu_=c_O+M5O=)zx0><)Cy%K4^Jiib4ULD0FXXgh z&wiJ#CEe>Hn3cbZVBUR;2^N0yCPA(5EP|C6-$QUQOnjT@6E-+HU>Q||A$L9D5tYAu zUxd>Gc$oCVdiovr^5Xn@~gC&NVgh6qdXJ`aXPpGFTvXZ(g>yI3JgfUYvCPZuF{1rO$@5{spA*)Fz= zcClq(I5#54$oj191F_qN6JoyW??<{T5OF`*FT{f5fo*-DZ?{lO zY>91PIL*F<7GV)l_`nHcp65IwcEuY)j*dM?CS8U=oGq+FAx%K`$y&N$t0rDnOt+&F z<<7@_DaFxzpnz^+g{@t1(_Rrt&)^|=;Sl|vtO$WACh3i2x}Fi|AUN&qLW0Fp&LLP{ zFA+BDtvouPozP3LPAmh_QV(cZ2LBpJRB3xcnw|vSd2fz^{6ls->4izpK1ML+H8kWp_)VKWp{ZbbiwH{RHP{JwOl@5sG~z++z3zWa~v{8nC~POx_yvOdMi9yoboa zIqA=bpL3W-hBTq@~CSb_sOZUj2W5cNYLxi5J{fiG#@`W(FysWvzE{^fL@sz@tCkyfrEEgP(> zQQ&NWwDyGLz6i2o>k9^+kLS*EhdEfSLnbyv~INa@&^Q1UO77Qzh0qT1;ZbbpqjXUF*%s%BVW;kD-�Rq-3*;C@ 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 nUj$-@C-hH Date: Mon, 29 May 2023 22:33:29 +0200 Subject: [PATCH 09/30] feat: allow for changing metric and algorithm from arguments --- midterm/code/main.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/midterm/code/main.py b/midterm/code/main.py index 8650068f..7d9f67a7 100644 --- a/midterm/code/main.py +++ b/midterm/code/main.py @@ -6,6 +6,7 @@ import pandas as pd import numpy as np import argparse +import sklearn from sklearn.neighbors import NearestNeighbors from scipy.sparse import csr_matrix @@ -176,12 +177,12 @@ def predict(prediction_model, pivot_table, seed=42): ) -def create_model(pivot_table): +def create_model(pivot_table, metric="cosine", algorithm="brute"): """ Creates model based on neaarest neighbor for anime prediction """ pivot_table_matrix = csr_matrix(pivot_table.values) - model = NearestNeighbors(metric="cosine", algorithm="brute") + model = NearestNeighbors(metric=metric, algorithm=algorithm) model.fit(pivot_table_matrix) return model @@ -196,17 +197,24 @@ def handle_arguments(): type=bool, required=False, default=False) parser.add_argument('--database', '-db', help='Specify database path', required=False, default="database") + + allowed_metric = ["cosine", "mahalanobis", "euclidean"] + parser.add_argument('--metric', '-m', help='Specify metric for NearestNeighbor learner', + required=False, default="cosine", choices=allowed_metric) + allowed_algorithms = ['auto', 'ball_tree', 'kd_tree', 'brute'] + parser.add_argument('--algorithm', '-a', help='Specify alrgorithm for Nearest Neighbor learner', + required=False, default="brute", choices=allowed_algorithms) # Parse the command-line arguments args = parser.parse_args() # Access the values of the arguments - return args.seed, args.debug, args.data_limit, args.database + return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm if __name__ == "__main__": - seed, debug, data_limit, db = handle_arguments() + seed, debug, data_limit, db, metric, algorithm = handle_arguments() RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) PIVOT_TABLE = preprocessing(RATING_DATA, ANIME_CONTACT_DATA, debug) - MODEL = create_model(PIVOT_TABLE) + MODEL = create_model(PIVOT_TABLE, metric, algorithm) predict(MODEL, PIVOT_TABLE, seed) From 0d9182a28f8a5f161397403386ca697fdbdc9df9 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 22:54:18 +0200 Subject: [PATCH 10/30] feat: add option to specifiy anime to choose from --- midterm/code/main.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/midterm/code/main.py b/midterm/code/main.py index 7d9f67a7..dc2d75b4 100644 --- a/midterm/code/main.py +++ b/midterm/code/main.py @@ -159,18 +159,25 @@ def preprocessing(rating_data, anime_contact_data, debug=False): return pivot_table -def predict(prediction_model, pivot_table, seed=42): +def predict(prediction_model, pivot_table, seed=42, anime="RANDOM"): """ This will choose a random anime name and our prediction_model will predict similar anime. """ np.random.seed(seed) - random_anime = np.random.choice(pivot_table.shape[0]) - query = pivot_table.iloc[random_anime, :].values.reshape(1, -1) - distance, suggestions = prediction_model.kneighbors(query, n_neighbors=6) - random_anime_name = pivot_table.index[random_anime] + print(pivot_table) + if anime == "RANDOM": + chosen_anime = np.random.choice(pivot_table.shape[0]) + query = pivot_table.iloc[chosen_anime, :].values.reshape(1, -1) + chosen_anime_name = pivot_table.index[chosen_anime] + else: + query = pivot_table.loc[anime].values.reshape(1, -1) + chosen_anime_name = anime + + distance, suggestions = prediction_model.kneighbors( + query, n_neighbors=6) for i in range(0, len(distance.flatten())): if i == 0: - print(f"Recommendations for {random_anime_name}:\n") + print(f"Recommendations for {chosen_anime_name}:\n") else: print( f"{i}: {pivot_table.index[suggestions.flatten()[i]]}, with distance of {distance.flatten()[i]}:" @@ -202,19 +209,21 @@ def handle_arguments(): parser.add_argument('--metric', '-m', help='Specify metric for NearestNeighbor learner', required=False, default="cosine", choices=allowed_metric) allowed_algorithms = ['auto', 'ball_tree', 'kd_tree', 'brute'] - parser.add_argument('--algorithm', '-a', help='Specify alrgorithm for Nearest Neighbor learner', + parser.add_argument('--algorithm', '-a', help='Specify algorithm for Nearest Neighbor learner', required=False, default="brute", choices=allowed_algorithms) + parser.add_argument('--anime', '-an', help='Specify anime to choose', + required=False, default="RANDOM") # Parse the command-line arguments args = parser.parse_args() # Access the values of the arguments - return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm + return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime if __name__ == "__main__": - seed, debug, data_limit, db, metric, algorithm = handle_arguments() + seed, debug, data_limit, db, metric, algorithm, anime = handle_arguments() RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) PIVOT_TABLE = preprocessing(RATING_DATA, ANIME_CONTACT_DATA, debug) MODEL = create_model(PIVOT_TABLE, metric, algorithm) - predict(MODEL, PIVOT_TABLE, seed) + predict(MODEL, PIVOT_TABLE, seed, anime) From 403e7bfec55bf0ae7b2ad2690f75f1c01c28415b Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 23:16:09 +0200 Subject: [PATCH 11/30] feat: add argument for user and anime threshold --- midterm/code/main.py | 47 +++++++++++-------- midterm/report/report.aux | 19 ++++---- midterm/report/report.fdb_latexmk | 15 +++--- midterm/report/report.fls | 8 ++++ midterm/report/report.log | 74 ++++++++++++++++++++++++++---- midterm/report/report.out | 1 + midterm/report/report.pdf | Bin 18562 -> 23896 bytes midterm/report/report.synctex.gz | Bin 4306 -> 20847 bytes midterm/report/report.tex | 35 +++++++++++++- midterm/report/report.xdv | Bin 20600 -> 44220 bytes 10 files changed, 154 insertions(+), 45 deletions(-) diff --git a/midterm/code/main.py b/midterm/code/main.py index dc2d75b4..b937cda7 100644 --- a/midterm/code/main.py +++ b/midterm/code/main.py @@ -50,17 +50,18 @@ def merge_rating_anime_data(rating_data, anime_contact_data, debug=False): return rating_data -def split_data_below_thresholds(rating_data, data_name, threshold, debug=False): +def split_data_below_thresholds(rating_data, data_name, threshold=-1, debug=False): """ Removes data with data_name which is below given threshold """ - count = rating_data[data_name].value_counts() - rating_data = rating_data[ - rating_data[data_name].isin(count[count >= threshold].index) - ].copy() - rating_shape_cut = rating_data.shape - if debug: - print(rating_shape_cut) + if threshold != -1: + count = rating_data[data_name].value_counts() + rating_data = rating_data[ + rating_data[data_name].isin(count[count >= threshold].index) + ].copy() + rating_shape_cut = rating_data.shape + if debug: + print(rating_shape_cut) return rating_data @@ -136,13 +137,15 @@ def get_data_info(rating_data, debug=False): f"Min total rating: {smallest_rating}, Max total rating: {highest_rating}") -def preprocessing(rating_data, anime_contact_data, debug=False): +def preprocessing(rating_data, anime_contact_data, debug=False, user_threshold=500, anime_threshold=200): """ Preprocesses data for making model more accurate and/or faster """ rating_data = merge_rating_anime_data(rating_data, anime_contact_data) - rating_data = split_data_below_thresholds(rating_data, "user_id", 500) - rating_data = split_data_below_thresholds(rating_data, "anime_id", 200) + rating_data = split_data_below_thresholds( + rating_data, "user_id", user_threshold) + rating_data = split_data_below_thresholds( + rating_data, "anime_id", anime_threshold) rating_data = combine_name_and_ratings(rating_data) rating_data = rating_data.drop(columns="rating_x") @@ -184,12 +187,13 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM"): ) -def create_model(pivot_table, metric="cosine", algorithm="brute"): +def create_model(pivot_table, metric="cosine", algorithm="brute", neighbors=5): """ Creates model based on neaarest neighbor for anime prediction """ pivot_table_matrix = csr_matrix(pivot_table.values) - model = NearestNeighbors(metric=metric, algorithm=algorithm) + model = NearestNeighbors(n_neighbors=neighbors, + metric=metric, algorithm=algorithm) model.fit(pivot_table_matrix) return model @@ -197,7 +201,7 @@ def create_model(pivot_table, metric="cosine", algorithm="brute"): def handle_arguments(): parser = argparse.ArgumentParser(description='Example script with pyargs') parser.add_argument('--data_limit', '-dl', - help='Specify data limit, Recommended at least 50k', required=False, type=int, default=-1) + help='Specify data limit, Recommended at least 500k, set to -1 for no limit', required=False, type=int, default=-1) parser.add_argument('--seed', '-s', help='Specify seed', type=int, required=False, default=42) parser.add_argument('--debug', '-d', help='Use debug (more information) prints', @@ -213,17 +217,24 @@ def handle_arguments(): required=False, default="brute", choices=allowed_algorithms) parser.add_argument('--anime', '-an', help='Specify anime to choose', required=False, default="RANDOM") + parser.add_argument('--neighbors', '-n', help='Specify number of nearest neighbors', + required=False, default=5) + parser.add_argument('--user_threshold', '-ut', help='Specify minimal number of votes required for user to be included in the data, set to -1 for no threshold', + required=False, default=500) + parser.add_argument('--anime_threshold', '-at', help='Specify minimal number of votes required for anime to be included in the data, set to -1 for no threshold', + required=False, default=200) # Parse the command-line arguments args = parser.parse_args() # Access the values of the arguments - return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime + return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold if __name__ == "__main__": - seed, debug, data_limit, db, metric, algorithm, anime = handle_arguments() + seed, debug, data_limit, db, metric, algorithm, anime, neighbors, user_threshold, anime_threshold = handle_arguments() RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) - PIVOT_TABLE = preprocessing(RATING_DATA, ANIME_CONTACT_DATA, debug) - MODEL = create_model(PIVOT_TABLE, metric, algorithm) + PIVOT_TABLE = preprocessing( + RATING_DATA, ANIME_CONTACT_DATA, debug, user_threshold, anime_threshold) + MODEL = create_model(PIVOT_TABLE, metric, algorithm, neighbors) predict(MODEL, PIVOT_TABLE, seed, anime) diff --git a/midterm/report/report.aux b/midterm/report/report.aux index de7868f8..463b0deb 100644 --- a/midterm/report/report.aux +++ b/midterm/report/report.aux @@ -14,14 +14,15 @@ \providecommand*\HyPL@Entry[1]{} \HyPL@Entry{0<>} \@writefile{toc}{\contentsline {section}{\numberline {1}Progress}{1}{section.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2}Results}{1}{section.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Presentation}{1}{subsection.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Plots}{1}{subsubsection.2.1.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Tables}{1}{subsubsection.2.1.2}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Seed}{1}{section*.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}Results}{2}{section.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Presentation}{2}{subsection.2.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Plots}{2}{subsubsection.2.1.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Tables}{2}{subsubsection.2.1.2}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Seed}{2}{section*.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3}Challenges}{2}{section.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Failed attempts}{2}{subsection.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Corrections}{2}{subsection.3.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results and findings}{2}{subsection.3.3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Finishing project}{2}{section.4}\protected@file@percent } -\gdef \@abspage@last{2} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Corrections}{3}{subsection.3.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results and findings}{3}{subsection.3.3}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Finishing project}{3}{section.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Embedding more data in user and anime}{3}{subsection.4.1}\protected@file@percent } +\gdef \@abspage@last{3} diff --git a/midterm/report/report.fdb_latexmk b/midterm/report/report.fdb_latexmk index c6e09ab0..1d2ea9bf 100644 --- a/midterm/report/report.fdb_latexmk +++ b/midterm/report/report.fdb_latexmk @@ -1,11 +1,11 @@ # Fdb version 4 -["xdvipdfmx"] 1685391330 "report.xdv" "report.pdf" "report" 1685391330 0 - "report.xdv" 1685391330 20600 f078bc2b2ced2fc2e41ec88d8ace67b6 "xelatex" +["xdvipdfmx"] 1685394955 "report.xdv" "report.pdf" "report" 1685394955 0 + "report.xdv" 1685394955 44220 7ffc5e08598d79076d223ac2a2fe2f18 "xelatex" (generated) "report.pdf" (rewritten before read) -["xelatex"] 1685391330 "/home/kuchy/earin/earin_project/midterm/report/report.tex" "report.xdv" "report" 1685391330 0 - "/home/kuchy/earin/earin_project/midterm/report/report.tex" 1685391329 2040 69a2ecee5e6200f6673defc4b47f00a6 "" +["xelatex"] 1685394955 "/home/kuchy/earin/earin_project/midterm/report/report.tex" "report.xdv" "report" 1685394955 0 + "/home/kuchy/earin/earin_project/midterm/report/report.tex" 1685394955 3734 295cc759a2472e638d3fb6d28689ee4f "" "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1680514707 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm" 1680514707 1528 f853c4d1b4e0550255e02831fdc8496f "" "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1680514707 1524 4414a8315f39513458b80dfc63bff03a "" @@ -45,15 +45,16 @@ "/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1680514707 5766 13a9e8766c47f30327caf893ece86ac8 "" "/usr/share/texmf-dist/tex/latex/listings/listings.cfg" 1680514707 1829 d8258b7d94f5f955e70c623e525f9f45 "" "/usr/share/texmf-dist/tex/latex/listings/listings.sty" 1680514707 80947 75a96bb4c9f40ae31d54a01d924df2ff "" + "/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" 1680514707 205154 31132370016e8c97e49bc3862419679b "" "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" 1680514707 77021 d05e9115c67855816136d82929db8892 "" "/usr/share/texmf-dist/tex/latex/refcount/refcount.sty" 1680514707 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" "/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1680514707 9714 ba3194bd52c8499b3f1e3eb91d409670 "" "/usr/share/texmf-dist/tex/latex/url/url.sty" 1680514707 12796 8edb7d69a20b857904dd0ea757c14ec9 "" "/usr/share/texmf-dist/web2c/texmf.cnf" 1680514707 39911 2da6c67557ec033436fe5418a70a8a61 "" "/var/lib/texmf/web2c/xetex/xelatex.fmt" 1681763698 11046108 24dffefc9850ac1939834d68c95379b0 "" - "report.aux" 1685391330 1770 8e01609f5240f79889437deb07594cdd "xelatex" - "report.out" 1685391330 1102 2cbb39a98792aded098f7ea274b20901 "xelatex" - "report.tex" 1685391329 2040 69a2ecee5e6200f6673defc4b47f00a6 "" + "report.aux" 1685394955 1914 4bfc226f6855c388cee78af5581432ff "xelatex" + "report.out" 1685394955 1363 3cd7533541c949103c3ce99ee358800f "xelatex" + "report.tex" 1685394955 3734 295cc759a2472e638d3fb6d28689ee4f "" (generated) "report.aux" "report.log" diff --git a/midterm/report/report.fls b/midterm/report/report.fls index 4afaf887..976fa21a 100644 --- a/midterm/report/report.fls +++ b/midterm/report/report.fls @@ -405,6 +405,14 @@ OUTPUT report.out INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty OUTPUT report.xdv INPUT report.aux INPUT ./report.out diff --git a/midterm/report/report.log b/midterm/report/report.log index 8abf917d..934cc03b 100644 --- a/midterm/report/report.log +++ b/midterm/report/report.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Arch Linux) (preloaded format=xelatex 2023.4.17) 29 MAY 2023 22:15 +This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Arch Linux) (preloaded format=xelatex 2023.4.17) 29 MAY 2023 23:15 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -201,19 +201,73 @@ LaTeX Font Info: External font `cmex10' loaded for size (Font) <14.4> on input line 8. LaTeX Font Info: External font `cmex10' loaded for size (Font) <7> on input line 8. - [1 + (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2023/02/27 1.9 listings language file +) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2023/02/27 1.9 listings language file +) +Overfull \hbox (99.60498pt too wide) in paragraph at lines 16--17 +[][][][][][][][][][][][][][][][][][][][] + [] -] [2] (./report.aux) + +Overfull \hbox (20.40417pt too wide) in paragraph at lines 20--21 +[][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (70.80469pt too wide) in paragraph at lines 25--26 +[][][][][][][][][][][][][] + [] + + +Overfull \hbox (99.60498pt too wide) in paragraph at lines 28--29 +[][][][][][][][][][][][][][][] + [] + +[1 + +] +Overfull \hbox (20.40417pt too wide) in paragraph at lines 32--33 +[][][][][][][][][][][][][] + [] + + +Overfull \hbox (6.00403pt too wide) in paragraph at lines 35--36 +[][][][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (13.2041pt too wide) in paragraph at lines 36--37 +[][][][][][][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (6.00403pt too wide) in paragraph at lines 39--40 +[][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (49.20447pt too wide) in paragraph at lines 40--41 +[][][][][][][][][][][][][][][][][][][][][][] + [] + +[2] +Underfull \hbox (badness 10000) in paragraph at lines 64--65 + + [] + +[3] (./report.aux) Package rerunfilecheck Info: File `report.out' has not changed. -(rerunfilecheck) Checksum: 2CBB39A98792ADED098F7EA274B20901;1102. +(rerunfilecheck) Checksum: 3CD7533541C949103C3CE99EE358800F;1363. ) Here is how much of TeX's memory you used: - 8689 strings out of 476683 - 138341 string characters out of 5809790 - 1852018 words of memory out of 5000000 - 28875 multiletter control sequences out of 15000+600000 + 8873 strings out of 476683 + 140477 string characters out of 5809790 + 1887018 words of memory out of 5000000 + 29053 multiletter control sequences out of 15000+600000 513616 words of font info for 43 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 - 72i,6n,76p,353b,855s stack positions out of 5000i,500n,10000p,200000b,80000s + 72i,6n,76p,461b,1742s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on report.xdv (2 pages, 20600 bytes). +Output written on report.xdv (3 pages, 44220 bytes). diff --git a/midterm/report/report.out b/midterm/report/report.out index 3a8e551f..50668588 100644 --- a/midterm/report/report.out +++ b/midterm/report/report.out @@ -8,3 +8,4 @@ \BOOKMARK [2][-]{subsection.3.2}{\376\377\000C\000o\000r\000r\000e\000c\000t\000i\000o\000n\000s}{section.3}% 8 \BOOKMARK [2][-]{subsection.3.3}{\376\377\000R\000e\000s\000u\000l\000t\000s\000\040\000a\000n\000d\000\040\000f\000i\000n\000d\000i\000n\000g\000s}{section.3}% 9 \BOOKMARK [1][-]{section.4}{\376\377\000F\000i\000n\000i\000s\000h\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t}{}% 10 +\BOOKMARK [2][-]{subsection.4.1}{\376\377\000E\000m\000b\000e\000d\000d\000i\000n\000g\000\040\000m\000o\000r\000e\000\040\000d\000a\000t\000a\000\040\000i\000n\000\040\000u\000s\000e\000r\000\040\000a\000n\000d\000\040\000a\000n\000i\000m\000e}{section.4}% 11 diff --git a/midterm/report/report.pdf b/midterm/report/report.pdf index 5d87df250d5986447c44494e1b10cf9d90aaf394..1414c85088267b57253f011d56457d8b6c43ac53 100644 GIT binary patch delta 21259 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 iuP=y(xb*WYiNA!uV;u~5Y31Y<4t$- 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

77{!88XDB`Q|6^%hs$t6fRL$Zs?Pu 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 H1^52|Ud7J7uzHkMZbEUQo>_I4-PNJT+{j##hO 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 A`Tzg` diff --git a/midterm/report/report.tex b/midterm/report/report.tex index e82e33d0..bd51dad8 100644 --- a/midterm/report/report.tex +++ b/midterm/report/report.tex @@ -7,7 +7,38 @@ \maketitle \section{Progress} We have implemented reading data from csv files, preprocessing them with optional showing of some of the information about the data and used model/learner for implementing neighbour searches \\ -Right now the model predicts random anime choosen from the table +Program is very flexible and allows for a lot of modification from command line arguments \\ +Full list here: +\begin{lstlisting}[language=bash] +options: +-h, --help show this help message and exit +--data_limit DATA_LIMIT, -dl DATA_LIMIT + Specify data limit, Recommended at least 500k, + set to -1 for no limit +--seed SEED, -s SEED Specify seed +--debug DEBUG, -d DEBUG + Use debug (more information) prints +--database DATABASE, -db DATABASE + Specify database path +--metric {cosine,mahalanobis,euclidean} +-m {cosine,mahalanobis,euclidean} + Specify metric for NearestNeighbor learner +--algorithm {auto,ball_tree,kd_tree,brute} +-a {auto,ball_tree,kd_tree,brute} + Specify algorithm for Nearest Neighbor learner +--anime ANIME, -an ANIME + Specify anime to choose +--neighbors NEIGHBORS, -n NEIGHBORS + Specify number of nearest neighbors +--user_threshold USER_THRESHOLD, -ut USER_THRESHOLD + Specify minimal number of votes + required for user to be included in + the data, set to -1 for no threshold +--anime_threshold ANIME_THRESHOLD, -at ANIME_THRESHOLD + Specify minimal number of votes + required for anime to be included + in the data, set to -1 for no threshold +\end{lstlisting} \section{Results} \subsection{Presentation} \subsubsection{Plots} @@ -29,5 +60,7 @@ All of functionality that we want to implement is available in sklearn and scipy \subsection{Results and findings} \section{Finishing project} +\subsection{Embedding more data in user and anime} +Currently we are only embedding pure rating values of users, we do not take into consideration, popularity, "controversy", studio which created the anime, length of anime (number of episodes and length of episodes), and when it was aired \\ \end{document} \ No newline at end of file diff --git a/midterm/report/report.xdv b/midterm/report/report.xdv index 93e0ac1341e8981a3c17271904d153f3659cfc7f..7e1693a10fa47bbb975e88fa7f73293a196bb6f5 100644 GIT binary patch literal 44220 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 From c15e9d6618cc344b566f5f99165e80574d2e268e Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 29 May 2023 23:30:20 +0200 Subject: [PATCH 12/30] feat: fix adding user and anime threshold argument --- midterm/code/main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/midterm/code/main.py b/midterm/code/main.py index b937cda7..9cf21904 100644 --- a/midterm/code/main.py +++ b/midterm/code/main.py @@ -3,6 +3,7 @@ Code for preprocessing data and creating model that predicts and recomends anime based on another anime entered by user """ import pandas as pd + import numpy as np import argparse @@ -220,9 +221,9 @@ def handle_arguments(): parser.add_argument('--neighbors', '-n', help='Specify number of nearest neighbors', required=False, default=5) parser.add_argument('--user_threshold', '-ut', help='Specify minimal number of votes required for user to be included in the data, set to -1 for no threshold', - required=False, default=500) + required=False, type=int, default=500) parser.add_argument('--anime_threshold', '-at', help='Specify minimal number of votes required for anime to be included in the data, set to -1 for no threshold', - required=False, default=200) + required=False, type=int, default=200) # Parse the command-line arguments args = parser.parse_args() From da9e036cf245276e63b79e259aaba712e4554c3a Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Tue, 30 May 2023 00:18:01 +0200 Subject: [PATCH 13/30] feat: final midterm report --- midterm/code/main.py | 15 ++-- midterm/report/execution_time.png | Bin 0 -> 38367 bytes midterm/report/report.aux | 24 +++--- midterm/report/report.fdb_latexmk | 21 +++-- midterm/report/report.fls | 48 +++++++++++ midterm/report/report.log | 129 ++++++++++++++++++++---------- midterm/report/report.out | 18 ++--- midterm/report/report.pdf | Bin 23896 -> 75199 bytes midterm/report/report.synctex.gz | Bin 20847 -> 30253 bytes midterm/report/report.tex | 39 ++++++++- midterm/report/report.xdv | Bin 44220 -> 67048 bytes midterm/report/user_rating.png | Bin 0 -> 16441 bytes 12 files changed, 215 insertions(+), 79 deletions(-) create mode 100644 midterm/report/execution_time.png create mode 100644 midterm/report/user_rating.png diff --git a/midterm/code/main.py b/midterm/code/main.py index 9cf21904..cc9b662a 100644 --- a/midterm/code/main.py +++ b/midterm/code/main.py @@ -163,7 +163,7 @@ def preprocessing(rating_data, anime_contact_data, debug=False, user_threshold=5 return pivot_table -def predict(prediction_model, pivot_table, seed=42, anime="RANDOM"): +def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6): """ This will choose a random anime name and our prediction_model will predict similar anime. """ @@ -178,7 +178,7 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM"): chosen_anime_name = anime distance, suggestions = prediction_model.kneighbors( - query, n_neighbors=6) + query, n_neighbors=recommendation_number) for i in range(0, len(distance.flatten())): if i == 0: print(f"Recommendations for {chosen_anime_name}:\n") @@ -224,18 +224,21 @@ def handle_arguments(): required=False, type=int, default=500) parser.add_argument('--anime_threshold', '-at', help='Specify minimal number of votes required for anime to be included in the data, set to -1 for no threshold', required=False, type=int, default=200) + parser.add_argument('--recommendation_amount', '-ra', help='Specify how much anime should be recommended', + required=False, type=int, default=5) + # Parse the command-line arguments args = parser.parse_args() - + args.recommendation_amount = args.recommendation_amount + 1 # Access the values of the arguments - return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold + return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount if __name__ == "__main__": - seed, debug, data_limit, db, metric, algorithm, anime, neighbors, user_threshold, anime_threshold = handle_arguments() + seed, debug, data_limit, db, metric, algorithm, anime, neighbors, user_threshold, anime_threshold, recommendation_amount = handle_arguments() RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) PIVOT_TABLE = preprocessing( RATING_DATA, ANIME_CONTACT_DATA, debug, user_threshold, anime_threshold) MODEL = create_model(PIVOT_TABLE, metric, algorithm, neighbors) - predict(MODEL, PIVOT_TABLE, seed, anime) + predict(MODEL, PIVOT_TABLE, seed, anime, recommendation_amount) diff --git a/midterm/report/execution_time.png b/midterm/report/execution_time.png new file mode 100644 index 0000000000000000000000000000000000000000..9604f3c04d7d0a457aee8eb21bc46faa25b30ad9 GIT binary patch literal 38367 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

?xOk(zU;9R+pqq79Ku*jU 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 literal 0 HcmV?d00001 diff --git a/midterm/report/report.aux b/midterm/report/report.aux index 463b0deb..cc192759 100644 --- a/midterm/report/report.aux +++ b/midterm/report/report.aux @@ -15,14 +15,16 @@ \HyPL@Entry{0<>} \@writefile{toc}{\contentsline {section}{\numberline {1}Progress}{1}{section.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {2}Results}{2}{section.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Presentation}{2}{subsection.2.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Plots}{2}{subsubsection.2.1.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Tables}{2}{subsubsection.2.1.2}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Seed}{2}{section*.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Challenges}{2}{section.3}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Failed attempts}{2}{subsection.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Corrections}{3}{subsection.3.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results and findings}{3}{subsection.3.3}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Finishing project}{3}{section.4}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Embedding more data in user and anime}{3}{subsection.4.1}\protected@file@percent } -\gdef \@abspage@last{3} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Data size and execution time}{2}{subsection.2.1}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Chart showing how size of data taken impacts execution time }}{3}{figure.1}\protected@file@percent } +\@writefile{toc}{\contentsline {paragraph}{Seed}{4}{section*.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3}Challenges}{4}{section.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Failed attempts}{4}{subsection.3.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Corrections}{4}{subsection.3.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results and findings}{4}{subsection.3.3}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces User rating count}}{5}{figure.2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4}Finishing project}{6}{section.4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Embedding more data in user and anime}{6}{subsection.4.1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Evaluating our model accuracy}{6}{subsection.4.2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}More results representation}{6}{subsection.4.3}\protected@file@percent } +\gdef \@abspage@last{6} diff --git a/midterm/report/report.fdb_latexmk b/midterm/report/report.fdb_latexmk index 1d2ea9bf..3a2047ca 100644 --- a/midterm/report/report.fdb_latexmk +++ b/midterm/report/report.fdb_latexmk @@ -1,11 +1,11 @@ # Fdb version 4 -["xdvipdfmx"] 1685394955 "report.xdv" "report.pdf" "report" 1685394955 0 - "report.xdv" 1685394955 44220 7ffc5e08598d79076d223ac2a2fe2f18 "xelatex" +["xdvipdfmx"] 1685398649 "report.xdv" "report.pdf" "report" 1685398650 0 + "report.xdv" 1685398649 67048 692df65fd724791f676e8fdc4f6cd7fd "xelatex" (generated) "report.pdf" (rewritten before read) -["xelatex"] 1685394955 "/home/kuchy/earin/earin_project/midterm/report/report.tex" "report.xdv" "report" 1685394955 0 - "/home/kuchy/earin/earin_project/midterm/report/report.tex" 1685394955 3734 295cc759a2472e638d3fb6d28689ee4f "" +["xelatex"] 1685398649 "/home/kuchy/earin/earin_project/midterm/report/report.tex" "report.xdv" "report" 1685398650 0 + "/home/kuchy/earin/earin_project/midterm/report/report.tex" 1685398649 5683 e73623dc7f3285969f78e1bb6059fa10 "" "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1680514707 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm" 1680514707 1528 f853c4d1b4e0550255e02831fdc8496f "" "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1680514707 1524 4414a8315f39513458b80dfc63bff03a "" @@ -32,7 +32,12 @@ "/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1680514707 2462 8ce5f9a9c63002f2c1af03c262cf29af "" "/usr/share/texmf-dist/tex/latex/base/size12.clo" 1680514707 8449 c314623021fbddd0180c05345324933c "" "/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd" 1680514707 2430 8418b3f1835e588625becbcac4dbce56 "" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1680514707 1224 978390e9c2234eab29404bc21b268d1e "" + "/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def" 1680514707 14788 1dde73f396dd97d88c838bee2a352abe "" + "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" 1680514707 18387 8f900a490197ebaf93c02ae9476d4b09 "" + "/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty" 1680514707 8010 a8d949cbdbc5c983593827c9eec252e1 "" "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1680514707 2671 7e67d78d9b88c845599a85b2d41f2e39 "" + "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" 1680514707 4023 293ea1c16429fc0c4cf605f4da1791a9 "" "/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty" 1680514707 17914 4c28a13fc3d975e6e81c9bea1d697276 "" "/usr/share/texmf-dist/tex/latex/hyperref/hxetex.def" 1680514707 44472 a079d09fb6a7034a730c6d56a4fe1267 "" "/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty" 1680514707 223129 4edf043af471f3251c66e432cfa22987 "" @@ -52,9 +57,11 @@ "/usr/share/texmf-dist/tex/latex/url/url.sty" 1680514707 12796 8edb7d69a20b857904dd0ea757c14ec9 "" "/usr/share/texmf-dist/web2c/texmf.cnf" 1680514707 39911 2da6c67557ec033436fe5418a70a8a61 "" "/var/lib/texmf/web2c/xetex/xelatex.fmt" 1681763698 11046108 24dffefc9850ac1939834d68c95379b0 "" - "report.aux" 1685394955 1914 4bfc226f6855c388cee78af5581432ff "xelatex" - "report.out" 1685394955 1363 3cd7533541c949103c3ce99ee358800f "xelatex" - "report.tex" 1685394955 3734 295cc759a2472e638d3fb6d28689ee4f "" + "execution_time.png" 1685397513 38367 e50b8e68e275b4e2e26dfebf7213eb30 "" + "report.aux" 1685398649 2254 c22ca6e254af51c9fefd41095e5036ef "xelatex" + "report.out" 1685398649 1675 4c398292a139416992649ea7186521f9 "xelatex" + "report.tex" 1685398649 5683 e73623dc7f3285969f78e1bb6059fa10 "" + "user_rating.png" 1685398290 16441 9fa9c192b5932771c6e57a930396945c "" (generated) "report.aux" "report.log" diff --git a/midterm/report/report.fls b/midterm/report/report.fls index 976fa21a..88d8facc 100644 --- a/midterm/report/report.fls +++ b/midterm/report/report.fls @@ -372,6 +372,48 @@ INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def @@ -414,6 +456,12 @@ INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty OUTPUT report.xdv +INPUT ./execution_time.png +INPUT ./execution_time.png +INPUT execution_time.png +INPUT ./user_rating.png +INPUT ./user_rating.png +INPUT user_rating.png INPUT report.aux INPUT ./report.out INPUT ./report.out diff --git a/midterm/report/report.log b/midterm/report/report.log index 934cc03b..7716f7f3 100644 --- a/midterm/report/report.log +++ b/midterm/report/report.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Arch Linux) (preloaded format=xelatex 2023.4.17) 29 MAY 2023 23:15 +This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Arch Linux) (preloaded format=xelatex 2023.4.17) 30 MAY 2023 00:17 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -157,6 +157,21 @@ Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285. ) \Hy@SectionHShift=\skip50 +) (/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) + (/usr/share/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) + (/usr/share/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) (/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 107. + (/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2022/09/22 v5.0n Graphics/color driver for xetex +)) +\Gin@req@height=\dimen149 +\Gin@req@width=\dimen150 ) (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def File: l3backend-xetex.def 2023-01-16 L3 backend support: XeTeX \g__graphics_track_int=\count276 @@ -167,107 +182,137 @@ File: l3backend-xetex.def 2023-01-16 L3 backend support: XeTeX ) (./report.aux) \openout1 = `report.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 6. -LaTeX Font Info: Trying to load font information for TS1+cmr on input line 6. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7. +LaTeX Font Info: Trying to load font information for TS1+cmr on input line 7. (/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd File: ts1cmr.fd 2022/07/10 v2.5l Standard LaTeX font definitions ) -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 6. -LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. \c@lstlisting=\count280 -Package hyperref Info: Link coloring OFF on input line 6. +Package hyperref Info: Link coloring OFF on input line 7. (./report.out) (./report.out) \@outlinefile=\write3 \openout3 = `report.out'. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <14.4> on input line 8. +(Font) <14.4> on input line 9. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 8. +(Font) <7> on input line 9. (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty File: lstlang1.sty 2023/02/27 1.9 listings language file ) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty File: lstlang1.sty 2023/02/27 1.9 listings language file ) -Overfull \hbox (99.60498pt too wide) in paragraph at lines 16--17 +Overfull \hbox (99.60498pt too wide) in paragraph at lines 17--18 [][][][][][][][][][][][][][][][][][][][] [] -Overfull \hbox (20.40417pt too wide) in paragraph at lines 20--21 +Overfull \hbox (20.40417pt too wide) in paragraph at lines 21--22 [][][][][][][][][][][][][][][] [] -Overfull \hbox (70.80469pt too wide) in paragraph at lines 25--26 +Overfull \hbox (70.80469pt too wide) in paragraph at lines 26--27 [][][][][][][][][][][][][] [] -Overfull \hbox (99.60498pt too wide) in paragraph at lines 28--29 +Overfull \hbox (99.60498pt too wide) in paragraph at lines 29--30 [][][][][][][][][][][][][][][] [] [1 ] -Overfull \hbox (20.40417pt too wide) in paragraph at lines 32--33 +Overfull \hbox (20.40417pt too wide) in paragraph at lines 33--34 [][][][][][][][][][][][][] [] -Overfull \hbox (6.00403pt too wide) in paragraph at lines 35--36 +Overfull \hbox (6.00403pt too wide) in paragraph at lines 36--37 [][][][][][][][][][][][][][][][][] [] -Overfull \hbox (13.2041pt too wide) in paragraph at lines 36--37 +Overfull \hbox (13.2041pt too wide) in paragraph at lines 37--38 [][][][][][][][][][][][][][][][][][][][] [] -Overfull \hbox (6.00403pt too wide) in paragraph at lines 39--40 +Overfull \hbox (6.00403pt too wide) in paragraph at lines 40--41 [][][][][][][][][][][][][][][] [] -Overfull \hbox (49.20447pt too wide) in paragraph at lines 40--41 +Overfull \hbox (49.20447pt too wide) in paragraph at lines 41--42 [][][][][][][][][][][][][][][][][][][][][][] [] -[2] -Underfull \hbox (badness 10000) in paragraph at lines 64--65 + +Overfull \hbox (42.0044pt too wide) in paragraph at lines 48--49 +[][][][][][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (27.60425pt too wide) in paragraph at lines 51--52 +[][][][][][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (13.2041pt too wide) in paragraph at lines 52--53 +[][][][][][][][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (6.00403pt too wide) in paragraph at lines 53--54 +[][][][][][][][][][][][][][][][][][][] + [] + + +Overfull \hbox (49.20447pt too wide) in paragraph at lines 55--56 +[][][][][][][][][][][][][][][][][][][] + [] + +File: execution_time.png Graphic file (type bmp) + +[2] [3] +File: user_rating.png Graphic file (type bmp) + + +Underfull \hbox (badness 10000) in paragraph at lines 89--90 [] -[3] (./report.aux) +[4] [5] [6] (./report.aux) Package rerunfilecheck Info: File `report.out' has not changed. -(rerunfilecheck) Checksum: 3CD7533541C949103C3CE99EE358800F;1363. +(rerunfilecheck) Checksum: 4C398292A139416992649EA7186521F9;1675. ) Here is how much of TeX's memory you used: - 8873 strings out of 476683 - 140477 string characters out of 5809790 + 9325 strings out of 476683 + 147107 string characters out of 5809790 1887018 words of memory out of 5000000 - 29053 multiletter control sequences out of 15000+600000 + 29485 multiletter control sequences out of 15000+600000 513616 words of font info for 43 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 72i,6n,76p,461b,1742s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on report.xdv (3 pages, 44220 bytes). +Output written on report.xdv (6 pages, 67048 bytes). diff --git a/midterm/report/report.out b/midterm/report/report.out index 50668588..1addbe7b 100644 --- a/midterm/report/report.out +++ b/midterm/report/report.out @@ -1,11 +1,11 @@ \BOOKMARK [1][-]{section.1}{\376\377\000P\000r\000o\000g\000r\000e\000s\000s}{}% 1 \BOOKMARK [1][-]{section.2}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 2 -\BOOKMARK [2][-]{subsection.2.1}{\376\377\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n}{section.2}% 3 -\BOOKMARK [3][-]{subsubsection.2.1.1}{\376\377\000P\000l\000o\000t\000s}{subsection.2.1}% 4 -\BOOKMARK [3][-]{subsubsection.2.1.2}{\376\377\000T\000a\000b\000l\000e\000s}{subsection.2.1}% 5 -\BOOKMARK [1][-]{section.3}{\376\377\000C\000h\000a\000l\000l\000e\000n\000g\000e\000s}{}% 6 -\BOOKMARK [2][-]{subsection.3.1}{\376\377\000F\000a\000i\000l\000e\000d\000\040\000a\000t\000t\000e\000m\000p\000t\000s}{section.3}% 7 -\BOOKMARK [2][-]{subsection.3.2}{\376\377\000C\000o\000r\000r\000e\000c\000t\000i\000o\000n\000s}{section.3}% 8 -\BOOKMARK [2][-]{subsection.3.3}{\376\377\000R\000e\000s\000u\000l\000t\000s\000\040\000a\000n\000d\000\040\000f\000i\000n\000d\000i\000n\000g\000s}{section.3}% 9 -\BOOKMARK [1][-]{section.4}{\376\377\000F\000i\000n\000i\000s\000h\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t}{}% 10 -\BOOKMARK [2][-]{subsection.4.1}{\376\377\000E\000m\000b\000e\000d\000d\000i\000n\000g\000\040\000m\000o\000r\000e\000\040\000d\000a\000t\000a\000\040\000i\000n\000\040\000u\000s\000e\000r\000\040\000a\000n\000d\000\040\000a\000n\000i\000m\000e}{section.4}% 11 +\BOOKMARK [2][-]{subsection.2.1}{\376\377\000D\000a\000t\000a\000\040\000s\000i\000z\000e\000\040\000a\000n\000d\000\040\000e\000x\000e\000c\000u\000t\000i\000o\000n\000\040\000t\000i\000m\000e}{section.2}% 3 +\BOOKMARK [1][-]{section.3}{\376\377\000C\000h\000a\000l\000l\000e\000n\000g\000e\000s}{}% 4 +\BOOKMARK [2][-]{subsection.3.1}{\376\377\000F\000a\000i\000l\000e\000d\000\040\000a\000t\000t\000e\000m\000p\000t\000s}{section.3}% 5 +\BOOKMARK [2][-]{subsection.3.2}{\376\377\000C\000o\000r\000r\000e\000c\000t\000i\000o\000n\000s}{section.3}% 6 +\BOOKMARK [2][-]{subsection.3.3}{\376\377\000R\000e\000s\000u\000l\000t\000s\000\040\000a\000n\000d\000\040\000f\000i\000n\000d\000i\000n\000g\000s}{section.3}% 7 +\BOOKMARK [1][-]{section.4}{\376\377\000F\000i\000n\000i\000s\000h\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t}{}% 8 +\BOOKMARK [2][-]{subsection.4.1}{\376\377\000E\000m\000b\000e\000d\000d\000i\000n\000g\000\040\000m\000o\000r\000e\000\040\000d\000a\000t\000a\000\040\000i\000n\000\040\000u\000s\000e\000r\000\040\000a\000n\000d\000\040\000a\000n\000i\000m\000e}{section.4}% 9 +\BOOKMARK [2][-]{subsection.4.2}{\376\377\000E\000v\000a\000l\000u\000a\000t\000i\000n\000g\000\040\000o\000u\000r\000\040\000m\000o\000d\000e\000l\000\040\000a\000c\000c\000u\000r\000a\000c\000y}{section.4}% 10 +\BOOKMARK [2][-]{subsection.4.3}{\376\377\000M\000o\000r\000e\000\040\000r\000e\000s\000u\000l\000t\000s\000\040\000r\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n}{section.4}% 11 diff --git a/midterm/report/report.pdf b/midterm/report/report.pdf index 1414c85088267b57253f011d56457d8b6c43ac53..17f7465b1bdd49cc2accaff721ca774c57711b5d 100644 GIT binary patch literal 75199 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®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 delta 21257 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 R>Dty@H{N()s7V4uWosYzv0FZ`TU&3XzZ^yn* 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 literal 20847 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 Ks>SU0ApihH>na@p diff --git a/midterm/report/user_rating.png b/midterm/report/user_rating.png new file mode 100644 index 0000000000000000000000000000000000000000..da5493c47e470ef3fa4b503d864d1303fe5d00d5 GIT binary patch literal 16441 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 NaZdeg#%YuL{|D_%2zvkk literal 0 HcmV?d00001 From 40856073d0306cfdc959ed02bacf3f5b509f7373 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Tue, 30 May 2023 00:21:26 +0200 Subject: [PATCH 14/30] feat: rename report --- ...eport.pdf => KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename midterm/report/{report.pdf => KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf} (100%) diff --git a/midterm/report/report.pdf b/midterm/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf similarity index 100% rename from midterm/report/report.pdf rename to midterm/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf From 5b817e9e9223067eba048ab6410ec96a1ac3e22e Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 8 Jun 2023 14:41:24 +0200 Subject: [PATCH 15/30] feat: created "final" folder, added tex gitignore --- .gitignore | 304 +++++++++++++++++- final/code/main.py | 244 ++++++++++++++ final/code/requirements.txt | 4 + .../report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf | Bin 0 -> 75199 bytes final/report/execution_time.png | Bin 0 -> 38367 bytes final/report/report.tex | 97 ++++++ final/report/user_rating.png | Bin 0 -> 16441 bytes 7 files changed, 648 insertions(+), 1 deletion(-) create mode 100644 final/code/main.py create mode 100644 final/code/requirements.txt create mode 100644 final/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf create mode 100644 final/report/execution_time.png create mode 100644 final/report/report.tex create mode 100644 final/report/user_rating.png diff --git a/.gitignore b/.gitignore index d6ffe6a6..5bc6c4f6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,306 @@ anime_with_synopsis.csv anime.csv animelist.csv rating_complete.csv -watching_status.csv \ No newline at end of file +watching_status.csv + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib \ No newline at end of file diff --git a/final/code/main.py b/final/code/main.py new file mode 100644 index 00000000..cc9b662a --- /dev/null +++ b/final/code/main.py @@ -0,0 +1,244 @@ +""" +Code for preprocessing data and creating model that predicts and +recomends anime based on another anime entered by user +""" +import pandas as pd + +import numpy as np +import argparse + +import sklearn +from sklearn.neighbors import NearestNeighbors +from scipy.sparse import csr_matrix + + +def get_data(limit_data=-1, data_folder_path="database"): + """ + Reads anime from csv database + """ + if limit_data > -1: + # User can limit number of data taken into consideration, + # model seems to work with limit_data value as low as 500,000 + rating_data = pd.read_csv( + data_folder_path + "/animelist.csv", nrows=limit_data) + else: + rating_data = pd.read_csv(data_folder_path + "/animelist.csv") + anime_data = pd.read_csv(data_folder_path + "/anime.csv") + + # used to fetch anime_id(MAL_ID) + anime_data = anime_data.rename(columns={"MAL_ID": "anime_id"}) + anime_contact_data = anime_data[["anime_id", "Name"]] + return rating_data, anime_contact_data + + +def merge_rating_anime_data(rating_data, anime_contact_data, debug=False): + """ + Preprocesses the data used for rating + """ + rating_data = rating_data.merge( + anime_contact_data, left_on="anime_id", right_on="anime_id", how="left" + ) + rating_data = rating_data[ + ["user_id", "Name", "anime_id", "rating", + "watching_status", "watched_episodes"] + ] + rating_head = rating_data.head() + if debug: + print(rating_head) + rating_shape_complete = rating_data.shape + if debug: + print(rating_shape_complete) + return rating_data + + +def split_data_below_thresholds(rating_data, data_name, threshold=-1, debug=False): + """ + Removes data with data_name which is below given threshold + """ + if threshold != -1: + count = rating_data[data_name].value_counts() + rating_data = rating_data[ + rating_data[data_name].isin(count[count >= threshold].index) + ].copy() + rating_shape_cut = rating_data.shape + if debug: + print(rating_shape_cut) + return rating_data + + +def combine_name_and_ratings(rating_data, debug=False): + """ + Create table which holds name of the anime and number of its reviews + then we merge this with rating_data + """ + combine_movie_rating = rating_data.dropna(axis=0, subset=["Name"]) + movie_rating_count = ( + combine_movie_rating.groupby(by=["Name"])["rating"] + .count() + .reset_index()[["Name", "rating"]] + ) + rating_head = movie_rating_count.head() + if debug: + print(rating_head) + rating_data = combine_movie_rating.merge( + movie_rating_count, left_on="Name", right_on="Name", how="left" + ) + return rating_data + + +def get_length_of_data(rating_data, data_name): + """ + We get amount of data in the database with a given column data_name + """ + # Encoding categorical data + column_ids = rating_data[data_name + "_id"].unique().tolist() + column_to_column = {x: i for i, x in enumerate(column_ids)} + rating_data[data_name] = rating_data[data_name + + "_id"].map(column_to_column) + users_number = len(column_to_column) + return users_number + + +def get_top_ranked(rating_data, data_name, join_table=None, top_data_taken=20): + """ + Get anime with highest ranking + """ + if join_table is None: + join_table = rating_data + group_data_by_rating = rating_data.groupby( + data_name + "_id")["rating"].count() + top_users = group_data_by_rating.dropna().sort_values(ascending=False)[ + :top_data_taken] + top_rated = join_table.join(top_users, rsuffix="_r", + how="inner", on=data_name + "_id") + return top_rated + + +def get_data_info(rating_data, debug=False): + """ + Get some informations about data + """ + users_number = get_length_of_data(rating_data, "user") + animes_number = get_length_of_data(rating_data, "anime") + + top_rated = get_top_ranked(rating_data, "user") + top_rated = get_top_ranked(rating_data, "anime", top_rated) + + pivot = pd.crosstab(top_rated.user_id, top_rated.anime_id, + top_rated.rating, aggfunc=np.sum) + + pivot.fillna(0, inplace=True) + smallest_rating = min(rating_data["rating"]) + highest_rating = max(rating_data["rating"]) + if debug: + print(pivot) + if debug: + print(f"Num of users: {users_number}, Num of animes: {animes_number}") + print( + f"Min total rating: {smallest_rating}, Max total rating: {highest_rating}") + + +def preprocessing(rating_data, anime_contact_data, debug=False, user_threshold=500, anime_threshold=200): + """ + Preprocesses data for making model more accurate and/or faster + """ + rating_data = merge_rating_anime_data(rating_data, anime_contact_data) + rating_data = split_data_below_thresholds( + rating_data, "user_id", user_threshold) + rating_data = split_data_below_thresholds( + rating_data, "anime_id", anime_threshold) + rating_data = combine_name_and_ratings(rating_data) + + rating_data = rating_data.drop(columns="rating_x") + rating_data = rating_data.rename(columns={"rating_y": "rating"}) + if debug: + print(rating_data) + get_data_info(rating_data) + + pivot_table = rating_data.pivot_table( + index="Name", columns="user_id", values="rating" + ).fillna(0) + if debug: + print(pivot_table) + return pivot_table + + +def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6): + """ + This will choose a random anime name and our prediction_model will predict similar anime. + """ + np.random.seed(seed) + print(pivot_table) + if anime == "RANDOM": + chosen_anime = np.random.choice(pivot_table.shape[0]) + query = pivot_table.iloc[chosen_anime, :].values.reshape(1, -1) + chosen_anime_name = pivot_table.index[chosen_anime] + else: + query = pivot_table.loc[anime].values.reshape(1, -1) + chosen_anime_name = anime + + distance, suggestions = prediction_model.kneighbors( + query, n_neighbors=recommendation_number) + for i in range(0, len(distance.flatten())): + if i == 0: + print(f"Recommendations for {chosen_anime_name}:\n") + else: + print( + f"{i}: {pivot_table.index[suggestions.flatten()[i]]}, with distance of {distance.flatten()[i]}:" + ) + + +def create_model(pivot_table, metric="cosine", algorithm="brute", neighbors=5): + """ + Creates model based on neaarest neighbor for anime prediction + """ + pivot_table_matrix = csr_matrix(pivot_table.values) + model = NearestNeighbors(n_neighbors=neighbors, + metric=metric, algorithm=algorithm) + model.fit(pivot_table_matrix) + return model + + +def handle_arguments(): + parser = argparse.ArgumentParser(description='Example script with pyargs') + parser.add_argument('--data_limit', '-dl', + help='Specify data limit, Recommended at least 500k, set to -1 for no limit', required=False, type=int, default=-1) + parser.add_argument('--seed', '-s', help='Specify seed', + type=int, required=False, default=42) + parser.add_argument('--debug', '-d', help='Use debug (more information) prints', + type=bool, required=False, default=False) + parser.add_argument('--database', '-db', help='Specify database path', + required=False, default="database") + + allowed_metric = ["cosine", "mahalanobis", "euclidean"] + parser.add_argument('--metric', '-m', help='Specify metric for NearestNeighbor learner', + required=False, default="cosine", choices=allowed_metric) + allowed_algorithms = ['auto', 'ball_tree', 'kd_tree', 'brute'] + parser.add_argument('--algorithm', '-a', help='Specify algorithm for Nearest Neighbor learner', + required=False, default="brute", choices=allowed_algorithms) + parser.add_argument('--anime', '-an', help='Specify anime to choose', + required=False, default="RANDOM") + parser.add_argument('--neighbors', '-n', help='Specify number of nearest neighbors', + required=False, default=5) + parser.add_argument('--user_threshold', '-ut', help='Specify minimal number of votes required for user to be included in the data, set to -1 for no threshold', + required=False, type=int, default=500) + parser.add_argument('--anime_threshold', '-at', help='Specify minimal number of votes required for anime to be included in the data, set to -1 for no threshold', + required=False, type=int, default=200) + parser.add_argument('--recommendation_amount', '-ra', help='Specify how much anime should be recommended', + required=False, type=int, default=5) + + # Parse the command-line arguments + args = parser.parse_args() + args.recommendation_amount = args.recommendation_amount + 1 + # Access the values of the arguments + return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount + + +if __name__ == "__main__": + seed, debug, data_limit, db, metric, algorithm, anime, neighbors, user_threshold, anime_threshold, recommendation_amount = handle_arguments() + + RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) + PIVOT_TABLE = preprocessing( + RATING_DATA, ANIME_CONTACT_DATA, debug, user_threshold, anime_threshold) + MODEL = create_model(PIVOT_TABLE, metric, algorithm, neighbors) + predict(MODEL, PIVOT_TABLE, seed, anime, recommendation_amount) diff --git a/final/code/requirements.txt b/final/code/requirements.txt new file mode 100644 index 00000000..b0c17db6 --- /dev/null +++ b/final/code/requirements.txt @@ -0,0 +1,4 @@ +pandas +numpy +seaborn +matplotlib \ No newline at end of file diff --git a/final/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf b/final/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf new file mode 100644 index 0000000000000000000000000000000000000000..17f7465b1bdd49cc2accaff721ca774c57711b5d GIT binary patch literal 75199 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®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 literal 0 HcmV?d00001 diff --git a/final/report/execution_time.png b/final/report/execution_time.png new file mode 100644 index 0000000000000000000000000000000000000000..9604f3c04d7d0a457aee8eb21bc46faa25b30ad9 GIT binary patch literal 38367 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

?xOk(zU;9R+pqq79Ku*jU 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 literal 0 HcmV?d00001 diff --git a/final/report/report.tex b/final/report/report.tex new file mode 100644 index 00000000..237ec86f --- /dev/null +++ b/final/report/report.tex @@ -0,0 +1,97 @@ +\documentclass[12pt]{article} +\usepackage{listings} +\usepackage{hyperref} +\usepackage{graphicx} +\title{EARIN project Midterm report} +\author{Krzysztof Rudnicki \\ Jakub Kliszko} +\begin{document} +\maketitle +\section{Progress} +We have implemented reading data from csv files, preprocessing them with optional showing of some of the information about the data and used model/learner for implementing neighbour searches \\ +Program is very flexible and allows for a lot of modification from command line arguments \\ +Full list here: +\begin{lstlisting}[language=bash] +options: +-h, --help show this help message and exit +--data_limit DATA_LIMIT, -dl DATA_LIMIT + Specify data limit, Recommended at least 500k, + set to -1 for no limit +--seed SEED, -s SEED Specify seed +--debug DEBUG, -d DEBUG + Use debug (more information) prints +--database DATABASE, -db DATABASE + Specify database path +--metric {cosine,mahalanobis,euclidean} +-m {cosine,mahalanobis,euclidean} + Specify metric for NearestNeighbor learner +--algorithm {auto,ball_tree,kd_tree,brute} +-a {auto,ball_tree,kd_tree,brute} + Specify algorithm for Nearest Neighbor learner +--anime ANIME, -an ANIME + Specify anime to choose +--neighbors NEIGHBORS, -n NEIGHBORS + Specify number of nearest neighbors +--user_threshold USER_THRESHOLD, -ut USER_THRESHOLD + Specify minimal number of votes + required for user to be included in + the data, set to -1 for no threshold +--anime_threshold ANIME_THRESHOLD, -at ANIME_THRESHOLD + Specify minimal number of votes + required for anime to be included + in the data, set to -1 for no threshold +\end{lstlisting} +\section{Results} +Currently recommendations are displayed in a following way: +\begin{lstlisting}[language=bash] +Recommendations for Kill la Kill: + +1: Shingeki no Kyojin, with distance of 0.11106648055176693: +2: Steins;Gate, with distance of 0.12104265014640536: +3: Toradora!, with distance of 0.12112848901274798: +4: Sword Art Online, with distance of 0.13046005032340824: +5: No Game No Life, with distance of 0.1306815843129835: +6: One Punch Man, with distance of 0.14848484728234945: +7: Angel Beats!, with distance of 0.15175709939974935: +8: Hataraku Maou-sama!, with distance of 0.15244674042590045: +9: Psycho-Pass, with distance of 0.15288022814590008: + \end{lstlisting} + Where we are given name of the anime for which we create recommendation and list of animes recommended with distance to original anime (lower is better) + \subsection{Data size and execution time} + \begin{figure} + \caption{Chart showing how size of data taken impacts execution time } + \includegraphics[width=\textwidth]{execution_time.png} + \end{figure} +This data was taken using default parameters execpt for increasing data size, each of three runs uses different seed + + +\paragraph{Seed} We added seed in predict function for choosing random anime, using the same seed always returns same recommendations and choosing random anime is the only random part of our code \\ +User can specify their own seed by using -s or --seed flag by entering in command line: +\begin{lstlisting} +python -s 42 +\end{lstlisting} +\section{Challenges} +\subsection{Failed attempts} +Biggest challenge was realizing how overcomplicated and unnecessary difficult to implement is the first code we based on: \href{https://www.kaggle.com/code/chaitanya99/recommendation-system-cf-anime}{Kaggle code with tensorflow} \\ +This solutions runs for almost 10 minutes on kaggle and implementing it to run on our local devices was a real chore that took us a good day and a half to implement \\ +This implementation is based around very powerful Tensor Processing Unit from google and while it is possible to change it to run on local graphics card it requires downloading both cuda and cudnn to a downgraded version supported by tensorflow (11.8) and downgrading graphics card drivers \\ +Running it with CPU results in the model training for over 3 hours +\subsection{Corrections} +Suprisingly even though we based our preliminary report around different example code we managed to not make any corrections to preliminary report \\ +All of functionality that we want to implement is available in sklearn and scipy +\subsection{Results and findings} +We can see that the rating is skewed towards higher values, users tend to give ratings of 7, 8 or 9 which inflates average rating to be well above 5 +\begin{figure} + \caption{User rating count} + \includegraphics[width=\textwidth]{user_rating.png} +\end{figure} +\section{Finishing project} +\subsection{Embedding more data in user and anime} +Currently we are only embedding pure rating values of users, we do not take into consideration, popularity, "controversy", studio which created the anime, length of anime (number of episodes and length of episodes), and when it was aired \\ +\subsection{Evaluating our model accuracy} +We need to introduce some way to evaluate accuracy of our model, we will try to introduce at least some of the measures mentioned in preliminary report: precision, recall, F1 score and MAP +\subsection{More results representation} +We still need to introduce more representation for our model results. Mainly how well it predicts similarity based on different parameter values (different modes, arguments and so on) \\ +We already can modify those values easily from the code itself and as argument, we just need to run those values and collect results + + +\end{document} \ No newline at end of file diff --git a/final/report/user_rating.png b/final/report/user_rating.png new file mode 100644 index 0000000000000000000000000000000000000000..da5493c47e470ef3fa4b503d864d1303fe5d00d5 GIT binary patch literal 16441 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 NaZdeg#%YuL{|D_%2zvkk literal 0 HcmV?d00001 From 3b96a6f0f440b5ededd21901d48e71896779d968 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 8 Jun 2023 16:20:20 +0200 Subject: [PATCH 16/30] feat: added auto mode --- final/code/main.py | 78 +++++++++++++++++++++++++++++----------------- 1 file changed, 49 insertions(+), 29 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index cc9b662a..bdfe7180 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -2,12 +2,9 @@ Code for preprocessing data and creating model that predicts and recomends anime based on another anime entered by user """ -import pandas as pd - -import numpy as np import argparse - -import sklearn +import pandas as pd +import numpy as np from sklearn.neighbors import NearestNeighbors from scipy.sparse import csr_matrix @@ -138,7 +135,8 @@ def get_data_info(rating_data, debug=False): f"Min total rating: {smallest_rating}, Max total rating: {highest_rating}") -def preprocessing(rating_data, anime_contact_data, debug=False, user_threshold=500, anime_threshold=200): +def preprocessing(rating_data, anime_contact_data, + debug=False, user_threshold=500, anime_threshold=200, auto=False): """ Preprocesses data for making model more accurate and/or faster """ @@ -151,19 +149,19 @@ def preprocessing(rating_data, anime_contact_data, debug=False, user_threshold=5 rating_data = rating_data.drop(columns="rating_x") rating_data = rating_data.rename(columns={"rating_y": "rating"}) - if debug: + if debug and not auto: print(rating_data) get_data_info(rating_data) pivot_table = rating_data.pivot_table( index="Name", columns="user_id", values="rating" ).fillna(0) - if debug: + if debug and not auto: print(pivot_table) return pivot_table -def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6): +def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6, auto=False): """ This will choose a random anime name and our prediction_model will predict similar anime. """ @@ -180,11 +178,12 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati distance, suggestions = prediction_model.kneighbors( query, n_neighbors=recommendation_number) for i in range(0, len(distance.flatten())): - if i == 0: + if i == 0 and not auto: print(f"Recommendations for {chosen_anime_name}:\n") - else: + elif not auto: print( - f"{i}: {pivot_table.index[suggestions.flatten()[i]]}, with distance of {distance.flatten()[i]}:" + f"""{i}: {pivot_table.index[suggestions.flatten()[i]]}, + with distance of {distance.flatten()[i]}:""" ) @@ -200,45 +199,66 @@ def create_model(pivot_table, metric="cosine", algorithm="brute", neighbors=5): def handle_arguments(): + """ + Handles all arguments that can be used to change algorithm behaviour or program display + """ parser = argparse.ArgumentParser(description='Example script with pyargs') parser.add_argument('--data_limit', '-dl', - help='Specify data limit, Recommended at least 500k, set to -1 for no limit', required=False, type=int, default=-1) - parser.add_argument('--seed', '-s', help='Specify seed', + help="""Specify data limit, + Recommended at least 500k, set to -1 for no limit""", + required=False, type=int, default=-1) + parser.add_argument('--seed', '-s', + help='Specify seed', type=int, required=False, default=42) - parser.add_argument('--debug', '-d', help='Use debug (more information) prints', + parser.add_argument('--debug', '-d', + help='Use debug (more information) prints', type=bool, required=False, default=False) - parser.add_argument('--database', '-db', help='Specify database path', + parser.add_argument('--database', '-db', + help='Specify database path', required=False, default="database") allowed_metric = ["cosine", "mahalanobis", "euclidean"] - parser.add_argument('--metric', '-m', help='Specify metric for NearestNeighbor learner', + parser.add_argument('--metric', '-m', + help='Specify metric for NearestNeighbor learner', required=False, default="cosine", choices=allowed_metric) allowed_algorithms = ['auto', 'ball_tree', 'kd_tree', 'brute'] - parser.add_argument('--algorithm', '-a', help='Specify algorithm for Nearest Neighbor learner', + parser.add_argument('--algorithm', '-a', + help='Specify algorithm for Nearest Neighbor learner', required=False, default="brute", choices=allowed_algorithms) - parser.add_argument('--anime', '-an', help='Specify anime to choose', + parser.add_argument('--anime', '-an', + help='Specify anime to choose', required=False, default="RANDOM") - parser.add_argument('--neighbors', '-n', help='Specify number of nearest neighbors', + parser.add_argument('--neighbors', '-n', + help='Specify number of nearest neighbors', required=False, default=5) - parser.add_argument('--user_threshold', '-ut', help='Specify minimal number of votes required for user to be included in the data, set to -1 for no threshold', + parser.add_argument('--user_threshold', '-ut', + help="""Specify minimal number of votes required for user to be + included in the data, set to -1 for no threshold""", required=False, type=int, default=500) - parser.add_argument('--anime_threshold', '-at', help='Specify minimal number of votes required for anime to be included in the data, set to -1 for no threshold', + parser.add_argument('--anime_threshold', '-at', + help="""Specify minimal number of votes required for anime + to be included in the data, set to -1 for no threshold""", required=False, type=int, default=200) - parser.add_argument('--recommendation_amount', '-ra', help='Specify how much anime should be recommended', + parser.add_argument('--recommendation_amount', '-ra', + help='Specify how much anime should be recommended', required=False, type=int, default=5) + parser.add_argument('--auto', '-au', + help="""Enable auto mode, no debug, no user parameters, + automatic testing and saving results""", + type=bool, required=False, default=False) # Parse the command-line arguments args = parser.parse_args() args.recommendation_amount = args.recommendation_amount + 1 # Access the values of the arguments - return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount + return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount, args.auto if __name__ == "__main__": - seed, debug, data_limit, db, metric, algorithm, anime, neighbors, user_threshold, anime_threshold, recommendation_amount = handle_arguments() + SEED, DEBUG, DATA_LIMT, DB, METRIC, ALGORITHM, ANIME, NEIGHBORS, USER_THRESHOLD, ANIME_THRESHOLD, RECOMMENDATION_AMOUNT, AUTO = handle_arguments() - RATING_DATA, ANIME_CONTACT_DATA = get_data(data_limit, db) + RATING_DATA, ANIME_CONTACT_DATA = get_data(DATA_LIMT, DB) PIVOT_TABLE = preprocessing( - RATING_DATA, ANIME_CONTACT_DATA, debug, user_threshold, anime_threshold) - MODEL = create_model(PIVOT_TABLE, metric, algorithm, neighbors) - predict(MODEL, PIVOT_TABLE, seed, anime, recommendation_amount) + RATING_DATA, ANIME_CONTACT_DATA, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD) + MODEL = create_model(PIVOT_TABLE, METRIC, ALGORITHM, NEIGHBORS) + predict(MODEL, PIVOT_TABLE, SEED, ANIME, RECOMMENDATION_AMOUNT) From e82ae526cbc1f5db281f3a0c539b524a667d2352 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 8 Jun 2023 18:40:27 +0200 Subject: [PATCH 17/30] feat: define auto parameters spread, describe the process --- final/code/main.py | 50 +++++++++++++++++---- final/notes/automatingParametersTesting.txt | 39 ++++++++++++++++ 2 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 final/notes/automatingParametersTesting.txt diff --git a/final/code/main.py b/final/code/main.py index bdfe7180..d1a730b3 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -25,7 +25,8 @@ def get_data(limit_data=-1, data_folder_path="database"): # used to fetch anime_id(MAL_ID) anime_data = anime_data.rename(columns={"MAL_ID": "anime_id"}) anime_contact_data = anime_data[["anime_id", "Name"]] - return rating_data, anime_contact_data + rows_number = rating_data.shape[0] + return rating_data, anime_contact_data, rows_number def merge_rating_anime_data(rating_data, anime_contact_data, debug=False): @@ -187,12 +188,26 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati ) -def create_model(pivot_table, metric="cosine", algorithm="brute", neighbors=5): +def calculate_neighbors(rows_number, neighbors=5): + neighbor_value = { + "default": 5, + "sqrt": sqrt(rows_number), + "half": rows_number / 2, + "log": log(rows_number), + "n-1": rows_number - 1 + } + if type(neighbors) == string: + return neighbor_value[neighbors] + return neighbors + + +def create_model(pivot_table, rows_number, metric="cosine", algorithm="brute", neighbors=5): """ Creates model based on neaarest neighbor for anime prediction """ + neighbors_number = calculate_neighbors(rows_number, neighbors) pivot_table_matrix = csr_matrix(pivot_table.values) - model = NearestNeighbors(n_neighbors=neighbors, + model = NearestNeighbors(n_neighbors=neighbors_number, metric=metric, algorithm=algorithm) model.fit(pivot_table_matrix) return model @@ -254,11 +269,28 @@ def handle_arguments(): return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount, args.auto -if __name__ == "__main__": - SEED, DEBUG, DATA_LIMT, DB, METRIC, ALGORITHM, ANIME, NEIGHBORS, USER_THRESHOLD, ANIME_THRESHOLD, RECOMMENDATION_AMOUNT, AUTO = handle_arguments() +def auto_mode(): + data_spread: [27306186, 54612373, -1] + metric_spread: ["cosine", "mahalanobis", "euclidean"] + algorithm_spread: ['auto', 'ball_tree', 'kd_tree', 'brute'] + neighbor_spread: [5, "sqrt", "half", "log", "n-1"] + user_threshold_spread: [0, 500, 1000] + anime_threshold_spread: [0, 200, 500] - RATING_DATA, ANIME_CONTACT_DATA = get_data(DATA_LIMT, DB) + +def preprocess_model_predict(data_limit, db, debug, user_threshold, anime_threshold, metric, algorithm, neighbors, seed, anime, recommendation_amount): + RATING_DATA, ANIME_CONTACT_DATA, ROWS_NUMBER = get_data(data_limit, db) PIVOT_TABLE = preprocessing( - RATING_DATA, ANIME_CONTACT_DATA, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD) - MODEL = create_model(PIVOT_TABLE, METRIC, ALGORITHM, NEIGHBORS) - predict(MODEL, PIVOT_TABLE, SEED, ANIME, RECOMMENDATION_AMOUNT) + RATING_DATA, ANIME_CONTACT_DATA, debug, user_threshold, anime_threshold) + MODEL = create_model(PIVOT_TABLE, ROWS_NUMBER, + metric, algorithm, neighbors) + predict(MODEL, PIVOT_TABLE, seed, anime, recommendation_amount) + + +if __name__ == "__main__": + SEED, DEBUG, DATA_LIMIT, DB, METRIC, ALGORITHM, ANIME, NEIGHBORS, USER_THRESHOLD, ANIME_THRESHOLD, RECOMMENDATION_AMOUNT, AUTO = handle_arguments() + if not AUTO: + preprocess_model_predict(DATA_LIMIT, DB, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD, + METRIC, ALGORITHM, NEIGHBORS, SEED, ANIME, RECOMMENDATION_AMOUNT) + if AUTO: + auto_mode() diff --git a/final/notes/automatingParametersTesting.txt b/final/notes/automatingParametersTesting.txt new file mode 100644 index 00000000..bc9900d9 --- /dev/null +++ b/final/notes/automatingParametersTesting.txt @@ -0,0 +1,39 @@ +Parameters: + - datalimit (usable between 500k and max) [max = 109,224,747 ] + - seed (very important make sure it stays the same through all testing [maybe just 42?]) + - metric (either cosine, mahalanobis or euclidean as in preliminary report) + - NN algorithm (either auto, ball_tree, kd_tree, brute) + - neighbors - number of nearest neigbors + - User threshold - minimal numbers of votes for user to be included in data + - Anime threshold - same for anime + + +These are 6 parameters that influence program behaviour and 1 parameter for seed +Probably would do simulations for 3 variants of each parameters (excluding seed), rest will be default + +so in total 6 * 3 = 18 simulations + +Default values: +Datalimit: all of data +Seed: 42 +Metric: cosine +NN algorithm: brute +Neighbors: 5 +User threshold: 500 +Anime threshold: 200 + +Neighbors number count: +k = 3-5: default starting points for small-medium dataset +k = sqrt(n): rule of thumb, n is number of instances in dataset (balanced between underfitting and overfitting) +l = n / 2: look at half of dataset for each prediction +k = log(n): for very large datasets +k = n - 1: Use all data except one, will probably overgenarlize the model + + +Values spread: +Datalimit: [27306186, 54612373, 109224747] (max on the right, then halved and halved) +Metric: ["cosine", "mahalanobis", "euclidean"] +NN algorithm: ['auto', 'ball_tree', 'kd_tree', 'brute'] +neighbors: [5, sqrt(n), n / 2, log(n), n - 1] +User threshold: [0, 500, 1000] +Anime threshold: [0, 200, 500] \ No newline at end of file From e7f73f6221291aa54ad21ab4d6e67d54b7ab4bd1 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 8 Jun 2023 19:32:30 +0200 Subject: [PATCH 18/30] feat: working auto mode --- final/code/main.py | 65 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index d1a730b3..fb17e552 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -2,10 +2,12 @@ Code for preprocessing data and creating model that predicts and recomends anime based on another anime entered by user """ +import math import argparse import pandas as pd import numpy as np from sklearn.neighbors import NearestNeighbors +from sklearn.neighbors import VALID_METRICS_SPARSE from scipy.sparse import csr_matrix @@ -191,12 +193,12 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati def calculate_neighbors(rows_number, neighbors=5): neighbor_value = { "default": 5, - "sqrt": sqrt(rows_number), - "half": rows_number / 2, - "log": log(rows_number), + "sqrt": math.floor(math.sqrt(rows_number)), + "half": math.floor(rows_number / 2), + "log": math.floor(math.log(rows_number)), "n-1": rows_number - 1 } - if type(neighbors) == string: + if isinstance(neighbors, str): return neighbor_value[neighbors] return neighbors @@ -269,20 +271,51 @@ def handle_arguments(): return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount, args.auto -def auto_mode(): +def simulate_different_data_size(): data_spread: [27306186, 54612373, -1] - metric_spread: ["cosine", "mahalanobis", "euclidean"] - algorithm_spread: ['auto', 'ball_tree', 'kd_tree', 'brute'] - neighbor_spread: [5, "sqrt", "half", "log", "n-1"] - user_threshold_spread: [0, 500, 1000] - anime_threshold_spread: [0, 200, 500] + for data_size in data_spread: + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + preprocess_model_predict( + starting_rating_data, starting_anime_contact_data, starting_rows_number, data_limit=data_size) -def preprocess_model_predict(data_limit, db, debug, user_threshold, anime_threshold, metric, algorithm, neighbors, seed, anime, recommendation_amount): - RATING_DATA, ANIME_CONTACT_DATA, ROWS_NUMBER = get_data(data_limit, db) +def auto_mode(): + print("Started auto mode") + metric_spread = ["cosine", "euclidean"] + algorithm_spread = ['ball_tree', 'kd_tree', 'brute'] + neighbor_spread = [5, "sqrt", "half", "log", "n-1"] + user_threshold_spread = [500] + anime_threshold_spread = [200] + # No reason to access and waste computational power every time we run the simulation + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + print("automode, metric spread") + for metric in metric_spread: + preprocess_model_predict( + starting_rating_data, starting_anime_contact_data, starting_rows_number, metric=metric) + for algorithm in algorithm_spread: + print("automode, algorithm_spread") + for metric in sorted(VALID_METRICS_SPARSE[algorithm]): + preprocess_model_predict( + starting_rating_data, starting_anime_contact_data, starting_rows_number, algorithm=algorithm) + for neighbor_amount in neighbor_spread: + print("automode, neighbor_spread") + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, neighbors=neighbor_amount) + for user_threshold in user_threshold_spread: + print("automode, user_threshold_spread") + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, user_threshold=user_threshold) + for anime_threshold in anime_threshold_spread: + print("automode, anime_threshold_spread") + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, anime_threshold=anime_threshold) + # simulate_different_data_size() + + +def preprocess_model_predict(rating_data, anime_contact_data, rows_number, data_limit=-1, db="database", debug=False, user_threshold=500, anime_threshold=200, metric="cosine", algorithm="brute", neighbors=5, seed=42, anime="RANDOM", recommendation_amount=5): PIVOT_TABLE = preprocessing( - RATING_DATA, ANIME_CONTACT_DATA, debug, user_threshold, anime_threshold) - MODEL = create_model(PIVOT_TABLE, ROWS_NUMBER, + rating_data, anime_contact_data, debug, user_threshold, anime_threshold) + MODEL = create_model(PIVOT_TABLE, rows_number, metric, algorithm, neighbors) predict(MODEL, PIVOT_TABLE, seed, anime, recommendation_amount) @@ -290,7 +323,9 @@ def preprocess_model_predict(data_limit, db, debug, user_threshold, anime_thresh if __name__ == "__main__": SEED, DEBUG, DATA_LIMIT, DB, METRIC, ALGORITHM, ANIME, NEIGHBORS, USER_THRESHOLD, ANIME_THRESHOLD, RECOMMENDATION_AMOUNT, AUTO = handle_arguments() if not AUTO: - preprocess_model_predict(DATA_LIMIT, DB, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD, + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, starting_rows_number, + DATA_LIMIT, DB, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD, METRIC, ALGORITHM, NEIGHBORS, SEED, ANIME, RECOMMENDATION_AMOUNT) if AUTO: auto_mode() From b86443fb82b64c3c444170b61ad4c14523450fb4 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 8 Jun 2023 19:49:56 +0200 Subject: [PATCH 19/30] feat: optimize auto mode by not runninng preprocess data every time --- final/code/main.py | 58 ++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index fb17e552..11e7aeed 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -11,7 +11,7 @@ from sklearn.neighbors import VALID_METRICS_SPARSE from scipy.sparse import csr_matrix -def get_data(limit_data=-1, data_folder_path="database"): +def get_data_cpu(limit_data=-1, data_folder_path="database"): """ Reads anime from csv database """ @@ -23,6 +23,11 @@ def get_data(limit_data=-1, data_folder_path="database"): else: rating_data = pd.read_csv(data_folder_path + "/animelist.csv") anime_data = pd.read_csv(data_folder_path + "/anime.csv") + return rating_data, anime_data + + +def get_data(limit_data=-1, data_folder_path="database", gpu=False): + rating_data, anime_data = get_data_cpu(limit_data, data_folder_path) # used to fetch anime_id(MAL_ID) anime_data = anime_data.rename(columns={"MAL_ID": "anime_id"}) @@ -114,7 +119,7 @@ def get_top_ranked(rating_data, data_name, join_table=None, top_data_taken=20): return top_rated -def get_data_info(rating_data, debug=False): +def get_data_info(rating_data, debug=False, gpu=False): """ Get some informations about data """ @@ -123,7 +128,6 @@ def get_data_info(rating_data, debug=False): top_rated = get_top_ranked(rating_data, "user") top_rated = get_top_ranked(rating_data, "anime", top_rated) - pivot = pd.crosstab(top_rated.user_id, top_rated.anime_id, top_rated.rating, aggfunc=np.sum) @@ -154,7 +158,7 @@ def preprocessing(rating_data, anime_contact_data, rating_data = rating_data.rename(columns={"rating_y": "rating"}) if debug and not auto: print(rating_data) - get_data_info(rating_data) + get_data_info(rating_data, True) pivot_table = rating_data.pivot_table( index="Name", columns="user_id", values="rating" @@ -274,11 +278,27 @@ def handle_arguments(): def simulate_different_data_size(): data_spread: [27306186, 54612373, -1] for data_size in data_spread: - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( + gpu=True) preprocess_model_predict( starting_rating_data, starting_anime_contact_data, starting_rows_number, data_limit=data_size) +def simulate_different_thresholds(rating_data, anime_contact_data): + for user_threshold in user_threshold_spread: + print("automode, user_threshold_spread") + PIVOT_TABLE = preprocessing( + rating_data, anime_contact_data, user_threshold) + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, user_threshold=user_threshold) + for anime_threshold in anime_threshold_spread: + print("automode, anime_threshold_spread") + PIVOT_TABLE = preprocessing( + rating_data, anime_contact_data, anime_threshold) + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, anime_threshold=anime_threshold) + + def auto_mode(): print("Started auto mode") metric_spread = ["cosine", "euclidean"] @@ -287,37 +307,31 @@ def auto_mode(): user_threshold_spread = [500] anime_threshold_spread = [200] # No reason to access and waste computational power every time we run the simulation - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( + gpu=True) + original_pivot_table = preprocessing( + starting_rating_data, starting_anime_contact_data) print("automode, metric spread") for metric in metric_spread: preprocess_model_predict( - starting_rating_data, starting_anime_contact_data, starting_rows_number, metric=metric) + starting_rating_data, starting_anime_contact_data, starting_rows_number, original_pivot_table, metric=metric) for algorithm in algorithm_spread: print("automode, algorithm_spread") for metric in sorted(VALID_METRICS_SPARSE[algorithm]): preprocess_model_predict( - starting_rating_data, starting_anime_contact_data, starting_rows_number, algorithm=algorithm) + starting_rating_data, starting_anime_contact_data, starting_rows_number, original_pivot_table, algorithm=algorithm) for neighbor_amount in neighbor_spread: print("automode, neighbor_spread") preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, neighbors=neighbor_amount) - for user_threshold in user_threshold_spread: - print("automode, user_threshold_spread") - preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, user_threshold=user_threshold) - for anime_threshold in anime_threshold_spread: - print("automode, anime_threshold_spread") - preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, anime_threshold=anime_threshold) + starting_rows_number, original_pivot_table, neighbors=neighbor_amount) + # simulate_different_thresholds(starting_rating_data, starting_anime_contact_data) # simulate_different_data_size() -def preprocess_model_predict(rating_data, anime_contact_data, rows_number, data_limit=-1, db="database", debug=False, user_threshold=500, anime_threshold=200, metric="cosine", algorithm="brute", neighbors=5, seed=42, anime="RANDOM", recommendation_amount=5): - PIVOT_TABLE = preprocessing( - rating_data, anime_contact_data, debug, user_threshold, anime_threshold) - MODEL = create_model(PIVOT_TABLE, rows_number, +def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot_table, data_limit=-1, db="database", debug=False, user_threshold=500, anime_threshold=200, metric="cosine", algorithm="brute", neighbors=5, seed=42, anime="RANDOM", recommendation_amount=5): + MODEL = create_model(pivot_table, rows_number, metric, algorithm, neighbors) - predict(MODEL, PIVOT_TABLE, seed, anime, recommendation_amount) + predict(MODEL, pivot_table, seed, anime, recommendation_amount) if __name__ == "__main__": From dc5170a44ec5559c0bd7dfc2a25744dc6607ce37 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Thu, 8 Jun 2023 20:13:53 +0200 Subject: [PATCH 20/30] feat: remove unnecessary prints --- final/code/main.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index 11e7aeed..00b620dc 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -173,7 +173,6 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati This will choose a random anime name and our prediction_model will predict similar anime. """ np.random.seed(seed) - print(pivot_table) if anime == "RANDOM": chosen_anime = np.random.choice(pivot_table.shape[0]) query = pivot_table.iloc[chosen_anime, :].values.reshape(1, -1) @@ -316,7 +315,6 @@ def auto_mode(): preprocess_model_predict( starting_rating_data, starting_anime_contact_data, starting_rows_number, original_pivot_table, metric=metric) for algorithm in algorithm_spread: - print("automode, algorithm_spread") for metric in sorted(VALID_METRICS_SPARSE[algorithm]): preprocess_model_predict( starting_rating_data, starting_anime_contact_data, starting_rows_number, original_pivot_table, algorithm=algorithm) From f8b8f862e9d91a9d02de8ad9cf1f9803689667b9 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 16:42:37 +0200 Subject: [PATCH 21/30] feat: create file for each test --- .gitignore | 1 + final/code/main.py | 45 +++++++++++++++++++++++++++------------------ 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 5bc6c4f6..80887879 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ database +test_results anime_with_synopsis.csv anime.csv animelist.csv diff --git a/final/code/main.py b/final/code/main.py index 00b620dc..87980aa0 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -4,6 +4,8 @@ recomends anime based on another anime entered by user """ import math import argparse +import os +import datetime import pandas as pd import numpy as np from sklearn.neighbors import NearestNeighbors @@ -214,7 +216,12 @@ def create_model(pivot_table, rows_number, metric="cosine", algorithm="brute", n pivot_table_matrix = csr_matrix(pivot_table.values) model = NearestNeighbors(n_neighbors=neighbors_number, metric=metric, algorithm=algorithm) - model.fit(pivot_table_matrix) + try: + model.fit(pivot_table_matrix) + except: + print(f"""Error in create_model, probably wrong metric for data + Metric: {metric}, algorithm: {algorithm}""") + return "Error!" return model @@ -303,33 +310,35 @@ def auto_mode(): metric_spread = ["cosine", "euclidean"] algorithm_spread = ['ball_tree', 'kd_tree', 'brute'] neighbor_spread = [5, "sqrt", "half", "log", "n-1"] - user_threshold_spread = [500] - anime_threshold_spread = [200] # No reason to access and waste computational power every time we run the simulation - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( - gpu=True) + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data(limit_data=500000) original_pivot_table = preprocessing( starting_rating_data, starting_anime_contact_data) - print("automode, metric spread") - for metric in metric_spread: - preprocess_model_predict( - starting_rating_data, starting_anime_contact_data, starting_rows_number, original_pivot_table, metric=metric) for algorithm in algorithm_spread: for metric in sorted(VALID_METRICS_SPARSE[algorithm]): - preprocess_model_predict( - starting_rating_data, starting_anime_contact_data, starting_rows_number, original_pivot_table, algorithm=algorithm) - for neighbor_amount in neighbor_spread: - print("automode, neighbor_spread") - preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, original_pivot_table, neighbors=neighbor_amount) - # simulate_different_thresholds(starting_rating_data, starting_anime_contact_data) - # simulate_different_data_size() + for neighbor_amount in neighbor_spread: + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, original_pivot_table, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) +def write_test_results(title): + # Create directory if it doesn't already exist + if not os.path.exists('test_results'): + os.makedirs('test_results') + + # Generate timestamped filename + timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') # e.g., 20230611235959 + filename = f"{title}_{timestamp}.txt" + + # Create and write to the file + with open(os.path.join('test_results', filename), 'a') as file: + file.write(f'Test results for {title} at {timestamp}\n') def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot_table, data_limit=-1, db="database", debug=False, user_threshold=500, anime_threshold=200, metric="cosine", algorithm="brute", neighbors=5, seed=42, anime="RANDOM", recommendation_amount=5): MODEL = create_model(pivot_table, rows_number, metric, algorithm, neighbors) - predict(MODEL, pivot_table, seed, anime, recommendation_amount) + if MODEL != "Error!": + predict(MODEL, pivot_table, seed, anime, recommendation_amount) + write_test_results(f"dl:{rows_number}_s:{seed}_m:{metric}_a:{algorithm}_ut:{user_threshold}_at:{anime_threshold}_n:{neighbors}") if __name__ == "__main__": From 5816866342d24d4ad0b644ac4b0c1d489638339c Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 18:35:51 +0200 Subject: [PATCH 22/30] feat: add diffrencenc between avrage distance and closest distance --- final/code/main.py | 75 ++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 42 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index 87980aa0..bea2dc6f 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -4,6 +4,7 @@ recomends anime based on another anime entered by user """ import math import argparse +import shutil import os import datetime import pandas as pd @@ -170,7 +171,7 @@ def preprocessing(rating_data, anime_contact_data, return pivot_table -def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6, auto=False): +def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6, auto=False, debug = False): """ This will choose a random anime name and our prediction_model will predict similar anime. """ @@ -182,17 +183,24 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati else: query = pivot_table.loc[anime].values.reshape(1, -1) chosen_anime_name = anime - distance, suggestions = prediction_model.kneighbors( - query, n_neighbors=recommendation_number) - for i in range(0, len(distance.flatten())): - if i == 0 and not auto: + query) + if debug: + print("prediction model, distance: ", distance) + for i in range(0, 4): + if i == 0 and not auto and not debug: print(f"Recommendations for {chosen_anime_name}:\n") - elif not auto: + elif not auto and not debug: print( f"""{i}: {pivot_table.index[suggestions.flatten()[i]]}, with distance of {distance.flatten()[i]}:""" ) + average_distance = np.mean(distance.flatten()) + closest_anime_name = pivot_table.index[suggestions.flatten()[1]] + closest_anime_distance = distance.flatten()[1] + average_minus_closest_distance = closest_anime_distance - average_distance + print(f"Average distance: {average_distance}, average_minus_closest_distance: {average_minus_closest_distance}") + return f"{chosen_anime_name}_{closest_anime_name}_{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" def calculate_neighbors(rows_number, neighbors=5): @@ -212,7 +220,7 @@ def create_model(pivot_table, rows_number, metric="cosine", algorithm="brute", n """ Creates model based on neaarest neighbor for anime prediction """ - neighbors_number = calculate_neighbors(rows_number, neighbors) + neighbors_number = calculate_neighbors(pivot_table.shape[0], neighbors) pivot_table_matrix = csr_matrix(pivot_table.values) model = NearestNeighbors(n_neighbors=neighbors_number, metric=metric, algorithm=algorithm) @@ -280,48 +288,30 @@ def handle_arguments(): # Access the values of the arguments return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount, args.auto - -def simulate_different_data_size(): - data_spread: [27306186, 54612373, -1] - for data_size in data_spread: - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( - gpu=True) - preprocess_model_predict( - starting_rating_data, starting_anime_contact_data, starting_rows_number, data_limit=data_size) - - -def simulate_different_thresholds(rating_data, anime_contact_data): - for user_threshold in user_threshold_spread: - print("automode, user_threshold_spread") - PIVOT_TABLE = preprocessing( - rating_data, anime_contact_data, user_threshold) - preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, user_threshold=user_threshold) - for anime_threshold in anime_threshold_spread: - print("automode, anime_threshold_spread") - PIVOT_TABLE = preprocessing( - rating_data, anime_contact_data, anime_threshold) - preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, anime_threshold=anime_threshold) - - -def auto_mode(): +def auto_mode(data_limit = -1, seed = 42, anime="RANDOM"): print("Started auto mode") - metric_spread = ["cosine", "euclidean"] algorithm_spread = ['ball_tree', 'kd_tree', 'brute'] neighbor_spread = [5, "sqrt", "half", "log", "n-1"] # No reason to access and waste computational power every time we run the simulation - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data(limit_data=500000) + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data(limit_data=data_limit) original_pivot_table = preprocessing( starting_rating_data, starting_anime_contact_data) + if os.path.exists('test_results'): + shutil.rmtree('test_results') for algorithm in algorithm_spread: - for metric in sorted(VALID_METRICS_SPARSE[algorithm]): + print("testing for algorithm: ", algorithm) + possibleMetrics = sorted(VALID_METRICS_SPARSE[algorithm]) + for metric in possibleMetrics: + print("testing for algorithm, metric: ", algorithm, metric) for neighbor_amount in neighbor_spread: + print("testing for algorithm, metric, neighbor_amount: ", algorithm, metric, neighbor_amount) preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, original_pivot_table, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) + starting_rows_number, original_pivot_table, seed=seed, anime=anime, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) -def write_test_results(title): +def write_test_results(title, result = ""): # Create directory if it doesn't already exist + + if not os.path.exists('test_results'): os.makedirs('test_results') @@ -331,14 +321,15 @@ def write_test_results(title): # Create and write to the file with open(os.path.join('test_results', filename), 'a') as file: - file.write(f'Test results for {title} at {timestamp}\n') + file.write(result) def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot_table, data_limit=-1, db="database", debug=False, user_threshold=500, anime_threshold=200, metric="cosine", algorithm="brute", neighbors=5, seed=42, anime="RANDOM", recommendation_amount=5): MODEL = create_model(pivot_table, rows_number, metric, algorithm, neighbors) + result = "" if MODEL != "Error!": - predict(MODEL, pivot_table, seed, anime, recommendation_amount) - write_test_results(f"dl:{rows_number}_s:{seed}_m:{metric}_a:{algorithm}_ut:{user_threshold}_at:{anime_threshold}_n:{neighbors}") + result = predict(MODEL, pivot_table, seed, anime, recommendation_amount) + write_test_results(f"dl:{rows_number}_s:{seed}_m:{metric}_a:{algorithm}_ut:{user_threshold}_at:{anime_threshold}_n:{neighbors}", result) if __name__ == "__main__": @@ -349,4 +340,4 @@ if __name__ == "__main__": DATA_LIMIT, DB, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD, METRIC, ALGORITHM, NEIGHBORS, SEED, ANIME, RECOMMENDATION_AMOUNT) if AUTO: - auto_mode() + auto_mode(DATA_LIMIT, SEED, ANIME) From cc803f1d661d04cae4b3fc80e0f3ce56ac7bb57f Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 20:08:50 +0200 Subject: [PATCH 23/30] feat: tests now test different algorithms --- final/code/main.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index bea2dc6f..c8a21e30 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -222,8 +222,11 @@ def create_model(pivot_table, rows_number, metric="cosine", algorithm="brute", n """ neighbors_number = calculate_neighbors(pivot_table.shape[0], neighbors) pivot_table_matrix = csr_matrix(pivot_table.values) - model = NearestNeighbors(n_neighbors=neighbors_number, - metric=metric, algorithm=algorithm) + if algorithm == "brute": + model = NearestNeighbors(n_neighbors=neighbors_number, + metric=metric, algorithm=algorithm) + else: + model = NearestNeighbors(n_neighbors=neighbors_number, algorithm=algorithm) try: model.fit(pivot_table_matrix) except: @@ -290,7 +293,7 @@ def handle_arguments(): def auto_mode(data_limit = -1, seed = 42, anime="RANDOM"): print("Started auto mode") - algorithm_spread = ['ball_tree', 'kd_tree', 'brute'] + algorithm_spread = ['auto', 'ball_tree', 'kd_tree', 'brute'] neighbor_spread = [5, "sqrt", "half", "log", "n-1"] # No reason to access and waste computational power every time we run the simulation starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data(limit_data=data_limit) @@ -299,8 +302,12 @@ def auto_mode(data_limit = -1, seed = 42, anime="RANDOM"): if os.path.exists('test_results'): shutil.rmtree('test_results') for algorithm in algorithm_spread: - print("testing for algorithm: ", algorithm) - possibleMetrics = sorted(VALID_METRICS_SPARSE[algorithm]) + possibleMetrics = [] + if algorithm != 'auto': + possibleMetrics = sorted(VALID_METRICS_SPARSE[algorithm]) + print("testing for algorithm: ", algorithm, possibleMetrics) + if possibleMetrics == []: + possibleMetrics = [""] for metric in possibleMetrics: print("testing for algorithm, metric: ", algorithm, metric) for neighbor_amount in neighbor_spread: From 69fd151d93deb5d5679e5d6406c482510125a414 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 20:10:34 +0200 Subject: [PATCH 24/30] feat: fill sections of final report and add preliminary report --- .../report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf | Bin 75199 -> 0 bytes final/report/execution_time.png | Bin 38367 -> 0 bytes final/report/report.pdf | Bin 0 -> 20674 bytes final/report/report.tex | 135 ++++----- final/report/user_rating.png | Bin 16441 -> 0 bytes preliminary/preliminary.pdf | Bin 0 -> 40781 bytes preliminary/report.tex | 281 ++++++++++++++++++ ...IN - Daniel Marczak project guidelines.pdf | Bin 0 -> 58853 bytes 8 files changed, 333 insertions(+), 83 deletions(-) delete mode 100644 final/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf delete mode 100644 final/report/execution_time.png create mode 100644 final/report/report.pdf delete mode 100644 final/report/user_rating.png create mode 100644 preliminary/preliminary.pdf create mode 100644 preliminary/report.tex create mode 100644 projectMaterials/EARIN - Daniel Marczak project guidelines.pdf diff --git a/final/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf b/final/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf deleted file mode 100644 index 17f7465b1bdd49cc2accaff721ca774c57711b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75199 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®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 diff --git a/final/report/execution_time.png b/final/report/execution_time.png deleted file mode 100644 index 9604f3c04d7d0a457aee8eb21bc46faa25b30ad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38367 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

?xOk(zU;9R+pqq79Ku*jU z9sQ11)Nmr!akZCTi^eTf-X>H-SL%pLQBod(gyGWuVOqiN7F(=IO7m;v{_yx|u2nM% zUlh8rxxd@l$W-IfVH)UWr#e&6>5A-aLK{?cY>d@E2_*B_&Z#ud635?E^jAFAy_Tap z-k35|NY~I+jsKHjU_dUjE1C2`;Yn!C*RiJQmv9AA%H^ynR9j?+!jWu(mq?uBy)%lB zBYvNT2GB%g1WLo1pu}SX)3gBKzwN*W6{4UGs#O;K;>Ux#=;miP-7S8UD5ZQuu9Gx3 z+eE*z_7}?>-Ol9TeXREveiEeI4se_F*s>jM>loqx=3{zwf!ub$-8d&hI+cb*}5oA0^G_^Lc;X>+Ah` zJzmfE#7)cz*0w4cjYRA>rUq{Fp9NX*I%0hD&9VePb!zDz?e3VhOg6_TeWK}|v7Ecf zsgj}jqKSzZ*&~xjdlQrnhA7*%f*E($-g{35Ox?R{_J&B$jkf{c3HBE&Avm&Kn0D z9$$(~ruR#W(Q_~4%05Q$T#YABEsZAnyNaQgac8>xr}SlNW2#S7wcR^xjf^OW zCm~1v4&C(@F>|EycT(`z0S0w%7QK>36TrD7QGkMV&|~~=AT*tumSZQ}T5;^0yYrcd zHVZjfi%TzSCN_lDm6j|BAG_@LuEQDYJ9WSIFt1pF&v`sL9A2;;-heDMGTY<+xh+aF zAMANC!Wi+-H`kH$4s58z`X9(^TaOZB!+b7&sE5*g?tklr;(o3#Ol8V5*Jqpo)k53i zePF;RAP>%QH8;rV>I#A>ix zG-L}Dr8mi+6%YA1&^DbwDOO}R7ZBZodj08j5nU}8vh_O)Ev)WJloJ!hFm&Npo8KNr zw~6aokyc1?T-D7NLPnz0$w!RO*y22vv|FM$>Pow@_=(E=d(QYNZ>0uw*5(v<#O2ut*)`qI7sc>GgsDt%(2?5kWn z`qam+vgClpst*=-wI~5I5poEov-Pmkh0?zU=mX*Xw_|dHuTv}STA3)gsA^BgSj;jP z|8h@xG|hkgD>G13_fGdNr6#`x{RMhReM4R6zUXMrPku6$4oYV;26o7WAx(*U%90(H z!f$MrO@U*d8h2Mu^3J*bVfq!uN&vfgF=$sv_F33|LVZ#p7I>}_&q&PPIx%5rm2ik} z^Kgpha~-S|+F6y0@wcRme$mpPC{=co!QNiU6Iu3QAAAk0_oo)?fZgmN#|Xtt{#Wlk zHe~}`uQ9>m;T4B>=!d&9Kd;fPgUtQ`$Wc6K^+Pe2e|ADH+`-ICtxeGHE7MrU*Y><) z7G62obqOdcbOUS>Zg|3o?I#bbP1ya$iCVaiF}@&ZNFInw*XO0mjk$`$oN=H?`OCh@ z6u#3n;+_5_t^#PoEFe2^&{IEZrSr{ZSgSR#I%ow|CkVcOB(fztL|dj$1%-s%wH{8b zo{{@&8$P_}-V0yY&+IF)#ET4X&LS>pSC25ud;HtkVstIQED6KFqIy*0@2>af0VpU(tngWiInL0+ncV@L?Y{oZ9ndf~4%Aovb8 zEgM1zds+VSz9YHDOBcI&aO-xoV}K=h6HFHe+#Q)`#+8D%Ms+X8*)}MkYJYT;bP9*= z2MSW(Uk;bKPz#IR3u@|whn--sh|tk!=M}3%JlgCLxe)k#eb8|kn7PV9L8!}s-yt5D zUy$e9(PQaj^TjZjf&RkgYhc%5@LVv?DN8uS1Jh(O7$nejv}@}0TCFx>#aVw3=$Ha?aQ zWU&$sp=#?>`IxtZxD(K2;4RjAwa^s0Jp-yiof7@7s|?J7ZGI#I#OAiv6B{Pq5rP5` zh10W64WL~b|01d>12cdq0^4#r7M<8v0(K=eaPAM;ey~-8(*?|reZ&U~54c7!T`J%_ zMtg!Lj1`$!ZheZ7>|%L(bKvVmmrh~WrTr}bN5Ip1L5w+z4(Lgy#(Aw2prf`4fY`^# zQ5bAaG8Wyunqs>sy7?`BGj`#yAL0d%w2eVlM9UlsmQk5n2YbJdg^Sr%l{;^?hu96} zG+xa}0UfN-doyL$WV*hmY&PZUJMAL5Aa1^<@A~-Sc69^NnA^k}Sg4~=GPeal(#da%#bsZDv?ii@p}anRE~l0cu;=;g z^{~A`Uk?kc-ln9e0W*?$nCY-dd$9!C^SR=&R$SL65Q)i);U@bmPg{e8ohg&qdh-cQ zX(JL|4MC!Tk!^ZVa7(Rl%1IeTA(|x54?=%eVYQc2pK@ouW!Zu+VFzD{4soJtSA~0PqK%IaHOb-;Qft)%i z#vn4C!I6Z-zUUxGWlg=Y05YIXdwVBJ{}kJ_>9t2>tl)1DvYJ!TV9r|ydzEf?Sn&M$ z^U65lzmJuD;ywieZ^RdqGc!@1P}d(j&5F!l{+rqH0iqZxN;u%_f|YFek3#iVUezNo z8^jX!>Fg>68U%<3%F-#Dk!d_pKJZajq%H{n>y`!96wPuxx=2g$)SoW$_Od zy_0W>B!9!0K4e=rCEF(lqZSCq$D7p6{7^;ou3Th0{h;)UTU&-f+stv0Yo?v>Z}?6i z@<2u73+Y={g-57T>Who^7;Z-TdYYDprQX+3MJ2inot&QAaD2OEV zeA19GDroJy(JOZ?SW`Hv)hPwARD#O);QHQ4P|QV{UL<&O1o9#Lv}Wivh4K19UDk)x zv1*o@-ZJ6%L=#3n@#Y?YA7!+pj%gjD{1{v%iA?jZQ!qUDPkzTY=ifjNB8>oAqzVx- z352 zJ;N`HdUBE5W+p2;+-kL4?5F9O@wN&GP#Vk!PquY)GM&)}Xd+xmi;Kc*Kt+Wp^9Cc3 zMg)j%8uNFW_;Dg~wxpOl8`~dY)f`t2{%rdDPfy#JF)daus?A3(WM!yvyk7F!0xsy9 zUzk)?VXPxsS8nF{6wpR28y4>T>wYi31zb*UnRNj*Q=;z4%usCt3S0>S(+siepfJ2@ z!lct#PeO|uz2PA_IJJW}Xaj0y>1+e?AtD(tR_vPo1{s|Qg&)h3BDiVDGE3*xE z$gzy~OZEKx&$I-dCiq$^g|FDu97jhT2XzraH;qL{;*}b}->YrpX?r_0ZV4y=%#>wx z0q~!NVs`1*51Q)VK9rqYt93}|Ei}#S`j1BBzov0f_3FvZxn71Mc~1jfy@RYj8D`Qa zubR1)8QU~87vmB5R95BfF1Ix+5PJ1~lz#Z$p+1LLpL;RSXkF7m$G+xqEd2=svnK8j z@0JB%*G?oek{{h?zW#wn-gkX(~oE^C{Vg51AJ zdd9s^PU|>^W|k?jBK=?k`cuP)Eh#bK5ZdO}K~{=N=4Q2@Mf2#hyMJ?CX`)A23Nd{T zj!sSyfImDTmY821e{jbAkf-|j$b9yU#rotMGj8{v1*Jw~%09UG@Ac^)bh#WCtdrb{ zqEF7Im1isdE_i6drP&)LGWBwo0Fv`RNu2x-xRn1L(rl^|>`8eLU0MevEiNSi92KBD zVnl*u(HksaFsSGzTYHC72p|I724!ce0iLDJJuMk@6OCSn(>gi`BfnLFPZCPa0#f;{ z->fu%l__MW2J~ zznf?*Ys2yN0ub}=j{RJeq%;XhbX>=IjnpOl8DAR=Oo$5|my!`_{jazdXN=kjql5Ps z$!r@HRPw>sTkiYPj1MmppzP6Orf_mB+KQp7qH+!HJ8e8*{bzhv@bi?^<(;i2puRB! zBBzi$kzhl9ub$Xd^hQZm3fIyQ`6)yRXf+;zzHtBaR#_3LL+1toT2^rME%kFb{eh3X zswRTn-yFAJ>GJ7FN<*`yeTYJu_5V(l|7!zhjhaE(nio#a2gT~FCT@a%tv@eu#wZM! zMc{KpTm-%PgUE{-uo43sXl>>kV2;2t|K$jn2*Bsa$^YZ8Q~>qneSqb#RD~p8;eXBm zQ)0Z$P)=3B>eERGqYCysC4nRZdRG!WOLrEKcNfD@Xf*LHNN}f%bpVWI@#b-xlAn!@ zjo+CG$*HO8P{^8*5-|LHh0Il0s9pnWy(|IviGj>HfstaZ7w*`<`<>hSIUE*PA*v9n zhEMGI5i9f|DW<=;e!0~3s)xX8<%E2zH5CXrWlbYJHi?VZwH!xBml$sk7W#a`ztsu! z6$KOj`q)Els0cvvoeWI57PPtFj%@m4M-mgVP9+n|J7jn5I?6fju|i-N6(!+pbW#&C zK~gSpalqj{D#V|?jARGTx>XFUhrKdfEoX69VAhmBH=4M}Mlsi@@{Z z!_fJuBsh$;(Cc>eRfmK1N;Zn%+Hkec$=Qbm0PD?A2dE%j8NxcQfWCi1(p`kIt2a)eZ=^{|PtT2BiU*i+lYuct^;#|3!r}57qSf*hf+BnMnbeD* zCqo~Joqx|JLKlZt-$M711?Yj`V}9%Ze+5*-f398-+3D%~l+T>mDY)18{rjI_|8=x# zwK_wq)8<;fP^llSOPph%#0-!_0zP}?j&PGzR8{Y>fhxh=+=G95(D@nmC6X{&ucRLY{T{O%8N z&r><(x3L!Af}^v9gx5`Z1J{T5uP z+u9m3cz?P*oz||WALW)*`C_kw#?Fi<``OyTlsF}yaRdb!^SiI=Zg6yRQc#nFp9&mr ze7n-SbQZ<-@sa9NA1pb-{tCO9h+TJ_z~9zhvz(bm3jg!>&`C-wu8nV=&AVl$Sw(r# zD!$>JhHq{`!+vL>d1xgApO10PJKf%>BfjRCx8>-S4o)vk$BSP$sNd4%w%}t@6|odJ zp`U0-y|wZ0VIC@-^9F7~SJ0BwIDo-9jv{q-rWqd;m($+uYeVH6CzwBd{v%q>^RjWo z{@?RLsK_-ttEu~D1`lz*;-to}p^nYDw5n@g?OonKaiE5Vif^LA&T9q-c#t8q2~yJ< zFLGlh-WjU|`CEfef4_%T=T<~kF=y&0_GYcK=0_yH;5k;Mg%+oJ>?B1lL zyv%M51R&N)C{4El_zUlag`5W9q+*BxGyQjay=lIbH@7I6B_jD@>aw;()SgWrRefA8 z$g}l&K#pw1!?AMQ7k_;xp0D{TqNVV6_X+)#GZ~cS*4U+T^X~VN_OGFkzOJtcLGRn_ zWZGqUwr&p)k{t&y!J-ti{synJ@M8r!23q7`u#E{KHxMzdckg5bVQC)nvJz*3_ z1Ypfv{pq8N?@X%946u*nR>xDQp1I+}DHH`xRp^|57f3hs1^Qs*Rk!895XKQe9*zJ? zfm8ww=7*vX4F@4jdzYjnezMGlrUU8}$B^K`Obad}cA`3r(9DLU=}4OkNv6MtNo7*_ zvyK%u;SK`I+jI`*ZwZF--)_M#2ys$J2H0*H!)&0L&XD?L5D`u1EyIPk53^E(P;Qf& ztOdQo@X0*M-=!?bEc^xBb~B2LlG3J-g7AEC)wi&?r8D=RLmWSz!5w zT9_&=Z~E?IfFGJp#0=&Dw{Z+ZHB3;JQm&bJw@f zZs}#?fy2B>e;Ngp7-Z${wCtHavUGQD;&YV+t)67K03Yh>2KKb3=^mjL+J_GARgzRE( z4-mqJZ~Epx6zyrK-^mg|831PrKyj~dTI5@zprgp3}YWX8r+K>YORh3R-`QAk1%#|4Nb+zz`2T1AzGoi|Ye8JE! z8M2H6GCvkgYx)|QSYLnDDk zs4JpNh^1y9W=>sdfj4G{r4St(s@iB4S1J^_T@^n-3QgyxpGm)MB;bX~mY5xZCgDD_ ze9tZw3VfgnT5|wxw1=1*bnRRfak*+d(yUKY1=IZ9jjDxt%amleq$>+t*XUaEK982o znW+upgx78W8hXU6-iB3^1`O?)oQ`vdNAx->)fqmErA_leUqgzb4649N01v)tNrWaG zJ;K$GIfQ~S;fJ;>k!ss!dwC8qIw~p-Y!0VsU^m_nxK?5L@3(sa)rXwEQ>lAMj76@; zBH*b`0S$vbuVF#6&RX=e<0==;48ra8KS~!Bj8rIwD$pql&)MNLN)zz7u0f3&TUxF1Vf8 z2YYC_I;@?efxzU2k#UYlu(}FAL|qIAf1WgzS5Lt9z^S)%Go6^5K@dYjlddp@N>5qp zx-HjwVs-k`{hE`B2l^Yy&^j*~EaN(iUZl3ITpu(GtJWA{NU}vhnVmwGT2BU4))BhJ zS5yX4n#YwdYHK`SE$)%MOPJCiribSvdU%Ru$xz{hJ;i2znh-wO@c>n7ZpJz`fHJ@< z`RM8jZzw+@hm7UafB^eni%Uz2<>3^+@$4Zz>6mHDv;@MM#UwJ>UKu*>1ggl zFrUxP!*|2C7w8jjoC2$-`#&^Pj(m|g1;=O#E2fe47bQC$*VIF1V=s$Bp(*(@(M z3cu{;9OHO#?Uo=Iv;hKXzK(%`l^=@Pnts#I3TR3h098~-85AtOy`JO5RDDkd3B=t4 ze^3C+*mPG@@WnikssTnpTv&*`2pSh3`gnC?;JgE~Tl3-QB@?Hm$dd#1NkAUN-LX6P zhb>h>yK>|-q!+%@i|7T*t0RCC@!-8xxGDDQe5wYd_;(_C4u$TSy%~t9qg>Rq({7;V zLU&2wDX!+;?cJy+#08>Qcp-uek==!Dbi?AuF&8a{N4tZ-q7%hbJE2am_B|LlEAv#o z5el_K(&6L`?OkXz?@a}3hj7y)(qXA;rSl~UHnpZYJKYu88olqDPzlpkWz zG8I|S4^d>2$qQ(e6%%i0mb?24D;@a5wv(ernx_SZXbkCZe27@dJ4*~o(AgFBZpqAV zCpCP=Qa4suDA3f)L2fC1UNa=kWlh?xtP_Ltn@@ua7nmejP+ zK&r6b>;4)_%4Pbs+wK%%TLQQirYk+;miq^~w3uC)fFLdI$QKSV4&y_o2kc>@YVk63 zEH`yLMkeGA->Y7fTtgP~t-*oAd7K+ju(Kz)?pVG`I&i7zZhfbX>I11hO}1cmv}bqO zqPOPw^B`v4G95i$M^w>oC{PttkDdi1>7t;I@^=3Doe(EoDKLT962_N29NJdx@>iw3 zz1GUw+OvwYgRR!68HQAh2yc5o`ZifGDInPnR9U#CW7C-`>*e&P)|5854|%q%DBJA; z?@?I`Sfa)RMcZo7W>Y_MkH}-8K%sO$Sv-!}k>&pumxvfwoQ*pLDCiFWp%4`b!hD5W zqI`RVLC{AD5M2`BEy2XB)Y!kU4pOvvb_Q4nAR==h4~;b?_M#Smz0*mh*H|@; zF^R16oj&}hPdo!eISz{mVqG;d?SD38C z&p5Ec8Qkr{f-^-_Jn-08SScOCtOa9g!7~Wl=^X^5LkBw0#rG<$?nFY@t2SWAJ`s{w zc@^kA&QuN6dLpoo$!iJSJF97bFqScbDaGly^XZ#?o`M+<3MVylr_Zqec?I+5CuA+< zZDwDxLE=XSXU&&(zQaS?AyMCfY;o>_E{URpXZol(;<2G-qP{iR%_}}Lgb(Q-R#LS> z@*x|tF^LXk<9tsA+`!N4z$(>E$Q8@oL_LExeoV-OS=1I z`{pTHAlIg#mSl~_@Zbue?*m16(Hn@D(>F`#7KoxtVLQP%71&&ghO*wl?j6c=JE7XP zG*ivF1K?~61!Wj8bytAZ(gYH-GHGhB^%<*}K##z$ti+i_=v=^2<1= z@A)>_#J6BrY{84`dW{v#`Cr!@0XhxTzJZ~k+w_)6f-?~@D0^Q}3m#+AZ zHD@Flr9Md{XXkU>fmmky*DuwZv$H>}RFe5XS~)N>NF8icnx>IFvo;!GWpo__*q}`& z%kJjXb+`ZWg{uD0vG$JUUo^gvL3J~qc0ZL~dTi&yCDItXdDsLJG~-flaF3^*D+!rA z&H|!u87VUz-L=Q{6p=n(egTEIwo-PbBQe<}0B@r)+VM4XB85|WmWVzwbxo;amb9%; zyKxrT3Ypm}gKPeL1}6Ac-{5mg{jG1m2R6^;Jh+@}nytxb-(oF&tO2K-Diug*Ucc75 z!#e0DXVw-WEhc-s_537 zz~Q6Cs2>cAhPOapYW>;iB8^eo3XdAwUraFkUMvcd&q9h$q<+`*W~TO_7rb-rMwn|n zrv~BV6O3W^-r9|ZZG4i%WJhc=u==);!}^T%)?Jc&wd7kOYwENN@fq@+o_w|Jtu4tg<1i1s+ja8LjJK#$-y+a9Y3NJ6a`vhH5_Onomn zqN0?fB$l4d;sWWeH{h_ShWj+2Q0>7rrUzOp`fM?$RR@j=gAjAs9NZEMBC#EAAos`A zX}%+H%CoCCz<1Ml5OJNb`1h8NsRh`sT>+RJ=FF(Pz9uhfQ%)9h&ZMQTVu|!1U+FLB z74@b4*o>v5{uE`Jy4LJXzNCVc&Rs&)l=}E2K0A}vxl~D~ggiL^h~i9D2D><4KXs6g z;2WH1sBxyqg?Y4t889-T zy~NG$zV+Ak{P*1sgmvPT*n|W}kYdv0mF>w_pf`t{_HhqMkX@YQ<_?d;iZ1 z_?jwGGTLp@zBtgG-OEdlN^a_*E#Y#J;LtlN>``3;+;h?65#`FqZ&i@6vbZ?44=Fj6 z?>9e9Z?cW1xRY(>nPlG_n+Lpep{5O}A-WrxzQKgIChbPjWDZf%CxODWj{UYi_hjo! zyk|CLheiXbz|E(tkvNSh9#e<}7Jx zu5|Gs!p+$x>4Ufy6?P%NqyS2ANK*QGc>{^E?q?n}b%)NqS1lx|E;sESy*{5={KQqS z8laKB2-{EH!t71;Ev3kjS7-Uf4S1nY84Vit$y#K&l|R_IGDl8h`1VDcwkLcRouB;2_hBSxNF${605oaunU3S%REOkZF8w%SV%!(rl`E9SV&( z6Ww0m)eFvpL4PE(dF0ye+_&X=xUPeCPBk{Aad~7S%HUa2SE}|+K~SGt0!owXLEWpH z-}GnK1?HDbT%gVbpn&YHBrc3N3Rpo6jL(7W`|%frTEB|;9uMcXFVQtJZyGDJ&V1(y3nySH5YW|=o{g3?x#f^?rWtVuv9gMqb}`FTSO>@~s@!aT1dh`2Rh-Z% zA5m4V9z)WLa$6s%0`ps<((aJ!2gFcOLW%h!;+;wSI30^R%AWPf2^G(U=~{sO5YB*@ z^e$_cv~iqa8;4C$(MkGty7WoHfsRa>MoOh3zOz+U5YneBfZOG zONig@0EB!n;j?hb^aKAsPb1p1tLep@rIL(#(NgKFf}N!=U*7(puC!sNqE(D_F`hY?OosW+AnFcuaRnt~Mgb())-{_Gzih@8fln1o2lXdIxq zS)@Jb0+t1%Igfq%$Ybi&P$w%SQD26AVo58w)~^QcQt?o~;f=V;b!pTvSSrc)n!?2| zj>RO1$zE!wZY7LmU#0e;6w#Z`{Q+BQxITn+Tb{Azx;k;(Av>`>=S{xP1{0@xn?w28 zA+@4+x2qzmKG|2&CQWP^pNzM59>B|DzRbKgGYRdQN>3<$B8{kSpSw*V@^1NgMHF&jN8oPQed?u~YAe)~gRXGYONp?JS+n+}G z&$PlsG$-46MTNr5RIV_{y1hT|rpPauqx=Hg)$iksu0JyJYqcZv%m`#n$)5m?agrSu3__ zEI3n!L}nB*tFA^*4{Ch~RP0Q=P;0z~Z}(ul;!w!M+G3&9l&{WA`k7VskTTTT+4ePAVXR_fj6hSE_O`^TMHi?Y{jk=Q^FXx~irre{pJl z_ngvZCKTImee-nD9^0EHudjDjI+b<#P}DaQ?TGbSDhrNV!a}5FcUt6az#Z{9Fmvm9 zpo@}*?5Br8-e`IPQFVmLJt^JZ#>A}X(VmNExZG@eq>`_c?|d(FKjEsIc$oMGl@7VE zx-QcB^OWFYCHTT`=W~^fBzs(4v4H5;%_u2bSN(sm*(p zd_Ls2_o7rsOj8QG{4Q%Q^?6}c>io_Xdebb&yHXLJWCE{Wv<^>t87QT1m*ae$KCEF( zr@g;|VX(B5_443D-0!M{V4%)BPS(pWk^8EUk!X`yA$ zoSa1a!?vc9O;ew$J;}#v!P4#_PFccQ4CN)jhy-R5l>koA9Ycj^-fhTa8m8WxCMH}+ zH5UHmdbCybHO7XzdlwZ*bAMu*+OD27a3&3I?986}p|7~6(`hZKYaJ}OvTSaL26Nr3 zQr8iOymF5pyR0Q=>6<9`poEv+ve`X!ryO;kL3|Pwfp>M9WOH1-x?1ejWYo_MVNz_A z(?X`^OoVSv`*Y3IUj(-BJ^M<|GFc`KIpW{pQz-HdS8~A)a}Ak--_81B9tvXG75Avq#U=byj!4q~vceS#k=*W3j>gI*Kyq7lfjapMDfKcd&8 zK%i0O01glVCcG|(EwH4l6c$QzT&+)axw7CSP!mhW zC{;_8I+zzvm#o{Xv2q)$dC|KQ{W$3*4W?^D{Dat2exP!FW{1xfz5H8Kcprln(!;*` zCp$;BcR;5tW<60P-0-0(j8`O5UM8SR@3cM2A8etY{$}Q@<|gz-fbjW=DLpJ$Q?4rNPBWF)G#S%$FV+z)L;(`#_9 z`1UAy)3$9VN_FQIt3a~BJwoB=So^|o_{H1iscQ(P>lDIHcv^VmsU5o@pW_lzYHVLJ zOV!;7gOwiy&%I(|@)l@K7ZuYy7MGWk>g(%QdS?uWHjl=M@3xYbw{<#M>{?l{|H54| zyfR@0&@Fo`B^=82#=wp-R)AU^8nnJ`} z+hPB#+m_;%R~v&Pt3{t<*fK_fj_r{1pt89mI;=`uk6`YDz$1hh^n{7uxL*;dQcc_} zQ>YCG`?4v-ePx06js7h!t?M#U@zVLq{+_{uTBjfW)Z(;nWz-Gzb${ik6L0hR>{E0f zcRSx7*rv$4L5dba%d)K@v@*9okWwj-U#bY<1lG}w=u zhiTK5z>hRd2+A?C*Gr9T25`(rGY?UL!$e3~tAFIQsoe--a^XqI%Z+Os=s;A!0)(VP zB&NKo6AH(pfle@VmTA{*Vr*LwF#n$3_Aqn>0yK+KoQSuol;?F+;fRa0S73R(^{D%h z?D3EOs9Y%<5|kA~JOCa9haQxknph*JJMr-qR;8?5eEl_P`zxeFwEOAU&mScq%Zx0( ztc_->JNi*HAdwsL9fTL~MX?svI?1m|6n`^$>ygHnYZlliLK<%zNoPyTdOYNCC@Tfn2|lD$+UkS?j{S7ZhCM zJ3L3kbBKHiY`bk%i40_HKX8fA`6D{~%;5(pl_lW_r@%lB-=5R8N^077`Gpijt3qHw zzpK@8JZY0+Rd;nIx1YQg-v(lyHyM*Js~SOc7eu7ApXrxgLR;MyY8xng@bQ zHkx{fqH%YLkW?1gc-kBt_~HX!m$@=GE$k>jsVDLL5hEa2xVxGoOkPXgA-zKYbcmuf zI;x;79iR&XgRQ!0BhH^2^<+;PF_vd2YG(OpsPJX^RX?iz8z>2qOCZ?g(F}wyq~#Ep z@l(ekH?=ttI9mZ2H$DYs($@6U0vc15p6#u(7rmNS)qr9Yahg0g0AZogRt?W|&%2cE zo0D6jU%pk+(cEDMHH2;gu%1jXQmsN48c+$+t7P5aF02W5R@KF{NaGV8*Br3o`=isvE z2CA(qJoZZ~2;>SVcT)m>?E&GWIvL^Rix@8`vPazwwhcMUMAjn!Jp^2vh8#AG9{ouS z<7nr10Zz$1diC+EjNR+t(?MUM!yc|t75J0k7RAd$`#fVj^)XC5p7T6F1bXg5c#Yh~ z0btC$1qb?B99s?oUNSANC>nh2+XB97Njsbbg*hr=VLDrOis3-`;ixw_jM%7_zbf4v zbUzOF6ITe*<(uTXm6Q>|3+J^CLH8X5v8Ih*>T|3+h|B(2dI+zjT+H~6X!m6)mRgz4 z!$c&VNN_um!bAQ2bx@2WA3+E^QDeLqIucerx&Rvt93iE7jT{{68>AwYvJKof)B~Vk z5`TvG%k-#NTT#(qi!jcvDob9H*~0|4wzui<{1C$SRR&HiEg)$NvfF?^#;0)pxeJ5W zzd1pYlZYU;949&@L)G8K5e&Wq%EjZ{pGF#!(0f9(Ds{iK2R&v+{x6MjOXn9nko7yI zIOh(2f>PfgNy_no$~@|Oh@jfIK1}D8H~6|ClVA3!6>irih^=5u99ZoPJ?Og+EID z3y}Q;7ViBb=rnzw!;o4|qhteO3A`!f&iurxjr;piAhFJ{mhjk=4ZaS$A;H&`fqc@U zb#1tG8Uqbff*pGYTavy$O<9&&CbaJ40NrC`PEWMPBnJe7UqTl>_yd$|pI8oak=&7$ zvaI^f9>^WHy$U=wl_!=5S4;_7@dF-VH2m1IQ+Eg{80eq?k2ARL);>_U^B_B`X`LCt z!^8I6eLn5czG8l%82Ju9W+!lu6i-a3Cq3~Oq)mS!3HcZ~nYIB+yxQ1X>Q&LV*X;3m3X} z3xEjocHc68$1#K^U zSFF136Z8(>d7C#UOXj7Xf@Aw!3aIF#Q(&L6m{Y9n+qa5F4+8&vg))$!1W9R)Kv|(_ zZtgSg5>{PBoZrNBS0xQBzpGe~5Be*-qd0wNS!J5c4O1F6gSr)LFuF$0-5>C4j2bej zQMn&+5*+NaEH$k{$;2$~57KW zh%;hrfC{rOV{UUR2qOnZj@k?_(3o!_r=@jBi&}Buj3rqQPYxI@Y#PsIdOlAY5_E`V zl9^rBfkD5{&x0^u){||nDW02e>;|H5T8YrzVCmp)Acv7WY%`yq71Sgk_`*BuF$IxK z$*H9}%LBGeJqp;Qksr~?jESR-P}`+pj&Rrc%nuuQugu*pzSkh-nQren-Bb8&w^l$a zAnE>UY;LZjuh!eobs_>-m+c%KK!V^L%%32Xs-fY$`dI273I3X^-W=#GR}l_4&&N;^ z1{4yv>p&9)%v|EU6ttLpz+#o850Is0WmQ220+hQ(aM~B8Na^o)17c|-L94g=iTfoY z_?w?C%Aj1GN926Y{+qr{{w0Ezq`NpRE1WyL?4^EY)mDK0EC#>sZzRUlP=1u{g(7eN zK0*$JX&+=T0#FguJ(7;{g04jH0HzaP$nb_PCw=7pah&c1o`=F+)h#3W>~f&Eh$xT5SW zI!|3LqpFAqHuMy8)XK}C&^YWB{5Pui zzsgq2Jp-hE63{w#UIBI+Fx;?>;E*d24@(rYJfo&2rIRFApDyA4PcB7E<$K%l`oDpx zd#U~aD-T(W^>`ysaq>A(!S(H+kJ|EMi7`G5tt>IKqzU9hoTp1_PC`p+HuBTGl=pp% zN|%&@AMT^)5UQumkj?O}@gHN_>Mi|Cu8eE65Ce4&x!f7JPlFaqJ6mRUf#goKROCnw zYMT*w5n7FLno4THXANCh)krp`-F!v(%ZX>4<(WvSxlz4y|DaL>cEK%h1^orSX-D0` z{F7e39a_ELrxo_z98@vWW^?Ohb3Br=jZ(XAW>?-znfBY~{uD1WUVqbn`enFMefI*3 zaXPxR*;28ER)$+cys1x=CP5r+QiVt@zdCS?AZF!1Kt&6tkZ+vk8Ld#h7! zLRyteitFGJpMLu5*8^?w9zgXS>8|&gh)LcHYHHePX=Z2TbFA(7(V61T1(xB(ix1C6 zmlAMvB$78cg`#`hkfI?yId)a#F|U+dJXYJg4^$%mV&JFt5CdEjRCxwB5@SIXo-tci z&IVQ64^E1=bs_2z;d>_PA9}y+T#y;{m8*GLL;O_Lvkw3lW6 zQ(P#W)2{h$K7A(0UXg*BKpM@$jBzb-2XQRqyKL9g98kzT6NXbLPk&-Y|9DOUF9N98 z`2x*%RtkKw6q%B3v|4gd*C9L_BAZYa#~5umd$qyy6$!ObPDJpyNYo~)Rqw_m^&S1V z`<~wTE{`LiLSs`0$3nV2c$j0TS*SsD+;Du;6II@Cw4Nj~kw(S^rNJTi!_kZzH1Q{^ zHR<|R9!0o_ZqO2#CR7dTAQv2F$B(*)O!MMvQdq<4uJ{sU?meO&cCwpt)LpaHz5nT! zhjC-G@X>kycFu<;Gj)L}2%@hktp9RuM9ELcZ%0qH;>SBW#Hu@eoc5QkW2ltx9@l~u zPYtwCOc)32*S2T(C*VgXa+h!o4EkvM#FY@g$#9T}*_K%D#^NI1{V-yT8U@+on&Rk; z!%zoyPYWV?+Q#CLxr;J~SfJ}os^|I=Gm^(IyVjcws+nDNhyIb%&5Q8hV(i$T>RVEQ zZWu~D)kfQM4_aRCH!Znp21B#Oe?`)kio@Tt-_X#|N=i4BV+E#?mt@=^eef8FJ+)Q8 z0LOkak6-)F+5jur3<1FIr++6ONJ+Ra^Zy~?Y~^fsii0Et2n#iWcpT?ASA%3lSX^{J$Niw_kM#8Pq95+%9XV=I zDzhbV1|CJXOj6>@VuF<@4A-N9weXexmKZH+3^%x`h@L;$yPphx^W(S2%r2OIh(H39 z4qoZ37!<%c@XrHmv+lHyDM+|m*wA(fTn)SwJMz@Tf*c1>cEa0YYwu_2ovnwjMDjdl zR2H>McMp7=z~77yQQ%m&6RJj?yorXIXqN`C$%3VAg(m2d%iUo_O$len)c}kQHQ~Tp}Nu~%}Mh2L0G@aV+cp|5wl&P-4Do;5;fR9 z6%3+>(9^-^|AADWw5*GUh9+iaEsuA~$V8^L*@JU6Q~-4;%iDxZNTf9IF!!OXtmvA* z81z!-w*8Q%Ixrr8Cln@Jy$udj`E4V8-$c)0CT|F^W8&u`znp!= zv$%42l*L>?sljxeKr`v?SOJHa0~Y&K2XK`^sTUJ!i!5+%^j#qQDTjV2XeNrBp`hwB znx#%2>sB;TLaMcq;cojVf7J*YTAJTNh&+J%KR^d6j)5zibt)Qz=j(;%<%tKQiHThi zHHcIsP}P8PZtf41pTecL;Lw5)Wlc>P^n&pMJE+&U5d#9v-k?#_MC~db4%j+Roc-i* zJJ#w#r{$Z2sZPneNP*$S@nHf(e}G?=Fm@Mc@$JEROOp<_0p16F+YZUae>c@c!q&oC zcY$u-Dg;!GlK=$MYI|!!(dX420CDq2MMbyIOOg$aa+Okec-9ITKzGyCVd7VVLrS=s zKl|xfB-|8k8>#@<>B!&z0~zuB(Zo?NUePq|pMk3cOWO{0K*ceID+jHgm6Lu|q4Po~ zKhzNW$HtgN#28J*TtR|DfOYJg!+iZ{jxr`z)hY wb6l{wbV=0AeqEIm7!Bh0Zd`UWF@ZrYH{jG>{j^)gL4RL1FuhQqckA(g1HXs@2mk;8 diff --git a/final/report/report.pdf b/final/report/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ea269b1bee49108c9e3c564866051295c74f6ae6 GIT binary patch literal 20674 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

xV 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 NaZdeg#%YuL{|D_%2zvkk diff --git a/preliminary/preliminary.pdf b/preliminary/preliminary.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7560a3e1fad17e4b281419ad7eac42f52eca5767 GIT binary patch literal 40781 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 z�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 literal 0 HcmV?d00001 From 4a66ce8731315f01f21c677f7312ec495cabd509 Mon Sep 17 00:00:00 2001 From: Jakub Kliszko Date: Sun, 11 Jun 2023 21:58:41 +0200 Subject: [PATCH 25/30] feat: add precision to auto mode --- final/code/main.py | 73 +++++++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 20 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index c8a21e30..b691d349 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -157,8 +157,8 @@ def preprocessing(rating_data, anime_contact_data, rating_data, "anime_id", anime_threshold) rating_data = combine_name_and_ratings(rating_data) - rating_data = rating_data.drop(columns="rating_x") - rating_data = rating_data.rename(columns={"rating_y": "rating"}) + rating_data = rating_data.drop(columns="rating_y") + rating_data = rating_data.rename(columns={"rating_x": "rating"}) if debug and not auto: print(rating_data) get_data_info(rating_data, True) @@ -171,7 +171,7 @@ def preprocessing(rating_data, anime_contact_data, return pivot_table -def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6, auto=False, debug = False): +def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendation_number=6, auto=False, debug=False): """ This will choose a random anime name and our prediction_model will predict similar anime. """ @@ -187,7 +187,7 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati query) if debug: print("prediction model, distance: ", distance) - for i in range(0, 4): + for i in range(recommendation_number): if i == 0 and not auto and not debug: print(f"Recommendations for {chosen_anime_name}:\n") elif not auto and not debug: @@ -199,8 +199,11 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati closest_anime_name = pivot_table.index[suggestions.flatten()[1]] closest_anime_distance = distance.flatten()[1] average_minus_closest_distance = closest_anime_distance - average_distance - print(f"Average distance: {average_distance}, average_minus_closest_distance: {average_minus_closest_distance}") - return f"{chosen_anime_name}_{closest_anime_name}_{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" + print( + f"Average distance: {average_distance}, average_minus_closest_distance: {average_minus_closest_distance}") + + return chosen_anime, suggestions.flatten()[1:recommendation_number+1], distance.flatten()[1:recommendation_number+1] + # return f"{chosen_anime_name}_{closest_anime_name}_{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" def calculate_neighbors(rows_number, neighbors=5): @@ -224,9 +227,10 @@ def create_model(pivot_table, rows_number, metric="cosine", algorithm="brute", n pivot_table_matrix = csr_matrix(pivot_table.values) if algorithm == "brute": model = NearestNeighbors(n_neighbors=neighbors_number, - metric=metric, algorithm=algorithm) + metric=metric, algorithm=algorithm) else: - model = NearestNeighbors(n_neighbors=neighbors_number, algorithm=algorithm) + model = NearestNeighbors( + n_neighbors=neighbors_number, algorithm=algorithm) try: model.fit(pivot_table_matrix) except: @@ -291,12 +295,14 @@ def handle_arguments(): # Access the values of the arguments return args.seed, args.debug, args.data_limit, args.database, args.metric, args.algorithm, args.anime, args.neighbors, args.user_threshold, args.anime_threshold, args.recommendation_amount, args.auto -def auto_mode(data_limit = -1, seed = 42, anime="RANDOM"): + +def auto_mode(data_limit=-1, seed=42, anime="RANDOM"): print("Started auto mode") algorithm_spread = ['auto', 'ball_tree', 'kd_tree', 'brute'] neighbor_spread = [5, "sqrt", "half", "log", "n-1"] # No reason to access and waste computational power every time we run the simulation - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data(limit_data=data_limit) + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( + limit_data=data_limit) original_pivot_table = preprocessing( starting_rating_data, starting_anime_contact_data) if os.path.exists('test_results'): @@ -311,40 +317,67 @@ def auto_mode(data_limit = -1, seed = 42, anime="RANDOM"): for metric in possibleMetrics: print("testing for algorithm, metric: ", algorithm, metric) for neighbor_amount in neighbor_spread: - print("testing for algorithm, metric, neighbor_amount: ", algorithm, metric, neighbor_amount) + print("testing for algorithm, metric, neighbor_amount: ", + algorithm, metric, neighbor_amount) preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, original_pivot_table, seed=seed, anime=anime, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) + starting_rows_number, original_pivot_table, seed=seed, anime=anime, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) -def write_test_results(title, result = ""): + +def write_test_results(title, result=""): # Create directory if it doesn't already exist - if not os.path.exists('test_results'): os.makedirs('test_results') # Generate timestamped filename - timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') # e.g., 20230611235959 + timestamp = datetime.datetime.now().strftime( + '%Y%m%d%H%M%S') # e.g., 20230611235959 filename = f"{title}_{timestamp}.txt" - + # Create and write to the file with open(os.path.join('test_results', filename), 'a') as file: file.write(result) + +def calculate_precision(predictions, threshold=8): + ratings = [anime[anime > 0].mean() for anime in predictions] + precision = [1 if r >= threshold else 0 for r in ratings] + return np.mean(precision) + + def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot_table, data_limit=-1, db="database", debug=False, user_threshold=500, anime_threshold=200, metric="cosine", algorithm="brute", neighbors=5, seed=42, anime="RANDOM", recommendation_amount=5): MODEL = create_model(pivot_table, rows_number, metric, algorithm, neighbors) result = "" if MODEL != "Error!": - result = predict(MODEL, pivot_table, seed, anime, recommendation_amount) - write_test_results(f"dl:{rows_number}_s:{seed}_m:{metric}_a:{algorithm}_ut:{user_threshold}_at:{anime_threshold}_n:{neighbors}", result) + chosen_anime, suggestions, distance = predict(MODEL, pivot_table, seed, + anime, recommendation_amount) + + chosen_anime_name = pivot_table.index[chosen_anime] + # average_distance = np.mean(distance) + # closest_anime_name = pivot_table.index[suggestions[1]] + # closest_anime_distance = distance[1] + # average_minus_closest_distance = closest_anime_distance - average_distance + precision = calculate_precision( + [pivot_table.iloc[s] for s in suggestions]) + + result = f"{chosen_anime_name}:\n" + for i in range(len(suggestions)): + result += f"{pivot_table.index[suggestions[i]]}; Distance: {distance[i]}\n" + result += f"Precision: {precision*100}%" + # result = f"{chosen_anime_name}_{closest_anime_name}_{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" + write_test_results( + f"dl={rows_number}&s={seed}&m={metric}&a={algorithm}&ut={user_threshold}&at={anime_threshold}&n={neighbors}", result) if __name__ == "__main__": SEED, DEBUG, DATA_LIMIT, DB, METRIC, ALGORITHM, ANIME, NEIGHBORS, USER_THRESHOLD, ANIME_THRESHOLD, RECOMMENDATION_AMOUNT, AUTO = handle_arguments() if not AUTO: starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + pivot_table = preprocessing( + starting_rating_data, starting_anime_contact_data, USER_THRESHOLD, ANIME_THRESHOLD) preprocess_model_predict(starting_rating_data, starting_anime_contact_data, starting_rows_number, - DATA_LIMIT, DB, DEBUG, USER_THRESHOLD, ANIME_THRESHOLD, - METRIC, ALGORITHM, NEIGHBORS, SEED, ANIME, RECOMMENDATION_AMOUNT) + pivot_table, data_limit=DATA_LIMIT, db=DB, debug=DEBUG, user_threshold=USER_THRESHOLD, anime_threshold=ANIME_THRESHOLD, + metric=METRIC, algorithm=ALGORITHM, neighbors=NEIGHBORS, seed=SEED, anime=ANIME, recommendation_amount=RECOMMENDATION_AMOUNT) if AUTO: auto_mode(DATA_LIMIT, SEED, ANIME) From 5f2a5c883697e7b6479b59fc6bfa3b669b74bf7b Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 22:39:34 +0200 Subject: [PATCH 26/30] fix: print only the most recommended anime --- final/code/main.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index b691d349..5f09d29a 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -187,7 +187,7 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati query) if debug: print("prediction model, distance: ", distance) - for i in range(recommendation_number): + for i in range(0, 1): if i == 0 and not auto and not debug: print(f"Recommendations for {chosen_anime_name}:\n") elif not auto and not debug: @@ -315,12 +315,13 @@ def auto_mode(data_limit=-1, seed=42, anime="RANDOM"): if possibleMetrics == []: possibleMetrics = [""] for metric in possibleMetrics: - print("testing for algorithm, metric: ", algorithm, metric) - for neighbor_amount in neighbor_spread: - print("testing for algorithm, metric, neighbor_amount: ", - algorithm, metric, neighbor_amount) - preprocess_model_predict(starting_rating_data, starting_anime_contact_data, - starting_rows_number, original_pivot_table, seed=seed, anime=anime, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) + if metric != 'precomputed': + print("testing for algorithm, metric: ", algorithm, metric) + for neighbor_amount in neighbor_spread: + print("testing for algorithm, metric, neighbor_amount: ", + algorithm, metric, neighbor_amount) + preprocess_model_predict(starting_rating_data, starting_anime_contact_data, + starting_rows_number, original_pivot_table, seed=seed, anime=anime, neighbors=neighbor_amount, algorithm=algorithm, metric=metric) def write_test_results(title, result=""): From e05fef37a2c8739a41393b0eab0075d417529d58 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 23:16:25 +0200 Subject: [PATCH 27/30] fix: manual mode --- final/code/main.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index 5f09d29a..fead2b80 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -187,10 +187,10 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati query) if debug: print("prediction model, distance: ", distance) - for i in range(0, 1): - if i == 0 and not auto and not debug: + for i in range(0, 2): + if i == 0: print(f"Recommendations for {chosen_anime_name}:\n") - elif not auto and not debug: + else: print( f"""{i}: {pivot_table.index[suggestions.flatten()[i]]}, with distance of {distance.flatten()[i]}:""" @@ -198,11 +198,11 @@ def predict(prediction_model, pivot_table, seed=42, anime="RANDOM", recommendati average_distance = np.mean(distance.flatten()) closest_anime_name = pivot_table.index[suggestions.flatten()[1]] closest_anime_distance = distance.flatten()[1] - average_minus_closest_distance = closest_anime_distance - average_distance + average_minus_closest_distance = average_distance - closest_anime_distance print( f"Average distance: {average_distance}, average_minus_closest_distance: {average_minus_closest_distance}") - return chosen_anime, suggestions.flatten()[1:recommendation_number+1], distance.flatten()[1:recommendation_number+1] + return chosen_anime, suggestions.flatten()[1:recommendation_number+1], distance.flatten()[1:recommendation_number+1], f"{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" # return f"{chosen_anime_name}_{closest_anime_name}_{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" @@ -298,7 +298,7 @@ def handle_arguments(): def auto_mode(data_limit=-1, seed=42, anime="RANDOM"): print("Started auto mode") - algorithm_spread = ['auto', 'ball_tree', 'kd_tree', 'brute'] + algorithm_spread = ['auto', 'brute'] neighbor_spread = [5, "sqrt", "half", "log", "n-1"] # No reason to access and waste computational power every time we run the simulation starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( @@ -351,8 +351,8 @@ def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot metric, algorithm, neighbors) result = "" if MODEL != "Error!": - chosen_anime, suggestions, distance = predict(MODEL, pivot_table, seed, - anime, recommendation_amount) + chosen_anime, suggestions, distance, distance_data = predict(MODEL, pivot_table, seed, + anime, recommendation_amount) chosen_anime_name = pivot_table.index[chosen_anime] # average_distance = np.mean(distance) @@ -365,7 +365,8 @@ def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot result = f"{chosen_anime_name}:\n" for i in range(len(suggestions)): result += f"{pivot_table.index[suggestions[i]]}; Distance: {distance[i]}\n" - result += f"Precision: {precision*100}%" + result += f"Precision: {precision*100}%\n" + result += "Smallest distance, average distance, Average - Smallest distance: " + distance_data # result = f"{chosen_anime_name}_{closest_anime_name}_{closest_anime_distance}_{average_distance}_{average_minus_closest_distance}" write_test_results( f"dl={rows_number}&s={seed}&m={metric}&a={algorithm}&ut={user_threshold}&at={anime_threshold}&n={neighbors}", result) @@ -374,7 +375,9 @@ def preprocess_model_predict(rating_data, anime_contact_data, rows_number, pivot if __name__ == "__main__": SEED, DEBUG, DATA_LIMIT, DB, METRIC, ALGORITHM, ANIME, NEIGHBORS, USER_THRESHOLD, ANIME_THRESHOLD, RECOMMENDATION_AMOUNT, AUTO = handle_arguments() if not AUTO: - starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data() + print("Entered not auto mode") + starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( + limit_data=DATA_LIMIT, data_folder_path=DB) pivot_table = preprocessing( starting_rating_data, starting_anime_contact_data, USER_THRESHOLD, ANIME_THRESHOLD) preprocess_model_predict(starting_rating_data, starting_anime_contact_data, starting_rows_number, From f7c66e552de36015f9b4044d0d506d0dddd12f63 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 11 Jun 2023 23:26:13 +0200 Subject: [PATCH 28/30] fix: remove duplicated l1, l2 and cityblock metricss --- final/code/main.py | 3 ++- final/report/report.pdf | Bin 20674 -> 22304 bytes final/report/report.tex | 26 ++++++++++++++++++-------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/final/code/main.py b/final/code/main.py index fead2b80..170e69e4 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -299,6 +299,7 @@ def handle_arguments(): def auto_mode(data_limit=-1, seed=42, anime="RANDOM"): print("Started auto mode") algorithm_spread = ['auto', 'brute'] + metric_spread = ['manhattan', 'euclidean', 'cosine'] neighbor_spread = [5, "sqrt", "half", "log", "n-1"] # No reason to access and waste computational power every time we run the simulation starting_rating_data, starting_anime_contact_data, starting_rows_number = get_data( @@ -310,7 +311,7 @@ def auto_mode(data_limit=-1, seed=42, anime="RANDOM"): for algorithm in algorithm_spread: possibleMetrics = [] if algorithm != 'auto': - possibleMetrics = sorted(VALID_METRICS_SPARSE[algorithm]) + possibleMetrics = metric_spread print("testing for algorithm: ", algorithm, possibleMetrics) if possibleMetrics == []: possibleMetrics = [""] diff --git a/final/report/report.pdf b/final/report/report.pdf index ea269b1bee49108c9e3c564866051295c74f6ae6..7a7018ac04cc1e08295c2e8b5fa2aa5d675047c9 100644 GIT binary patch delta 17418 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 |*cr?l zM=g4lg)LReI?DR`n$b(C>4e~VlZH;2mb*+?KC*Ctz?2@lv7HiKc0&cr)g+Mc1lqMC zK>Rr$`q-_A(rSnyOLk5kJadMxA=RP(&BmQ%T%@eDQFU-|vpch;;XqQWHqtuQ__f-t z0#}}^x{hTM z68!Wi8G;VZKS8R;sq@D*uB*enva0Y_!0A+f|G5vUDi?kiH0I8hTXI$z`l_%47asS1 z_X0i7Nrjs&9dz@a&5WHU1qwX;CK63JolX(Tn={(HIL6qrYC6Vad1`r?aUFt?Gg{O| z!QlfBt(zGE8lNv5qzlW^G44Pc7FjnJ?;m@fLjvbI;z*gQg;rmA0|!s%U)ozjfa-MG zTX5`7%M~#}JlIWFzOfpY*g9=|tIn~!744#=t@4?2%0D2zj3#cw>HSIg^GIY@4h4w7 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 delta 15743 zcmajFQ*fYNw5=W6W(OVHM#oM%b~?75bdoo=t&VNmwr$&X{%`MdbI#RYt7=`Xt2yRa zRdYNurwX($7qn&o5@2Ux77&1Qa&|N^uz_=5TU6z@+h9W2e5ZYYuJ~O*HTr9Z=^h|&BC2*!I9>u<I;^?GJzQOmyI3*8QCMsk zbc-@j+(vjS2^cu}cxDgny>6Ur#G2LlX*wU7zsrG%FS?z0ZPT)B7+szS)38{m49dBS zBnBpI zOM;r|rDZ7;DY>@@Rgv-B@quo?SO7Zrp{TQ})UHij>sGdX!Up-ntWCOFq~s5SG@_-P z8r60+-ZS9L-Vo7SCoyWkC>P$B9Dup9A7WNq(*KnJiilos16K?N#>5eaN(Ro#%$dNC zhzoFv&uUnyqvY0O2D%V7c3sfR$zzvDg}%)If|Ef4bU8PNS9x2wSc|zzj%2&diygsn z4N9=^0acG<-dS7~|ci;!)nQx|2e z$!z3cS`%FY2(c^eJPR=ffn7?K6q;BlXuy<-BhF<&$3;+A?|GeD6Ig``p@&8I+T}t5 zv)hSK6dByz2BF05V+$4&&QLGQqEM{Z{g{;66fN?vFufg*z`uOSCP8^TK<+IBwThDfg*HdE{D6RR^Cmb4O1Y^ zKaN^uJc9|V5NRFW4>!grO^P=Hs_cq?>*qsPP|Xh-H11!x;u(cwx&TCD*53cr5sZoR zzY+p$9Nho6*>n?itLGy5RV<81a@-jW`i8h3Bu>b6}!s*BGR69-$1`w~FOVXa}QfFL;-9}37`MqNK? zh56iKbdnmg|LC2dZ58kfC20E-^F39`|C!y7m<+FUrhpv#&DvQu zsAX)3?_gW~8Ns7Of9HN;YBgEtc)6( z;$FK+%x-nG>f~8WrtgdE@bv5W)5+~*O}KT-YaZAvdwor8RZ>y;`S5Td9qxI z>7?pr*jN`>gKTv4o|A3ZRMiIGDYxC_EY_x|&df_Gaew%7@{ZqF0JW>(U_IB`qP?o> zd>s+*oLgmFnRy#FNQ0lfLaO>X4~{&{;PR?{LcOsWxf_k%Qky#v3*qsD4f#OCNK52i zXapclYnlQ34TX5nJ|m1mK$Z|lA%x0S6hxB!Glh6+^a?ff6Dt_(N!x!V2G++B+&@6} zS0*cDE@LlNqA+-neJm~vk^m1*o>?w99D>qEn!~!oDdm0fv~fBABmx`JW*pz z6oz?05Ejge7S&p&QQ!Bm6PC((Jy99rtQB*Z<Z*ob=;X>SG~G z`#0%PELO~N_W37`&fd!k#S`z)35~lt|7nK-%2eNj)(jJeLY|O`&z_Kqgpe?X#ssi) zaQ{E%t<;27QC@BnU?zjcv>0brb9%^JSp{`yvOEV-E6-C4PAhZ!c`G_It)kdsgdjqhaNuns!yAiuQV!_es%p7vYT6pOE$|t!tB7u=ASd(eCc+ z@9yt+1&F{1coGyCfX_?)g*x9KL%GQFZM453PKf4saqz?32f^ORJ$OeGlo5X*2J?=w zg_wwQSCKQNi`)F#Jnjse3{M0FY@cnb==NL;Iha#Y z73heu(6$1RYeU^5G-T;WwkVQO$6@~%Le{3={QL+58V7g`f1*lSllzC+llrg7Ul8ZP zK%&YGpwI}544^p#W`$Cs1*O7#qzg^hEA0v6KvaRf=NJSCLnk4=3Ad=YPnqP&M4Jbd zXl2Sp6H~@|-j$UXTb=G;1`r{6I7#mP9-X1Jwc4mc%n*>hW^lZA?tYftsb>_>e%a_d z#$&z(Fc+K>(|%|vU%7Qk=A5zPDEUN1N`VGvTo=H{T{5heNEsb3|-_jH79eK zVtam6326Gn3VdaG!L>(;X2{)}O(rP8Z@q+^1t7-|@}26J1j}i*_eakp9fu1V%~s3< z@eW(-&9*SMJg^dd9zk*(L!F35_N`z)j`)b@A<^4 z8UM6Ud^*0-Kkx@t zV6)fRl$nq4fFfv}j@q-7ryb8tiydtQ%-B2RaGNp0bGL+lG}$ciEqyi~z-^U-i4#1S zpMd@A(w*573%Ym3q4rBWc9T5mmcqp7?I|Z)^w$WG6!J;TX!5&k|0BksixH$o6!#~G zJ^$i&a_E zB18~<88+#Z;R?8o3FB0{BZSgf+lFHoZ!oE$Ps*Oha4t{+rvRc^`U_pSYiWIuyj<+` z{u~M507U?;zx6lVa6jgSak+8S;Jh6PdV{y>4c%K1Xx&S{v0#Q^n4LG!VslFJv_g6_ z#!;HUr3)|Emd&#g-3qSTzgep5MN(BlUdmlb_s#l>KlB@6bkKIQJ6^o1I$ES3)de6R zSa4~WRGeU-AUVu~E)t~|xkOfnrd^t64jl=()}!XrXiVAEb+C8C_xAZt{`YEaz{hl6 z2;O1i3IeTDes6x^UwRCbBEP_{&48n$3<74T+Etcp{)BUBGcE`6~_BOJ8l?LA`a?&91=E%E$cZxeegfC`SJ! zWcG|m(y@I`!i_Ry<8>b8n}W;sA~#rkLeV-1lFV(@wTob0aQ+QkRd~otcxJ$-Yq*1l zbBXr#9xM;X5RK6@7h|*FVyT7;mr-wO>MCn#^|uT!No-%Xz<<&Z|Fv1vHStcK+JAow zc@*3#2yVXbvag3g`uDyA+5IbtCD?CW(vm68-MG8ZH#m>BIlO-2$vGKM)E6N(zPDuA znr(0<5x&-0SAeUIb34038jhEYr9xc<+o}w)4p)l^#1A!Zc$1SpddFsl8|2zMZOXVcNxa( zv+uy`ce)cHAwoEoZc%@UDga+WSC%8DP7)&YHXwzh`zH$orzdnew1pAT?wiFZ-Z38% z>9>y-WR8bArk9z^@o81$qu(&kpq<#(~~vOKgRXeDU(YnAT8yORs*DP^soba5C< z2$L!kV(O6<7k6|TXKjDYd|)KE*-1*z&j9Y)B1YYri5<~3dQ zrwmJR;p15&N1-eXeUvP0TRX#r?q`U@en1RMu!gsk9B6pry>zt^5YUvHaZ4EakjuH? zUHPlC(UH9cOKzogk6QV=oo_qZ&`-L^I;j45N$mn4#q@cweq|a>(d=QgM2AM$uZx}0 z{E3b*?}TI1(m0XX0!K{emyIw~c7@=A8l=-_C`^Nwi16}B$lyjUD)$xQL zW~?eQpv~*)<8{x47B}(141RNV*xn^12Lub&08xkj^p_ZD0WZ&;hK%?&MqiACy_Tb2 z0zJ^>#}}IhM3wFhm_8z)h)KvnbFi0}kXG|2B|}DHIqBY$SA`Do_UOzrh7nwcE5MHa zh-v4)=PlJry}IbaeZoq1BPs39ot?VZ8Ic*bRD5qJlLw1t;DVlb*RVXm`}!-Dzm}^u zWSMVN*5DEqji)0d31w&}u$REqTMBL8hX{~#H$6kbN~Eg_{1UPoo)xPP-#k!HlQOXW zL(J_m&kI_6eUKGlh!+)gC^wh>uMsspbznveTYaO|``Vi;bT?omneLt3YyU?BpX;_z zSFYemsCMr^IsS28YHkD_%3VY<&qdsuMm|bV#<;KGpmN+ALi2FkvBs&abE*U-hDG4^ z&@z~(I()gD({&)T>u&4SHu%~RNV%%>oUNP3s z2oKM8Mdx-GLrNc>@E)ngLIYCMf?8o#8huWwp%#HBL_S;}dsPd>meoDilS7=u(p6C6 z;1bL?ppt|Wr-zQRjXm4Q8DG$iWdMk)N61ME+9D%>lWGBDH!UZuUR1+Pbv5e&z=KuCxn#lS44^SKgDM5eAf`}n0^DR zm&I%iLDZ)${9927=&>_6WuTXYv3AKYOlB~-;aa3%=f5tqz{<&uTkc+KPKt!epm4%7!|>F-w)G`V+Fb zD?G8US9M>bPD|p+Z>~Bb|Kw@-D~XX`@2ia=sgVy&89;`zbkEse{>WxK z6~wN-q9jD6<`%C z)_c@m(9Xmq7d$Uz=;km;>0^RqB-TaNa|nyyyR0ci(4VegU3z2BVf-|{`#hKu*# zAxVE7F}pP=d*n-M0htl#zDqPJ+-I0p(&jLue@hR$5LCe;o?QVyCO-J2xHM4f!&XZ+ z2q=q1niHF7R!)qPpOIuTdZF86m?iL{ldp=kk`E}2J-&$DK;1kJO-KYS zAh4z6Sur_kKcJ1-YtB;5AKzwD%po;5q0Xjiybq02sV(r(fiS0vF6fKGXCL^9$Cl|_ zH|`VF-ucYjvHjtQnuZ9^r_yO`+4X}A14D*5g|)TeRSQ4s?I!>_g0qxH5aVv)JLZ>2 ziflG^DV5_1j+~3ISit-BH>Uw|EUud$zM|IzCy3a(qYT{hPe(EcKzG6QqG0=$pb-KBP9>1ZSi>eb zv|cX_qTu2ev62;Y1V7szKYVk0>}-5OrdTgJ2zd#sBT`^Ki>8 zNkz*Jm?4zn7-1y~crb>qA1evn60(yQn9Ula_#AiC>7$|wfCjisZ#TYf1B&Q^NUV)Fq%fR zaEO{k)Hb8(*qg(J#|WoJlKQUj1$d!iRnp~U>G4w`i(>hq+pCY)e90rECRfsa z(5tH8OViSXpE2vcLe|<_a??>`U+_ac4hP;)N=orGT}zD`^|?xzG15CnjXg2={Ap_k z?p~IE$MRFp4HalP{i4tXxj4LtG3KtJEFQ8@o=aUD8Mz>2!^3J?*aqp#=wIa@^R^gP zp27*2ZRA;z4f5Ab+jL7n@6mecz!K8aWZN=3K$OYJLxl|5Vz zgSt`G5c&aZ^JW}a!Py44D}G>*+t~YYGuV@>84BqfYV!;)CZ;WA!|KAeT_Ox-i)bq4 z!)P}N)@0(}TD`hp(pIXs?MFGhx+g0}r~dlYLi|{I{1E?{p-mgEhU|pI zgF_K}c%`+9ejxSQp0sXNBuf~uM~|C~VNpkz$T~duhpn3(l)szItAA*9k%&e^TKt09 zam7LD5{jWoxHMWSQQ>n8e_4P$p*Pp9y?YpaaeJ3>dnau+|1smdxrcMzR?)&8$_xA* zOWCUoxRYN_WD~r|nt^lheuTz8v(zd5vm;8y`}fTcBR-+pXw*&jZY>gUkq|O9(H+eS z<_cjkAvTv7zKwXmF2?ql+^Ctc2`RGxsIirT`7L; z49sjbne|^CLcc`l_iL>UJZjvx*@#7FR7)ieKT#leuCu5x(w_nZDr6iWApejz(DQSr5M z?jF&w26eU2WffnrI9>KP_w;wVT>Xd~5yt8Y^+6?Hvl$ZRp?(ajrsqZMO`-xqV zzp*PQMEC8>I|e)E1B>y6#;=dilrBU}h|aVVB3P4nJtGxWq~ZkN1yDRu&&d7=rAs^7 zkhL)4EjfLjhOY(GDhQa+E(a;RK{M)UDeI^ZI#-T4(d3S!xWx7Q@#Xz^j-e*KF8H#n zPwYXsk(@-ffe5qD*pO`sXlHm>dbZZaK<&cR%bo6W8PVf2`k5_(b6;o`qL934fBN!11I6sj`}PYj$H*8J ze)tg)jsSiFw=_R*FaJ>cWTeHh$Ny9Fy^!5O%o7Nv35$_a8$k|i%I05K(;V&#`rw-_ zd_z}*MxuvMxy|Ac;un-0iSg^w0Ey)y_xXtzo}`Pw{l%@Q=am6KbJ)A$gDdTNss?#DTBMclNkP06(Y=~OHD5TZ`r9Ld?=ma5$=po)L87=ck8 zQU^$HA7F;YMo-_`Y7I=-wN?noZCmhqM;m2St#t4*NG^tkAu>TRFNusrq{#S zrhM{2apkA$>^2gUO0u<7ycFW7X&E{xGZwTSh5!si@!a2{UpHd+@7xkXbeubv)f>_O zs3v)^NBp5{ysh_+0|3PD#}o{lNdh<`8tDIUxCCQ%bhKFYj+g&_qyflnJ$_ISCQ#`6 z|4pvB5_-^h05*0m*8dwj1Zlu(D62PjGLvzFi67z(=yY;&MZj@&&@?UJQd%o!Y7xYb zAfTlQsr*WdPso{I36&KOq=F+;vq5catX#@%Y)n`}dYkuKYEpR~6zRVH=lgyB(EWTD zM7Hr)ern4qyK{*LRS^j(QIZVrtlP5^unnOw9hx|eaGvdbk{J)2?ZY{kfF&TmAr)em zw8w`3NpNFmcI#pm()DkJM~la#L8QVMK`bmjclhfM#kTf^^F-KgNqWl$Qg>pxRE6C`Emz-qTxbM!W&Otl z4gX5YdWBlPIVaHwkcnbu#nw1w0V(RjhN;C23=_18kzvo_KX5RvO|m&RuMbm}$;#zafF*llu$By@(s_y80*ADm1rZVOYhojL;sMCd!ir4tfzVjatH&iCBfTmO@qNU;xadU~>662}gN zKDcy5$s-6A@(6U}q{%|_^e!S=7O2-Y8}r~UZ$!!0Pj(Y~gU3{hM1x(&_34|Zj5vrl znG|c{7&%x#Fq;bvbWmhgsV-cI{N)0EmQ^SVvu!q>=wAE?C3HFh%+r-8hw-iC)y)XE zRL3y2&lK7J*7Fa9Y|HPbxi4|hJwa*SRVwH;XL0wjW(dc55K6nSZQ|QL)CjyPmynNqFeE6xXGo*`#ta&Hy9P? zud(vbyfd69->XT`%2>Y@EiN@On$>t;)7}p90EWheE3!-?jQp^|DX1d5aD!O z;Oii$UkxjmWTIl{aCqJZB?;kHD%Kjk6aLD7mgZ_Q5JOD0$-&K(VvNb&eNCWZg)2ap z`}}6{m%xYf0{Kp&pqiKa6^q;PT7LZf1tCseuT1p)yX;^|WTi-v=MTdZp2X}CdJQ^m zqLvOHk_h10NP!PD#E@Q=#P_5Z**rGj=V%9cyBN+YDG%aQ4FbWSFjuLVCe)ZLE6$u# zOJc>p@lK74X#F)S^++Z(aV)*rW8wfkyPf;Hr>kgXOZf}S5^nF44SredieVp_T7-G` zhi5$|SW`B?ir54o*jkvAdf#0?aQ2C%saFJ&Y!|R#!hp8-7MQj?{u$)Ll$OX7Kb#*0 z$LIb$bThe;d~+Dbs&PT$91!ww{``|8YY)G1vDz@GuG^f~#{VaEy4>cj;dGAg#avRK zdKHJK3zp>}q@SrZP=>uFtxjoc^{UW7xR9~jpK5v(^#0aEy)U>#l>`#!j|zA zTno74fE~SYKZsvid^yf1`SUb=%ARq+Gj2<}7A`_1abU+s(J5O&n_Nb~fxwR!%{(niF}bIR)jcfh|o5&=_`}1>d(ST2p z*(Nb?ScbK38=7V$JcCROQ+B#OkueXCZJN751sfDQRKJ2_(2;>YzFjx5zo{-^oLC|H zxSR&LZ$Cd46y!3_u5yg5_jL=Zk8SFAsU>YzPSx9vJqrsLjAyXz+gYD4rIl>$POps8BV-Ls>10Iz~<+ zt=-)#SY8NMLRxkxp0ui?;&39x8aw@~&yWoX8S#-3VD&dsQ8~_S(#kq50JIDzb9qUX zIj6s@k+>WpEkWH~1$_-VGJ8laj~#e3umU9MQgv;95MMTVz`&nE_4~D`@UQ)w+P&&Z zA-CiTD%23IvG{;(tfBM~_GDFfbE^mYNlpCX%k+?Jn!4&zjO)sNF5kkosr`XiQZ8b+B*_Tf*zTmX<<9RxUdiwwmKQ8jgIq zScJ7o0==e(22$O=_x{-}u?;0TJPMW1&~ez}vmD)=^*zilj*%LPosuv-eVF)@*{2A2 zbpI?O?+mo7s1W>Z5`TDjaCoIkkyK2;ucfEkzl(xAh;_i3VH94n3Y;vh)}Jgb|M}TX z&&TzEs2Uhj-D^uwPX^u|q$}WkNmI5XMDuy`*@=G{7$K>w_W${^)VssLXzQ&u#s+?(ISJ z7@0rhm!W}kYT1tz2-p)?Hwajx&DEq!jbIFwOD$}!_{rLM1Xff$qRutPmd24O`9Zv5 zM!Jz4#F+5Qg0r=+slh8-9Las;@mJ7(Uflb9*EPqc@w-lT&Eqz!2X13rqRNr1m5k_L zhMmk`PA03#M=uj+G=T@N>IWhEU%Wm)FctRM2wPcWp1EbTE(^SLLA`SR0AEeaO zwDetr@%lyyid6Xcp|Y?Y=?vx5>)9Fq%9rom$+M_X7ubwmcqJ$N{oGUW?kmlHQJ;?0 zg^M(X7{ENa8ew5vQFi7Uv#=zDT|6t4blYaf&MHPfEcrdaIzHh^d8R7QNRQ2r&rehW zOZ(s~(;q^Dz}Ak~FIH_*o607x@n0^@h#yfoX&DNX2n#K=FJP{zEgqUGc+Vzlb>XTP z3sL0(@$TRV@hoOF*F+6pUqBhB6S}AyqYl4n#>xA1IPyj4_h(nf`*xm-{D=VMRp&CV zk`RdejTn#Gv#?-~OT%j5-P!AqPCkj^>NCM6r&?$VkZ6h*IZ78zp6MZyZq77tp`5i3#5jytQ^+NuKyTFleuSPirT|-UxwYHRJ>8yQdr39o)hkZ&FJ6_C> z9odi=9OQa%dV?=?!zUlAFBw5PJ;E+x|MTJF^>3nV7VpMd`>AIPgX4tQYdBY!`*;D5luObm{q5HSJ5HuFD6F(fgqi zM7u)B^c?Vbp!py&!QC9Lp-7ZL7aACAk(W7bfF2YMl0PMi)sxv(UKg1l^-g_|Oi@?-9s3|xHxrEIz z!;I{6cC*v0;I57YB}Zo1-;5w;g)ZN)0g$#m*a*%_rE;rjF(=o3&b^P)sWG*uPFm0v zpt9RazvDz85?f@w-z}FUr$dVrTv$VW(e6((oOTLw0_Ga26Y7rfazBXMmBMnhhXNL-3}@v(X=YB}GZ985y|7|2eP-Qrr-It^(Y{i|)aoj;;J z

Z7=3g&6PKeSYe{7bTCVJD8fB7i?i9C!_ck@Ph#zaB*8+jQAxj~KyKt!8z_ps- zKpqrQj77X`)nvPF)kTfY>D8Af>krL-^247Z?Aif$=k72$<%+vk6?`H`0`i|_1r%3F zYRFhI8G_&u$<5Xb+x>r5-09jWcNGoOx;Ug<&F%7S6O{fv{AZt_*L@}jLAMp(yM$G; z#FUn#2t^LJ$#CXb2 z9nds_d#skv7wQuC2^`FX+53I9L0!7B!zYcI<3VYhHILmfg_BpQOkm@e`7wSUVK$l* zZ_>$MyYQWANs6hbXQ?^kOsP6@+lmtzoawF0cPIr_8G{g5*A=-dmEHex37kJ{(8x3t zs$X%jq&5LP#wmY(71Z{j(9Y9y^)ZPRoBr%Hl#qQGKM^N{rqu61j0yRLXp>67=HZw{ z7jJ*5yFupConrr<&kCdn)~zqA?erWTc;gr}=I=*C_vQrbY{3PLP`W{xp#&yV>&3kP z_?y;hH*wwZo_062SDreIBmjD^XCcSC=3e(^t$P$U8Kl$xNI|1dMBGit>)0Io)6!bB zLO?XzR+8i3%w*MridMa~9E5OpN~RYy3VtnogE^^z^jj3gjuxmg=c%%eu~=}FT>_Jn zjT}0k^>hTef4%q<6RHg<(E^pvW1Tn71P7)cn7VRCNPnMMfHC zObTp|(bn}N2SQ>IdIeF2Pfc!Je_eNZLCI+ePZ!1BPaNhr(VDII(SfvJ;rUv zSn5ciKtc5i?Fg8=`+LeEgu~?rV>BK9*X~2p-upXY2dVhBCCsYkr(P!fSTmQwl@W`8 zcu?O86DG^xjVOlc%*rJ*s55*;mjY4;LnhPSb-JaX@Y8y;Ae+lSUFB>-VnXvF|Ie?T zTDgahO2$`)5u26)X4@O^Nw%+7TMGVD@ri`Dm>FGsvrK@}1Pg^$J&nwLMYPYwz@I;x ziGQx{+k}*LqLEt@=G2MBgAXS~A2Ksmr%vh-R%TY7!xWKa@b0XfjqcPbt^gy$@oZ&` zbUx1Thu4mql-RCcUb%I*9N95#+)Zw|4Rw^a5F!f>Ik$?I&I6=FfS#vRBwm`cs93qx zh!*#IC?=4}Z^D8Qr*R2S{}cXFV_R?s9IxY6EAK3U?C)HC-BF$8n|4CMZ1}^lJO00T z=Nc3eWdqc27|DOkw6iFcmEA%kAMVB8p&MW8hfIDhSzN(+CD<2&;;yX)DX^e}HJ6f7 zX^BqG8pTdOA~XM4M-w|*PH-L_Ph2h(84dfx90;$m^(n? zIik@qebch8<~Pkep>W`)xX{C4iBfB1dH5iU8jO`#=-Cp2En<+SBjaSHOoPm%nepvw zCp7z2^z~qanf*l8>UJ>aqhYU@;NXHdCVGMs!*SuAlmMm(S43qsCWD+_%asuR^E7*5 zmJnBDrzw!wBc=he=V0#P0ubqv*m!8Dq~GUh5GulqB*k1iBJ$L1@i2a(DR9xCB@5=F z2@6cNB-P*_ejR@GSa(BQ;$;Z_dpTo$sl8nAlnDHPPsF;>XW-|NzT&8%?cqH6C9HF% z(QS9`e*=3kaLW@jn0~CW@b*|m7{{4HDh^`I!;7RoaLYMqOTMyFzObMMh>MAIQFKy$ zL1rLk!C8Leq*8Ecfp9I?Y5CS3Q#aj8BWV)dpthkj5zZt9VV=0GX9>LH;$douwRbGIH z5Fn9#{$~4Vr0Mf|SNLM&O}MAW%WTje7|br(or!3Xit(b zYfr>T-TV}dAy4tT`S9@2lsn69>OdJu1@?;U*(AKF=!#G2;D278yxs#KgAs!rMer;L znJI_xfz7Q#o~KY}TMXCy{rUHU2QRw(dP@QM5p8Ys1NtgmKepAhb>rh*TCsX$`{$#xRwxtD7HOm|0V+9s zL`!0q6sUh}sf380#5U!<2u$rfY%2x5*XA|gDs53voWIi)d~%Rp8}RX!Ub9!7*+uDn z*(#xL(O8Afd%MDU0|`j1s_KFg*HjS(+SJn+5H0N+z&v`-fJ0nqZyKndDZjsbixw2@ zmzr_&n$+)g2#p&~W|xG=6PBJVfyP2Pk{VBYj&WH;DksP?cXh7k`T#)#||6Gta*xE^ft!bkc~z{E*iw#`EK;F4a}cd57ChG z27U*T>y7#)i`UJ4w(i8}?G#2zas>o7k$Z(wwTGV!sUw{qnncci2NfI8KsmJ9qjn9i zkmKvYdR)EfvVRb;bk!7(bpCe9Q&#ZMF_@0DPiEaeG;xKpj5%o2%O4>5!9eaR!R66I z6BVGkI2)w+7H6?JjMi%C(jQ%P#xtwq*v9FSw;S&o<&3tz5SD9>_4Mca9iM}-qi1Vc zUxB^5yA_x4f~~2iD!2U)F#Gi1jjx##?fOis_keg@X3zgQ76JAjwckGJYy7mW{!;>m zaCMQgg`JxG@00XJcs$FeIAR7}k5;u;F6JAw-U3~q5jva0rKld?P73nKQ@y#d>75l%m4Xd-@EBV*{-KN%Oby!+Wn6pw2KNdpBencR=ST$ z)xD)^^+~6|)k*20rP{X2w18^1fI}7dans(0#fQ{J{^VR|uPXZ`N5RvXhv&by=RHfs zEVFlBPgNYoat}FxF%IH{eGBu%?ju4mtCGU9!%}@@9lu!2Lg%B<7WzQJvZJz zV{OO{ZU?Pf%M#-57Tp`4I{CCWz(;F0Mx_I!ehe9ps3r*m1AA|vu8QK|WDTM=qnekp%Az5X@OxFJCLR$6I!mg{LY?`m<)$o%P z4N;aO8fXUqINfeYdAXco^OexNjoH_gxDT*7c2%rAYm*KakApY$M45 zIjj*)X8wUoh8<;HkKXTyW&L%dbZ)BHNp!NxiDGKN#G+BfIm5Yb*IJ~j1#aB=hXCpF zYbxb3cfu^Ywot}N#c3Jx9Q!&yGseHOm->Qw) zI~E}!9l_BfkEijO5lf>o$VI-+NdWn?0lOCrKyFU>+Mp>Qk}-|pzZFDV4dFcF$Yp#^ z%_Ie&J6X;DV=1kJbmzCR#y|UtdV6Zl<8X$Z!}}xQ$HsTr{V+ua%bP&kpzNi){m*9g zdByOoX|8<;XJ2Yq{gb>%`XRkRj3LIvEM7O`z}WcTVTfDgtBTw^ewGzV8WeUn2K%2G z$*(#s`m2-#OR?htGA!iQt?24<4iKKG>}7XA4^iyCw3!=Ld+@$3>Q(licSYNWh&qP= zpR1P-OAYEDazORX6-zLgJ)1@2eu;+$s4A+zJ>9e7Ypr*tBQ&0KYN{A|H1v3|^iusC z>zX*5zF<{hOj#@jC6tl7rd+%`Ie(a5-F%q8RDXJpJ5X|@e7Oz~V#U+sCt6;deT@N5 zl=RC`dLgKNcFwXhznx}qJe|}h6-XiHQi8GTJu&!SJeVuTp3BcBy}em8`g314GcYeSbGCYzapbNuEtw%jB+`sQ zbv-zU&B}}lh(h_v7+lbQPQnk#+TaY_SwFy#;mo;U*l-u(Ha+|-%!t#HsCV|1r@XrD z*%&tcZ>__4;x`n}(~(0atVo*%JDamG1HE+#*OWd_Y(c%V`L*HFjDVx(No|iuO>|^} zWncOOs-C5T2oV59A|ccRF7bnl`b2x5>LvFMEBYjNKRTVm9s(H^hAk#AmMtDAt1dJ$ zXIm+ehS}CJai&J%kl$Gq-Ip`&5Gr@Yz*R8YpNnjOpn(Xxk82XKGnvOj5gU-C8dDI3 zfEbzsZO;Rlg#;zlG>-PM&Luv7nSqc?i%>Ad$r*SbLL-gGAoj_%xKl)NxPiNER*bcf z!#%V*rJ!<;S`4JJxLFcKWF`iLI2~XPjy>__dasUhJ}&k$vq}R}iuYA9{{o)C?a`;5 zV8`35qXTaiyqlM%?)G+M3fb4ydRdh%<54zNErZUq+T-2&?5Oi?EncGC$$&RUw?JEJ z9?Zm<9k@nYdwZ#EsknVv;S8WxNin`kNa4u$QJm)R<>%9@=o8wFZ4Su1;@R=$@oCEK ztwVA?pwey;89}97`<`J_@Et90j$68Zw#IS4-oN!*hw~V;M3l*w))5$03N1c8wBtY^ z_p;>Qf!#ZDaHsv*R*6huv>jTeHO+m-PfjpP9lakc^Bh|KM%aFP=6e-i%;EJRyESxG zrha2sUXT%OD1+?53%9(i+)8GonEah1lDuZx0vuKE0q$ z;ZAG3nULxaQ_9De&5H5a?(B?Zv=CUEQYGpJkF00I=$EW(2TiRNwXNggSA+%E!Ucum zuKv~)vifjqKX7PYps&moewSK1yjwdcn2nE@N8B$Hv9J|KWQd+_3t=|PB;BZ&_zN!% zVn*a8I1Fm;N$dAf~W?nw?9%a%^6QAm0;eE}SY zFWmmm1i+lYr-~zN!e+w4VamnC#AeLG%x=PN%x=KS&c?;f#AeFD#%{ta!1w?6A|Y9o z7>% zRg3p#rkDf7V2d+Qmpj2oCxLh;{0c>(EtYfK^bUgj4u Date: Mon, 12 Jun 2023 00:28:56 +0200 Subject: [PATCH 29/30] feat: report, pictures --- final/code/main.py | 2 +- final/code/test_results_600k.zip | Bin 0 -> 10890 bytes final/report/distance_auto.png | Bin 0 -> 15392 bytes final/report/distance_cosine.png | Bin 0 -> 14646 bytes final/report/distance_euclidean.png | Bin 0 -> 15695 bytes final/report/distance_manhattan.png | Bin 0 -> 17117 bytes final/report/precision_metric.png | Bin 0 -> 57617 bytes final/report/precision_neighbor.png | Bin 0 -> 43451 bytes final/report/report.pdf | Bin 22304 -> 154849 bytes final/report/report.tex | 164 ++++++++++++++++++++++++---- final/report/user_rating.png | Bin 0 -> 16441 bytes 11 files changed, 145 insertions(+), 21 deletions(-) create mode 100644 final/code/test_results_600k.zip create mode 100644 final/report/distance_auto.png create mode 100644 final/report/distance_cosine.png create mode 100644 final/report/distance_euclidean.png create mode 100644 final/report/distance_manhattan.png create mode 100644 final/report/precision_metric.png create mode 100644 final/report/precision_neighbor.png create mode 100644 final/report/user_rating.png diff --git a/final/code/main.py b/final/code/main.py index 170e69e4..44ede9c4 100644 --- a/final/code/main.py +++ b/final/code/main.py @@ -263,7 +263,7 @@ def handle_arguments(): parser.add_argument('--metric', '-m', help='Specify metric for NearestNeighbor learner', required=False, default="cosine", choices=allowed_metric) - allowed_algorithms = ['auto', 'ball_tree', 'kd_tree', 'brute'] + allowed_algorithms = ['auto', 'brute'] parser.add_argument('--algorithm', '-a', help='Specify algorithm for Nearest Neighbor learner', required=False, default="brute", choices=allowed_algorithms) diff --git a/final/code/test_results_600k.zip b/final/code/test_results_600k.zip new file mode 100644 index 0000000000000000000000000000000000000000..b9a935aeaea65315add66a06459f10d70230dae4 GIT binary patch literal 10890 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 LD+r`0y!P!sdTK~& literal 0 HcmV?d00001 diff --git a/final/report/distance_auto.png b/final/report/distance_auto.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec6ddba34a42a9662f7b1de0a3a83f4640a1bc7 GIT binary patch literal 15392 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 literal 0 HcmV?d00001 diff --git a/final/report/distance_cosine.png b/final/report/distance_cosine.png new file mode 100644 index 0000000000000000000000000000000000000000..8b63a3ada1f0338365597edcc8de8d03aaf6792c GIT binary patch literal 14646 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ℜ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 z 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%0DOyvPXJ+n$9$-||4g9c% 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 XF7^;8HU~EsJ0CkX9i4=dB=-LRCLfig delta 19584 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 FMhYJL)DZvx diff --git a/final/report/report.tex b/final/report/report.tex index ad2ce89a..bf2e2a2b 100644 --- a/final/report/report.tex +++ b/final/report/report.tex @@ -2,21 +2,22 @@ \usepackage{listings} \usepackage{hyperref} \usepackage{graphicx} +\usepackage{float} \title{EARIN project Final report} \author{Krzysztof Rudnicki \\ Jakub Kliszko} \begin{document} \maketitle \section{Introduction} -The goal of our project was to create a model for anime reccomender \\ -After entering anime name from the database model should output recommended animes +The goal of our project was to create a model for anime recommender \\ +After entering anime name from the database model should output recommended anime's \section{Used data and algorithms} \subsection{Data} -We used different dataset from originally specified in the project description \\ +We used different data-set from originally specified in the project description \\ We decided to use Anime Recommendation Database from Kaggle: \href{https://www.kaggle.com/datasets/hernan4444/anime-recommendation-database-2020}{LINK} \\ Main reasons why we decided to use this database was that it was bigger than original one, was more recent, it was described as being 100\% usable by Kaggle and still had decent amount of code examples \\ We are mostly interested in rating\_complete.csv file which contains information about anime ratings from users who completed the anime \subsection{Algorithms} -We decided to use collaborative filtering to develop our model, It makes personalized recommandations based on preferences of similar users \\ +We decided to use collaborative filtering to develop our model, It makes personalized recommendations based on preferences of similar users \\ We represent anime data-set as embedding vector \\ We use K-nearest neighbors model and decided to test it out with different metrics, neighbors and algorithms \\ \subsubsection{Algorithms} @@ -30,47 +31,170 @@ Ball Tree and KD Tree do not work on sparse input (as is the case with our input \subsubsection{Neighbor number} We decided to test our model with 5 different neighbor amount: \begin{enumerate} - \item 5 - Popular starting point for small-medium datasets - \item square root of available data - Usually helps to balance between underfitting and overfitting - \item half of available data - Usually usefull for checking overall trend than specific nuances - \item logarithm of available data - Used for very large datasets - \item n-1 neighbors - Usually leads to overgeneralization as we use all instances excepct one for prediciton + \item 5 - Popular starting point for small-medium data-sets + \item square root of available data - Usually helps to balance between under-fitting and over-fitting + \item half of available data - Usually useful for checking overall trend than specific nuances + \item logarithm of available data - Used for very large data-sets + \item n-1 neighbors - Usually leads to over generalization as we use all instances except one for prediction \end{enumerate} \subsubsection{Metrics} For brute algorithm we tested it will all possible metrics: \begin{enumerate} - \item Cityblock - \item Cosine - \item Euclidean - \item l1 - \item l2 - \item Manhattan + \item Cosine - Measures cosine of angle between vectors + \item Euclidean - Measures distance in straight line between two points + \item Manhattan - Measures sum of absolute paths between two coordinates \end{enumerate} \section{Intermediate results} \subsection{Results} +For intermediate solution we have implemented reading data from csv files, preprocessing them with optional showing of some of the information about the data and used model/learner for implementing neighbour searches \\ We implemented full manual mode for our program and added some parameters that will be later used for auto mode like choosing type of metric, algorithm, number of neighbors and seed \subsection{Insights} +We find out that the solution we wanted to initially base on: \href{https://www.kaggle.com/code/chaitanya99/recommendation-system-cf-anime}{Kaggle code with tensorflow} was too complicated and required too much computational time, so we changed it to a simpler, faster one that was still enough to provide the solution \\ +We also found out when investigating the ratings that the rating is skewed towards higher values like 7, 8, 9 so the average rating is well above 5 +\begin{figure}[H] + \caption{User rating count} + \includegraphics[width=\textwidth]{user_rating.png} +\end{figure} \section{Using program} \subsection{Arguments} + There are 13 parameters that can be modified which either influence how the program behaves or how the model behaves, too see how they can be modified user needs to run + \begin{lstlisting}[language=bash] + python main.py -h + \end{lstlisting} + Command + \begin{lstlisting}[language=bash] + options: + -h, --help show this help message and exit + --data_limit DATA_LIMIT, -dl DATA_LIMIT + Specify data limit, + Recommended at least 500k, + set to -1 for no limit + --seed SEED, -s SEED Specify seed + --debug DEBUG, -d DEBUG + Use debug (more information) prints + --database DATABASE, -db DATABASE + Specify database path + --metric {cosine,mahalanobis,euclidean}, + -m {cosine,mahalanobis,euclidean} + Specify metric for NearestNeighbor learner + --algorithm {auto, brute}, + -a {auto, brute} + Specify algorithm for + Nearest Neighbor learner + --anime ANIME, -an ANIME + Specify anime to choose + --neighbors NEIGHBORS, -n NEIGHBORS + Specify number of nearest neighbors + --user_threshold USER_THRESHOLD, -ut USER_THRESHOLD + Specify minimal number of votes required for + user to be included in the data, set to -1 for + no threshold + --anime_threshold ANIME_THRESHOLD, -at ANIME_THRESHOLD + Specify minimal number of votes required for + anime to be included in the data, set to -1 for + no threshold + --recommendation_amount RECOMMENDATION_AMOUNT, + -ra RECOMMENDATION_AMOUNT + Specify how much anime should be recommended + --auto AUTO, -au AUTO + Enable auto mode, no debug, + no user parameters, automatic testing and saving results + \end{lstlisting} \subsubsection{Default arguments} + Default values of arguments are: + \begin{itemize} + \item Data Limit = -1 (means no limit, all data will be used) + \item Seed = 42 + \item Debug = False (means no debug information will be shown) + \item Database = database + \item Metric = cosine + \item Algorithm = brute + \item Anime = RANDOM (program will randomly choose anime for which there should be recommendation) + \item Neighbors = 5 + \item User Threshold = 500 + \item Anime Threshold = 200 + \item Recommendation Amount = 5 + \item Auto mode = False + \end{itemize} \subsubsection{Reproducing} + In order to reproduce test results user should use: + \begin{lstlisting} + python main.py -au True -dl 600000 + \end{lstlisting} + Command which will run auto mode with 600 thousand entries + \section{Final experimental results} \subsection{Experiments} +All of our experiments were done on data limited to \textbf{600 thousand entries}, rest of parameters were default \\ +We checked for 2 things in our experiments, precision of our algorithm and distances between recommended anime and input anime for different metrics and number of neighbors \\ +Precision was calculated based on the rating of anime which was recommended, if the anime recommended had rating higher or equal to 8 then the recommendation was "good", so true positive is any anime which rating is above or equal to 8 \\ +Unfortunately we did not manage to calculate recall and F1 score (since it requires recall to be calculated) \subsection{Results} -\subsection{Disussion} -\subsection{Comparison} +\subsubsection{Precision} +\begin{figure}[H] + \caption{Precision from different metrics and auto algorithm} + \includegraphics[width=\textwidth]{precision_metric.png} +\end{figure} +\begin{figure}[H] + \caption{Precision from number of neighbors} + \includegraphics[width=\textwidth]{precision_neighbor.png} +\end{figure} +\subsubsection{Distance} +\begin{figure}[H] + \caption{Distance for Manhattan} + \includegraphics[width=\textwidth]{distance_manhattan.png} +\end{figure} +\begin{figure}[H] + \caption{Distance for Euclidean} + \includegraphics[width=\textwidth]{distance_euclidean.png} +\end{figure} +\begin{figure}[H] + \caption{Distance for Cosine} + \includegraphics[width=\textwidth]{distance_cosine.png} +\end{figure} +\begin{figure}[H] + \caption{Distance for Auto mode} + \includegraphics[width=\textwidth]{distance_auto.png} +\end{figure} +\subsection{Discussion} +\subsubsection{Precision} +As expected number of neighbors does not have influence on precision, metric used on different hand does, as we can see cosine metric achieves the best precision compared to cosine and euclidean metric. \\ +This means that the anime that is recommended from a model that metric usually has higher rating than anime's that use euclidean or Manhattan metric. \\ +Auto mode seems to use euclidean metric as the results between those two are exactly the same +\subsubsection{Distance} +Smallest distance was always the same within the same metric no matter the number of neighbors used \\ +The only thing that changed was average distance and consequently difference between average distance and smallest distance \\ +In general smaller number of neighbors used meant smaller average distance, notice how for neighbors equal to 5 and logarithm of number of entries average distance in all charts is roughly the same and below average distance for number of neighbours equal to square root of entries, half of entries or all entries but one \\ +We think that it means that simply by taking more data into consideration when recommending anime we increase number of outliners that are radically "far" from input anime \\ +For some reason sometimes the average distance was actually smaller than smallest distance, we did manage to understand why within time limit of this project \\ + \section{Challenges} -\subsection{Challenges themselfes} +\subsection{Challenges themselves} +\paragraph{Precision} +The biggest challenge was implementing the algorithm that checks precision of our model, we had to reject recall and F1 score since defining what sort of base should they use to measure correctness of solution was not a trivial task +\paragraph{Data Size} +Another challenge was with the size of database itself which impacted speed of running new changes +\paragraph{Visualisation} +It was not easy to visualize the effects of experiments themselves, most program output is simple text and there is not much continues data that naturally aligns itself with some graphs \subsection{Tackling challenges} +For precision we just settled on the idea of good recommendation to be any recommendation that recommends anime with rating above or equal 8 \\ +For Data size we introduced data limit argument which made it very easy and fast to introduce new changes \\ +For visualization we agreed on going through the precision of algorithm based on different thresholds and showing data for distances in the histogram chart \section{Conclusions} -\paragraph{Best algorithm} +\paragraph{Best parameters} +For our precision metrics we lean towards brute algorithm with cosine metric used, probably with logarithmic or 5 number of neighbors \\ +Cosine metric provides us with the best precision and small number of neighbors offers smaller average distance, it also behaves as expected since the average distance is smaller than the distance between input anime and recommended anime \subsection{Solution satisfaction} +Our solution works, it manages to go through entire data-set and return some recommendation \\ +Those recommendation based on manual inspections are usually OK, model often behaves rationally for example by recommending sequel of anime when given anime's first part \\ +We also manage to make basic precision algorithm which considering how hard it is to define what a "correct" recommendation is, should be considered a success \\ +Overall we are content with the result given limited time, knowledge and resources on our disposal \subsection{Potential improvements} - +We did not manage to introduce more parameters when embedding data into vectors, like anime popularity or how controversial it is, this would probably make the model at least more interesting if not directly better \end{document} \ No newline at end of file diff --git a/final/report/user_rating.png b/final/report/user_rating.png new file mode 100644 index 0000000000000000000000000000000000000000..da5493c47e470ef3fa4b503d864d1303fe5d00d5 GIT binary patch literal 16441 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 NaZdeg#%YuL{|D_%2zvkk literal 0 HcmV?d00001 From b89e741e5ce9b0d3e10ebf56f73955195086576a Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Fri, 16 Jun 2023 16:34:46 +0200 Subject: [PATCH 30/30] feat: moved all files into single folder --- midterm/report/report.aux | 30 -- midterm/report/report.fdb_latexmk | 70 --- midterm/report/report.fls | 467 ------------------ midterm/report/report.log | 318 ------------ midterm/report/report.out | 11 - midterm/report/report.synctex.gz | Bin 30253 -> 0 bytes midterm/report/report.xdv | Bin 67048 -> 0 bytes README.md => project/README.md | 0 {final => project/final}/code/main.py | 0 .../final}/code/requirements.txt | 0 .../final}/code/test_results_600k.zip | Bin .../notes/automatingParametersTesting.txt | 0 .../final}/report/distance_auto.png | Bin .../final}/report/distance_cosine.png | Bin .../final}/report/distance_euclidean.png | Bin .../final}/report/distance_manhattan.png | Bin .../final}/report/precision_metric.png | Bin .../final}/report/precision_neighbor.png | Bin {final => project/final}/report/report.pdf | Bin {final => project/final}/report/report.tex | 0 .../final}/report/user_rating.png | Bin {midterm => project/midterm}/code/main.py | 0 .../midterm}/code/requirements.txt | 0 .../report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf | Bin .../midterm}/report/execution_time.png | Bin .../midterm}/report/report.tex | 0 .../midterm}/report/user_rating.png | Bin .../preliminary}/preliminary.pdf | Bin .../preliminary}/report.tex | 0 ...IN - Daniel Marczak project guidelines.pdf | Bin .../EARIN Project Instruction.pdf | Bin .../Project 18 - Anime recommender.pdf | Bin ...ct Assignments to teams (EARIN 2023L).xlsx | Bin 33 files changed, 896 deletions(-) delete mode 100644 midterm/report/report.aux delete mode 100644 midterm/report/report.fdb_latexmk delete mode 100644 midterm/report/report.fls delete mode 100644 midterm/report/report.log delete mode 100644 midterm/report/report.out delete mode 100644 midterm/report/report.synctex.gz delete mode 100644 midterm/report/report.xdv rename README.md => project/README.md (100%) rename {final => project/final}/code/main.py (100%) rename {final => project/final}/code/requirements.txt (100%) rename {final => project/final}/code/test_results_600k.zip (100%) rename {final => project/final}/notes/automatingParametersTesting.txt (100%) rename {final => project/final}/report/distance_auto.png (100%) rename {final => project/final}/report/distance_cosine.png (100%) rename {final => project/final}/report/distance_euclidean.png (100%) rename {final => project/final}/report/distance_manhattan.png (100%) rename {final => project/final}/report/precision_metric.png (100%) rename {final => project/final}/report/precision_neighbor.png (100%) rename {final => project/final}/report/report.pdf (100%) rename {final => project/final}/report/report.tex (100%) rename {final => project/final}/report/user_rating.png (100%) rename {midterm => project/midterm}/code/main.py (100%) rename {midterm => project/midterm}/code/requirements.txt (100%) rename {midterm => project/midterm}/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf (100%) rename {midterm => project/midterm}/report/execution_time.png (100%) rename {midterm => project/midterm}/report/report.tex (100%) rename {midterm => project/midterm}/report/user_rating.png (100%) rename {preliminary => project/preliminary}/preliminary.pdf (100%) rename {preliminary => project/preliminary}/report.tex (100%) rename {projectMaterials => project/projectMaterials}/EARIN - Daniel Marczak project guidelines.pdf (100%) rename {projectMaterials => project/projectMaterials}/EARIN Project Instruction.pdf (100%) rename {projectMaterials => project/projectMaterials}/Project 18 - Anime recommender.pdf (100%) rename {projectMaterials => project/projectMaterials}/Project Assignments to teams (EARIN 2023L).xlsx (100%) diff --git a/midterm/report/report.aux b/midterm/report/report.aux deleted file mode 100644 index cc192759..00000000 --- a/midterm/report/report.aux +++ /dev/null @@ -1,30 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand*\HyPL@Entry[1]{} -\HyPL@Entry{0<>} -\@writefile{toc}{\contentsline {section}{\numberline {1}Progress}{1}{section.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2}Results}{2}{section.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Data size and execution time}{2}{subsection.2.1}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Chart showing how size of data taken impacts execution time }}{3}{figure.1}\protected@file@percent } -\@writefile{toc}{\contentsline {paragraph}{Seed}{4}{section*.1}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Challenges}{4}{section.3}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Failed attempts}{4}{subsection.3.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Corrections}{4}{subsection.3.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results and findings}{4}{subsection.3.3}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces User rating count}}{5}{figure.2}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Finishing project}{6}{section.4}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Embedding more data in user and anime}{6}{subsection.4.1}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Evaluating our model accuracy}{6}{subsection.4.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}More results representation}{6}{subsection.4.3}\protected@file@percent } -\gdef \@abspage@last{6} diff --git a/midterm/report/report.fdb_latexmk b/midterm/report/report.fdb_latexmk deleted file mode 100644 index 3a2047ca..00000000 --- a/midterm/report/report.fdb_latexmk +++ /dev/null @@ -1,70 +0,0 @@ -# Fdb version 4 -["xdvipdfmx"] 1685398649 "report.xdv" "report.pdf" "report" 1685398650 0 - "report.xdv" 1685398649 67048 692df65fd724791f676e8fdc4f6cd7fd "xelatex" - (generated) - "report.pdf" - (rewritten before read) -["xelatex"] 1685398649 "/home/kuchy/earin/earin_project/midterm/report/report.tex" "report.xdv" "report" 1685398650 0 - "/home/kuchy/earin/earin_project/midterm/report/report.tex" 1685398649 5683 e73623dc7f3285969f78e1bb6059fa10 "" - "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1680514707 3524 cb3e574dea2d1052e39280babc910dc8 "" - "/usr/share/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm" 1680514707 1528 f853c4d1b4e0550255e02831fdc8496f "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1680514707 1524 4414a8315f39513458b80dfc63bff03a "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1680514707 1288 655e228510b4c2a1abe905c368440826 "" - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1680514707 1124 6c73e740cf17375f03eec0ee63599741 "" - "/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1680514707 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 "" - "/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1680514707 40635 c40361e206be584d448876bba8a64a3b "" - "/usr/share/texmf-dist/tex/generic/bitset/bitset.sty" 1680514707 33961 6b5c75130e435b2bfdb9f480a09a39f9 "" - "/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1680514707 7734 b98cbb34c81f667027c1e3ebdbfce34b "" - "/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1680514707 8371 9d55b8bd010bc717624922fb3477d92e "" - "/usr/share/texmf-dist/tex/generic/iftex/iftex.sty" 1680514707 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a "" - "/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1680514707 8356 7bbb2c2373aa810be568c29e333da8ed "" - "/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty" 1680514707 31769 002a487f55041f8e805cfbf6385ffd97 "" - "/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1680514707 5412 d5a2436094cd7be85769db90f29250a6 "" - "/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1680514707 17859 4409f8f50cd365c68e684407e5350b1b "" - "/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1680514707 19007 15924f7228aca6c6d184b115f4baa231 "" - "/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1680514707 20089 80423eac55aa175305d35b49e04fe23b "" - "/usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty" 1680514707 21514 b7557edcee22835ef6b03ede1802dad4 "" - "/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1680514707 7008 f92eaa0a3872ed622bbf538217cd2ab7 "" - "/usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty" 1680514707 19336 ce7ae9438967282886b3b036cfad1e4d "" - "/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty" 1680514707 3935 57aa3c3e203a5c2effb4d2bd2efbc323 "" - "/usr/share/texmf-dist/tex/latex/base/article.cls" 1680514707 20144 d5ecf0a5140c8d8d8b72cbe86e320eff "" - "/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1680514707 3052 30236f0cc243a8651b82240dfd2e8b9d "" - "/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1680514707 2462 8ce5f9a9c63002f2c1af03c262cf29af "" - "/usr/share/texmf-dist/tex/latex/base/size12.clo" 1680514707 8449 c314623021fbddd0180c05345324933c "" - "/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd" 1680514707 2430 8418b3f1835e588625becbcac4dbce56 "" - "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1680514707 1224 978390e9c2234eab29404bc21b268d1e "" - "/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def" 1680514707 14788 1dde73f396dd97d88c838bee2a352abe "" - "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" 1680514707 18387 8f900a490197ebaf93c02ae9476d4b09 "" - "/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty" 1680514707 8010 a8d949cbdbc5c983593827c9eec252e1 "" - "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1680514707 2671 7e67d78d9b88c845599a85b2d41f2e39 "" - "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" 1680514707 4023 293ea1c16429fc0c4cf605f4da1791a9 "" - "/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty" 1680514707 17914 4c28a13fc3d975e6e81c9bea1d697276 "" - "/usr/share/texmf-dist/tex/latex/hyperref/hxetex.def" 1680514707 44472 a079d09fb6a7034a730c6d56a4fe1267 "" - "/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty" 1680514707 223129 4edf043af471f3251c66e432cfa22987 "" - "/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty" 1680514707 12947 1ce831528e963a8568de1f4d67cfb982 "" - "/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def" 1680514707 14249 d947c5c09f3af04ae2f37fc11c7ac2f6 "" - "/usr/share/texmf-dist/tex/latex/hyperref/puenc.def" 1680514707 117125 aa115cac3914abcf3769f370e6325117 "" - "/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1680514707 22555 6d8e155cfef6d82c3d5c742fea7c992e "" - "/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1680514707 13815 760b0c02f691ea230f5359c4e1de23a7 "" - "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def" 1680514707 32346 879686206fa618f4f5073ad4bd48feda "" - "/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1680514707 5766 13a9e8766c47f30327caf893ece86ac8 "" - "/usr/share/texmf-dist/tex/latex/listings/listings.cfg" 1680514707 1829 d8258b7d94f5f955e70c623e525f9f45 "" - "/usr/share/texmf-dist/tex/latex/listings/listings.sty" 1680514707 80947 75a96bb4c9f40ae31d54a01d924df2ff "" - "/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" 1680514707 205154 31132370016e8c97e49bc3862419679b "" - "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" 1680514707 77021 d05e9115c67855816136d82929db8892 "" - "/usr/share/texmf-dist/tex/latex/refcount/refcount.sty" 1680514707 9878 9e94e8fa600d95f9c7731bb21dfb67a4 "" - "/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1680514707 9714 ba3194bd52c8499b3f1e3eb91d409670 "" - "/usr/share/texmf-dist/tex/latex/url/url.sty" 1680514707 12796 8edb7d69a20b857904dd0ea757c14ec9 "" - "/usr/share/texmf-dist/web2c/texmf.cnf" 1680514707 39911 2da6c67557ec033436fe5418a70a8a61 "" - "/var/lib/texmf/web2c/xetex/xelatex.fmt" 1681763698 11046108 24dffefc9850ac1939834d68c95379b0 "" - "execution_time.png" 1685397513 38367 e50b8e68e275b4e2e26dfebf7213eb30 "" - "report.aux" 1685398649 2254 c22ca6e254af51c9fefd41095e5036ef "xelatex" - "report.out" 1685398649 1675 4c398292a139416992649ea7186521f9 "xelatex" - "report.tex" 1685398649 5683 e73623dc7f3285969f78e1bb6059fa10 "" - "user_rating.png" 1685398290 16441 9fa9c192b5932771c6e57a930396945c "" - (generated) - "report.aux" - "report.log" - "report.out" - "report.xdv" - (rewritten before read) diff --git a/midterm/report/report.fls b/midterm/report/report.fls deleted file mode 100644 index 88d8facc..00000000 --- a/midterm/report/report.fls +++ /dev/null @@ -1,467 +0,0 @@ -PWD /home/kuchy/earin/earin_project/midterm/report -INPUT /usr/share/texmf-dist/web2c/texmf.cnf -INPUT /var/lib/texmf/web2c/xetex/xelatex.fmt -INPUT /home/kuchy/earin/earin_project/midterm/report/report.tex -OUTPUT report.log -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/article.cls -INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo -INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo -INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo -INPUT /usr/share/texmf-dist/tex/latex/base/size12.clo -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg -INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texmf-dist/fonts/map/fontname/texfonts.map -INPUT /usr/share/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def -INPUT /usr/share/texmf-dist/tex/latex/hyperref/hxetex.def -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty -INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def -INPUT /usr/share/texmf-dist/tex/latex/graphics-def/xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -INPUT ./report.aux -INPUT report.aux -INPUT report.aux -OUTPUT report.aux -INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd -INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd -INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd -INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmr.fd -INPUT ./report.out -INPUT report.out -INPUT ./report.out -INPUT report.out -INPUT ./report.out -INPUT report.out -INPUT ./report.out -INPUT report.out -INPUT ./report.out -INPUT ./report.out -OUTPUT report.out -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr12.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -OUTPUT report.xdv -INPUT ./execution_time.png -INPUT ./execution_time.png -INPUT execution_time.png -INPUT ./user_rating.png -INPUT ./user_rating.png -INPUT user_rating.png -INPUT report.aux -INPUT ./report.out -INPUT ./report.out diff --git a/midterm/report/report.log b/midterm/report/report.log deleted file mode 100644 index 7716f7f3..00000000 --- a/midterm/report/report.log +++ /dev/null @@ -1,318 +0,0 @@ -This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Arch Linux) (preloaded format=xelatex 2023.4.17) 30 MAY 2023 00:17 -entering extended mode - restricted \write18 enabled. - file:line:error style messages enabled. - %&-line parsing enabled. -**/home/kuchy/earin/earin_project/midterm/report/report.tex -(/home/kuchy/earin/earin_project/midterm/report/report.tex -LaTeX2e <2022-11-01> patch level 1 -L3 programming layer <2023-02-22> (/usr/share/texmf-dist/tex/latex/base/article.cls -Document Class: article 2022/07/02 v1.4n Standard LaTeX document class -(/usr/share/texmf-dist/tex/latex/base/size12.clo -File: size12.clo 2022/07/02 v1.4n Standard LaTeX file (size option) -) -\c@part=\count181 -\c@section=\count182 -\c@subsection=\count183 -\c@subsubsection=\count184 -\c@paragraph=\count185 -\c@subparagraph=\count186 -\c@figure=\count187 -\c@table=\count188 -\abovecaptionskip=\skip48 -\belowcaptionskip=\skip49 -\bibindent=\dimen140 -) (/usr/share/texmf-dist/tex/latex/listings/listings.sty (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2022/05/29 v1.15 key=value parser (DPC) -\KV@toks@=\toks16 -) -\lst@mode=\count189 -\lst@gtempboxa=\box51 -\lst@token=\toks17 -\lst@length=\count190 -\lst@currlwidth=\dimen141 -\lst@column=\count191 -\lst@pos=\count192 -\lst@lostspace=\dimen142 -\lst@width=\dimen143 -\lst@newlines=\count193 -\lst@lineno=\count194 -\lst@maxwidth=\dimen144 - (/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz) -\c@lstnumber=\count195 -\lst@skipnumbers=\count196 -\lst@framebox=\box52 -) (/usr/share/texmf-dist/tex/latex/listings/listings.cfg -File: listings.cfg 2023/02/27 1.9 listings configuration -)) -Package: listings 2023/02/27 1.9 (Carsten Heinz) - (/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2023-02-07 v7.00v Hypertext links for LaTeX - (/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) -) (/usr/share/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2022/02/03 v1.0f TeX engine tests -) (/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty -Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) - (/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty -Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) -) -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode not found. -) (/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) -) (/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty -Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) -) (/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty -Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) -) (/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty -Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) -) (/usr/share/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty -Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) -) (/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty -Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) -) (/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2022-05-17 v2.50 Cross-referencing by name of section - (/usr/share/texmf-dist/tex/latex/refcount/refcount.sty -Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) -) (/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty -Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) - (/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty -Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) -)) -\c@section@level=\count197 -) -\@linkdim=\dimen145 -\Hy@linkcounter=\count198 -\Hy@pagecounter=\count199 - (/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2023-02-07 v7.00v Hyperref: PDFDocEncoding definition (HO) -) (/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty -Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) -) (/usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty -Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) -) -\Hy@SavedSpaceFactor=\count266 - (/usr/share/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2023-02-07 v7.00v Hyperref: PDF Unicode definition (HO) -) -Package hyperref Info: Hyper figures OFF on input line 4177. -Package hyperref Info: Link nesting OFF on input line 4182. -Package hyperref Info: Hyper index ON on input line 4185. -Package hyperref Info: Plain pages OFF on input line 4192. -Package hyperref Info: Backreferencing OFF on input line 4197. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4425. -\c@Hy@tempcnt=\count267 - (/usr/share/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip16 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 4763. -\XeTeXLinkMargin=\dimen146 - (/usr/share/texmf-dist/tex/generic/bitset/bitset.sty -Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) - (/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty -Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) -)) -\Fld@menulength=\count268 -\Field@Width=\dimen147 -\Fld@charsize=\dimen148 -Package hyperref Info: Hyper figures OFF on input line 6042. -Package hyperref Info: Link nesting OFF on input line 6047. -Package hyperref Info: Hyper index ON on input line 6050. -Package hyperref Info: backreferencing OFF on input line 6057. -Package hyperref Info: Link coloring OFF on input line 6062. -Package hyperref Info: Link coloring with OCG OFF on input line 6067. -Package hyperref Info: PDF/A mode OFF on input line 6072. - (/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty -Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi -package with kernel methods -) -\Hy@abspage=\count269 -\c@Item=\count270 -\c@Hfootnote=\count271 -) -Package hyperref Info: Driver (autodetected): hxetex. - (/usr/share/texmf-dist/tex/latex/hyperref/hxetex.def -File: hxetex.def 2023-02-07 v7.00v Hyperref driver for XeTeX - (/usr/share/texmf-dist/tex/generic/stringenc/stringenc.sty -Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO) -) -\pdfm@box=\box53 -\c@Hy@AnnotLevel=\count272 -\HyField@AnnotCount=\count273 -\Fld@listcount=\count274 -\c@bookmark@seq@number=\count275 - (/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty -Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) - (/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty -Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package -with kernel methods -) (/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty -Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) -) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285. -) -\Hy@SectionHShift=\skip50 -) (/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) - (/usr/share/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) - (/usr/share/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2021/08/11 v1.11 sin cos tan (DPC) -) (/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: xetex.def on input line 107. - (/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def -File: xetex.def 2022/09/22 v5.0n Graphics/color driver for xetex -)) -\Gin@req@height=\dimen149 -\Gin@req@width=\dimen150 -) (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-xetex.def -File: l3backend-xetex.def 2023-01-16 L3 backend support: XeTeX -\g__graphics_track_int=\count276 -\l__pdf_internal_box=\box54 -\g__pdf_backend_object_int=\count277 -\g__pdf_backend_annotation_int=\count278 -\g__pdf_backend_link_int=\count279 -) (./report.aux) -\openout1 = `report.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7. -LaTeX Font Info: Trying to load font information for TS1+cmr on input line 7. - (/usr/share/texmf-dist/tex/latex/base/ts1cmr.fd -File: ts1cmr.fd 2022/07/10 v2.5l Standard LaTeX font definitions -) -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 7. -LaTeX Font Info: ... okay on input line 7. -\c@lstlisting=\count280 -Package hyperref Info: Link coloring OFF on input line 7. - (./report.out) (./report.out) -\@outlinefile=\write3 -\openout3 = `report.out'. - -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <14.4> on input line 9. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 9. - (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2023/02/27 1.9 listings language file -) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2023/02/27 1.9 listings language file -) -Overfull \hbox (99.60498pt too wide) in paragraph at lines 17--18 -[][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (20.40417pt too wide) in paragraph at lines 21--22 -[][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (70.80469pt too wide) in paragraph at lines 26--27 -[][][][][][][][][][][][][] - [] - - -Overfull \hbox (99.60498pt too wide) in paragraph at lines 29--30 -[][][][][][][][][][][][][][][] - [] - -[1 - -] -Overfull \hbox (20.40417pt too wide) in paragraph at lines 33--34 -[][][][][][][][][][][][][] - [] - - -Overfull \hbox (6.00403pt too wide) in paragraph at lines 36--37 -[][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (13.2041pt too wide) in paragraph at lines 37--38 -[][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (6.00403pt too wide) in paragraph at lines 40--41 -[][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (49.20447pt too wide) in paragraph at lines 41--42 -[][][][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (42.0044pt too wide) in paragraph at lines 48--49 -[][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (27.60425pt too wide) in paragraph at lines 51--52 -[][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (13.2041pt too wide) in paragraph at lines 52--53 -[][][][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (6.00403pt too wide) in paragraph at lines 53--54 -[][][][][][][][][][][][][][][][][][][] - [] - - -Overfull \hbox (49.20447pt too wide) in paragraph at lines 55--56 -[][][][][][][][][][][][][][][][][][][] - [] - -File: execution_time.png Graphic file (type bmp) - -[2] [3] -File: user_rating.png Graphic file (type bmp) - - -Underfull \hbox (badness 10000) in paragraph at lines 89--90 - - [] - -[4] [5] [6] (./report.aux) -Package rerunfilecheck Info: File `report.out' has not changed. -(rerunfilecheck) Checksum: 4C398292A139416992649EA7186521F9;1675. - ) -Here is how much of TeX's memory you used: - 9325 strings out of 476683 - 147107 string characters out of 5809790 - 1887018 words of memory out of 5000000 - 29485 multiletter control sequences out of 15000+600000 - 513616 words of font info for 43 fonts, out of 8000000 for 9000 - 1348 hyphenation exceptions out of 8191 - 72i,6n,76p,461b,1742s stack positions out of 5000i,500n,10000p,200000b,80000s - -Output written on report.xdv (6 pages, 67048 bytes). diff --git a/midterm/report/report.out b/midterm/report/report.out deleted file mode 100644 index 1addbe7b..00000000 --- a/midterm/report/report.out +++ /dev/null @@ -1,11 +0,0 @@ -\BOOKMARK [1][-]{section.1}{\376\377\000P\000r\000o\000g\000r\000e\000s\000s}{}% 1 -\BOOKMARK [1][-]{section.2}{\376\377\000R\000e\000s\000u\000l\000t\000s}{}% 2 -\BOOKMARK [2][-]{subsection.2.1}{\376\377\000D\000a\000t\000a\000\040\000s\000i\000z\000e\000\040\000a\000n\000d\000\040\000e\000x\000e\000c\000u\000t\000i\000o\000n\000\040\000t\000i\000m\000e}{section.2}% 3 -\BOOKMARK [1][-]{section.3}{\376\377\000C\000h\000a\000l\000l\000e\000n\000g\000e\000s}{}% 4 -\BOOKMARK [2][-]{subsection.3.1}{\376\377\000F\000a\000i\000l\000e\000d\000\040\000a\000t\000t\000e\000m\000p\000t\000s}{section.3}% 5 -\BOOKMARK [2][-]{subsection.3.2}{\376\377\000C\000o\000r\000r\000e\000c\000t\000i\000o\000n\000s}{section.3}% 6 -\BOOKMARK [2][-]{subsection.3.3}{\376\377\000R\000e\000s\000u\000l\000t\000s\000\040\000a\000n\000d\000\040\000f\000i\000n\000d\000i\000n\000g\000s}{section.3}% 7 -\BOOKMARK [1][-]{section.4}{\376\377\000F\000i\000n\000i\000s\000h\000i\000n\000g\000\040\000p\000r\000o\000j\000e\000c\000t}{}% 8 -\BOOKMARK [2][-]{subsection.4.1}{\376\377\000E\000m\000b\000e\000d\000d\000i\000n\000g\000\040\000m\000o\000r\000e\000\040\000d\000a\000t\000a\000\040\000i\000n\000\040\000u\000s\000e\000r\000\040\000a\000n\000d\000\040\000a\000n\000i\000m\000e}{section.4}% 9 -\BOOKMARK [2][-]{subsection.4.2}{\376\377\000E\000v\000a\000l\000u\000a\000t\000i\000n\000g\000\040\000o\000u\000r\000\040\000m\000o\000d\000e\000l\000\040\000a\000c\000c\000u\000r\000a\000c\000y}{section.4}% 10 -\BOOKMARK [2][-]{subsection.4.3}{\376\377\000M\000o\000r\000e\000\040\000r\000e\000s\000u\000l\000t\000s\000\040\000r\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n}{section.4}% 11 diff --git a/midterm/report/report.synctex.gz b/midterm/report/report.synctex.gz deleted file mode 100644 index 5516867faf902ea101366714383ddc527590885c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30253 zcmYg%b97wY_jeoHcGB238r!yQ+qRuFwi?^Elg4Tq+x|`Ryz9H({FAJitUG7!-Fu&p z4t^xWx33@I%1+5?Qnnb{mWLX4*ol1DKgJt$n^P8Of%R$7Q@OM3cI|amvTdgsPAam? z%u~Mjj5_gca#1s>>Dty@H{N()s7V4uWosYzv0FZ`TU&3XzZ^yn* zXSTi{kDYJt?K!?5C+!!TA8*4sA6Fag_`I*zYbRSDZ?^b8AKhDTk5}#8@7D*h7rd`` z?eG`x_b;KbXMDcTkLP@=$mfjFDY^|5%4^*#rsarnJfghJ8e7x@k z;=`gxIlQlz%{jhLSFsnH-7mx4AD1TtnVY#!v9Z2y`?2`oJFk#~?^kquEJxSmZ#R7J z_vihguD&~bFl{H%x3U*Lo)0^zpKI9jeSKW!`{4h;Ev(`|_}Hg=Y(Cj4DCI$TTg#C@ zR@nSt=lxq9Ui-fFe*FRTx+C~8{}^^KbpO8f;r4)7{u=vUa`oM{DrW2w@XG5sUH9vK zHBZrpvDb_?Fb?(gc`Ux~<61l5pAe_dE)M{o^-|OAoBI*d2Yz}J1{(K%AJA?S%@apXK$8qc7earV_P4v+2D5b^(9pIDo1`tyP^Q;V~q}f=fwI0 zGg$Vy$M&t^CY04Qgwa2ANHm%e7w2=%Url2U#Gsh02IvLhOMuTwEf)k`}-Q*$Mn{g zcFtux{LR*oC{ME>-rO2~aRN8npt9F1)T^WF$gUiT;loZ2mjKcm8n=ISXFKRlEC2P6 zTng`I*7D1BBHz1@`~KLAJg}FXF4S0iTjw7iLNUZq@V9Y-p_hC3_ru*jkMp|kQVu(b z$sg|zvA1!LBzV`X;8)A|J};wiXM`Pt!Z?E;CtG~^ufDHOTiwsPzK=)Ey6@NHv3y<~ z9bSeLsvpC)-95Q4i@q;(fKvAL=S5t2{44Q({Gs9dnByBtchVfY<$EW)x%#^3yIS); z=mWeF^F;aw!8#~!8P!q{*5CJO$m?!8+UOGh@nxA>q#L0>Lyp@iphkC#uG{BCfMvTu3AdTp&GtE#kXt(88vy|tjV)t zSqkOmPr@6!LtJMM7NnQ+aJ(h%eRDrpDy3 z&TPbPf-2&EJl^~pZYT47dtMPx7R8@?wTl!PqnPOCOq7Dyr0#yk@`g$A?S$!pHE#OG zS}~f|xS*zgs%MCX?ilnBgNK{B6VIe-bjV}+6v^7Ix=TkRS1{X}xHEjP#^SvM7ZZE> z=|{}1f0ZPS(X;S|=C8{gi{(t!P~L)KIW%cPcYI1qk5^Qb$?l=Qxyd!%0-m9a;ktyS1fCrj<;BvPytV3?COLe#`(!tQsCOVZNseN1Me%VYD|Oq` zlA)v2O|D?TznR(T(NR82c)mphiosTYJl|=E_)s>aAp}~=YF??%R$X{R1jkc7>D)uS zQ8Vk(r__TkssUG5QOqv*YkNWFZr+b$<)mkMx=!*`7|fSSmQkzymNcL` z3h^#WTs_%DXB}mOkEm0f$Cs9imAeUaw2$7SZ*tBcQ*SH))6a?UdwTuI`iMz8Nb z>MrOe+uIOtQ}l5XnYu07&WlWpavBsq3k z`l0dK9V%4f{`u31n33O%=&^`d#E5qARsq4KZVBa-oJ!)-x2>3hqPSEjSPsXY;Y2<7 zGqy%tuoswFP8#dk6nz}3-YFcF+;XAIu1+!^>B)B7ptHw3Sz6ACylXJDQjLz@?l zXQ*F!XMA)y+P=(AGLT^6^5jTfsFe2t{5Ncaa3bOqt3VgOhLLpC?~ zw}%^SYiM(46jjvZ?}a?wv#_zEs%JcTlFA0nu}f7?(J6bE>&iN2rzG~h(*!Qbpv~aV zim33sE)MY`A4V)e*Djk#5<7G_sP04Nex>YMP6})p1OW?5?@+>USvIG+f#{cp#8)^B z9a=ig#TG%{&X^kHVD#4hbYT;s$3FVkOK7=`&02G1iciG%H7FBo=1< z=?k-08Uhx%(HNovp;0G)JA~kHryL(_4-o)DHlrgSfLKRE;kEa6SI<$z;*APs%$5Qc zkR){vdeRpwo~zs3gc|xQgO3l|5csk>q>HctUA(h6&pOa^8@}Daz?aDSh&8;}X&-*< zmzkvKs(G_E$Gnm1Cc#RwuL&fp_7nD**HSW{+E35JVn;9X%^$XBLiiG-?wQqE3sdM+ z!G~k58xhsq=atggS3~|8?bnLtK$fJuZ~bQBx~2WxXc4g(g(`jc4F!49 zz=@y;*Cq)tst_hUSxT7az^6m&m|zVOb|GL$7El{tmNGgtNkRjvgH!^ta6Fz6IhAhE zEEJ*nNEE>vJ59kGOt6RW^bc1)+^5aTJ!rNVbTk6|dr6{P7&t;_LPEY7y7t8dcV&{I zd=smP!;c`vV0k}F#@9v2C+DuPU2MN?E}cC=uc%qWhg;<+2t*h3n|%_wt^->!OG(7RBmp}v^K+0J&qH?G>xgbovk!dud0k{y}#0AuiLzPn2AG>@NoDL`Q zr)m}AU;$fv!yfZ`)vhaRD;0QPV@!|pD0#+$LE^`JlcZNN)9jnH{;lyEPi&(--p3qa#>c-%nP$8uknoviOGi{1;$7{W!r&7Q3yS#N^Xiqd1 zfY?PAtvQF8Xv=8vjxBMjy&|ldw~=5V+(n+O^HlE^jf7cuJ4XN1bQulLh|&j5UXT|K zYuaZ2YZh=yJWjsWwSw!EOF2I`aum<&ngHMS2{d*`PF30ial&2Yi24~1ow9Ap#hK3p zl{3OpQ!mUkV5XcriQrjGDJOwYMEKGFMkLg|-73j>kF%QQDS(Y43JM=o)F)>oyAE zM!h0|h~G;SjItO&wUIR4BQS#IP5h39U`d?&{^x;EgH@6x44AtW_?rZV8< z4ydvnw)7;9Vy6X;gcxXs99U1?q}>1Sf>#7suAIzTQp2K zz2BYX1A%GjYgB>_DSF9Z!47~uB$csnSZ?i<+1E6(p>EuodO8hAj4^xg$qONvLL5o1 zzs1m}t-;WZ8mx46+=x%e?jxfZhnyvimrF_;Z=3vl@@5peZsKl!2(R0UsiR9#rs(PsSnHfK}90f)>J!9A|RllKo=9$A~7w6SjXqr z%ASTSMc2^$7s+F=Ft|Dj`ldbIP8e6@cEKM<^tYBQCU-jsxM^|3+_yOa`N9q*S_-h) zrVxe?vp+b3DtcKOf$$`o6oeexi9_n}^(4ox384gF85ibaGv9eOuZSx3fQb$n3V3fuD=p)9C_-?yG zX$EuY7%`UkLuj6!fV^(BH;$e4S{$t}*>A1(q3#lM4TahAl6sPwYaw56M8!pvkcVO~ zseEaS(J2CSZ=fg{b-f`;rM4^?QX;ZUuy<>i_bhD8KMMF+Z$81!B0}!fNjiIW%#7xr zhB@pT(N6XaY=^5nXjUiMz1~w^r!)$z=7k-K2!v+T$a7KGxgJI^kBJn5I#mV zZ;2Ut+A5_})r=`vjhH8}t_h`bAPx6gP$kd0ff=WBAl;D-syJe!izJ~iY8yvplE%$c z0JQF#h9zD`!GjMfwxzXTUb@>Ml6~Uw%objPIEPdC6f8cR+ip=oE86Yied%ztjo~nF zL0QTutWRFQCghM!?KxyDvx({4qrU&(3g`eyw)1oGZ(a*grfN-XD{3Dv?0;><$ZlSCAUIjHb~vF@90ScPh|^fj^OhtDAK`=WgAEc z=ggZaFpEc%qymj3{s9_7d=voJOabo#u-XPO2VTU(h-M-oJOHLiONe}d7qL;hc2tV= zx_VYv!c3vVtOSl^QoFXju=FNf` zcW|fg;0wwE?oFmCXClc_#!f!Dalhj1VCT$!;$Z*ILTnkbn49F0s#HFO6bIGE>`60r~StBx7PmA^M{ znz!nZzDIn>Vji$v_ma1py@mAOgh`;hiR2V3SyNJIczKRlmsj~evc_8DiA{_ZEV7 z3?9v554;Pl9w)P9pi!(-dFEI7aL%9q0L`~13Px`TN8zmjX&2kEcHxaeIj70xaXRqa zLcfS7^SXUW5Z|O#P_sOUOcoGeP#7t zu{wixXeOr{$(|9YYano?lcX|3Z^)FRZ%`i*w3vq$oVP5*ok)PFT+~sYLX3ii`QC?P zdY?c~8WJ$tolR`Jmre3g0oBKNyvdY-R64}Ck{jFV_s=Z*NLg6GDSw3c?{GdOSbB=d z9R-W~7|G-e@A02=JtfP~mcM1NJ!o`? zQlfG(B^!{01~(Zp5^$`r)^?O?8+Ev5mm?a%rj?v37S!soBR1J^0L_lK#Hoxbq+d;s zlQ8TUX4=9C^F!7_JTb%%VYPL!(7KAA5}c5yqa`;?qZKe%5uDN}sip1$L>)|RjRy51 zyJYYes6^zz_Ol0$dPU|`U9;;oG2NZfQ)_GD%lnV3c_u2_QPNag&-8URih3H_B>l~u zm+{V@N-^=G=*a8r*X6|!tIk*1;B+<`nc;L|irC=9<=@Ibfg#w-K&P(})4ADwBs>ac zXAHYbgq6Q5{oWz_=yf0Uk#?sqXe-YviAY1s2Uc`zzowg2J3K6YJ@n2kJJTl}f)oxf z4jTS~a&`bZw8JoO>4q)vxAo_R? z_!!cVx7FsSe$Rf;zIq=o>ru!a^V=xyRe&Ti4iajNlZmPE>@_5k?#bsoJ5IRofAF+(qP+> z2)Kb&ORv@we&YRNXbxhG!%pNIithqQ-dAxH0 zfG1(L+1t})dMWKNY(0&=^1sr#4Y3}ji#B=yg#RqcW&eGFxkk*7*&Tq z!Gu#(nrZ4bDzS&Sg?Qw|WHpJ{(&9qN*HTC94T)--O0ChpHVM3_ta^3tR=89{7kJpq z3=Fq8e5lS`Ozw$e6cimaJT23tyJDP6I99;r9BB^qkbC2tKQV)~c$$J~1F=;VlSaR@ zqG^Bt9-4M=lJ}kMk3@$oJF!4*$vPUp9vGq)OTTF|EJ;#~BxkLE`Z2AQn5u!%y7WP> zS_MTy7@?g3Du-~2>BcH3HY6o*hk+oIqf#AF<-A$-E zGeym);yXM(bTtm8@qoS)IUtbD_5kXR--$3~<%A7^qglIp(cX?ywqV96NwZ$qQM$aP zfxYk5EyIVcrq?k>1=A<@Qqsq8-IY^>#Ax1`#3Jw~W((?EZ)=DAg>U6$V zS&zyH;~D1gXdTG0(G;W0ezu4x`k=dit<zDQi(DAK`eaaqz>n3ei3k{i(w!%)I(UH%08zv>kq*4!A^JYU>&SM# zL<~o^>r_6&D}7d=&iYz7-nyQI>T?S4>WT(OO8o8r(CqEPI zMkJKREDWI~dD1MGbPdZ?KUq2&JAIaJW;Lq$BOf=XVDOJ$qLsM4#zF zv$K%9_apA^jR z@QZ>G4t-HD^6O6u1|swy1^YR0rUD|gMp=mGfqfbCeYT9*KU1BGFG@{FaoM2T|Lxe; zjmCuzsK%^oy9rIx-<+lithwskweIb$Cprg@!>pC*qUB&Zr(?|r}R^BdF^`oXP;dOah@%q8)V!DV-b7j0s3qR z{Zlyc%KPdwH}tPQ(;4~fvpwkl`m76~S#t+EIJ>bda$Sg^p6*LG;qdxt=?zX2`ef|^ z#diDm5^ewQWe{3I(cep*l6HH~XC*vmi+ znklVe1nb%H^!|k_JkVv{_VV1to;Zc95CM4l&YmCvLAG~|$bug0qem!LO^JvUHs1XN z3%fAd?o8!}4*SFL5!Fu-L|tYculy-WvK-kdOy8^&Q+AvbrDE()Wge(cv$4pLWGLFU zeO@#X^e?j8N-QWEh-ZYFJVc!NT1+XAK>zbm4S>Sj34$6NgOWd~;_+EU5YcJjynvd_hKvP_gl-J2p5Gp01>V*%#HTINOT_I;cBBRNaZ4Ult|+ zlop;4RxD)mh0@j+%$wt}=Z*d@5n#4@15jH0+9yhD<@pq?Nzpt$MeFGFFTHI<`U|Cn zt+#AMjL-l?>#18(T}Dxxk~xrb(#TIL&|}EUa54^<&=EB!yV8UDRsx@rH5nPjr(*5I z2>-faLVNO~DjCd{>dJmbm7w%e2@7hAbRoJ(9aA#RaoS8HcWr3=ES({U!>{jW40QMme-c@@ls4oWx>R@Dn7c3SQ6j(rnj#fQlBBf+~4AW|b3ga!B z>yUK@Ptub{NQ<>&hq9WjQ$oHl>!-4k1B6Gir2O#h+fD>J^&n_*Je=Wzn!sYA;9$$J zxn0K+E$Z10Vyuv>PNGbUl!=uvbe5IOk{SKL#&Ynt2%AlsCNX#xB67BZX~Ohm)v&RU zXYApeuAicCKQDBzAVp~hFqRLjF7IXDRHS45<3>x`$HL#j8%QDuGLTld$vyLF?1f7< zL|CN~T$#aYCU@3MZPycI8ge}jdTZuwcx8p)Z zl-W?v`ZS&C)rYf^C4t#EQx73W6cT;W`6-9 zCbW(vpWVv<)}|o7eQkH<3~PM|`JeS@uymuy8d5s5RGL<$)Jh`F8VrHNA}&g_m0pbi zLdzS#hNl41W8SEKB?GUzyn6alu(-M|cb}Sz<0#HDC8m#*-r_Ym8Vq(g?XWPT;Wc3* z0-WbWb4J9~k*EiexuqZ`dy7zqKKKuARjY;69xZd8q>+skJqZTo_1FF=!hw~FZXm2- z132b%}GbuOcb+vDUwwQ7L+s!eAa5g_m_&wBUnr@fvBFQI{Kty_Io2H z4ZQ{ld458)Z^LZl9)xJYYQmn3X_#-Wu)!|2S;fuUERB|BYPSC04>Kg!#+%v|(4EZq z0tnY0aEp%epjDIarO~Ua&oUoKPtG*u+$wd6#uaJHVh|wL?6+NdiO(@Cg5OIQKuOKr zs5{R82#}etuc^3>ZL0!a5NRyB%5YMPxtWZ7Y`!W|Y0bgvVcs^=pG-NK?S6t~DnMs6YUf-$ zMXZf8%@}M-M7pGKdV~Aq3{wQ+OG>?_w4UN&9Y~K0I)a38Q^lwF>&w%VbsH!Nd6Q;Y z4&siidO3OHm?q2)d;`wGp$U*LJH+a!?mD6Q(!wq)) zJytqarHtHl=8_+@WpK2+XF3v&yUIZxjz~!)%;}l)gqaKI9~q!~)6~N~DubC`*J=fj zo=_stUVVAwbu-}0mKHu#nKd`>r?|d z8v=jOnh!NBvR6-^`6b$Va3P@V`z#vLmdWsHN0z#$4WSPIHNZ6cK}%C=%q(*03Amm& z#X#n2qV-R@6>`~sPV>}UkKFaM@dZz+cOS2=P5tAL8k#~7sqk$#vs^=<4Y zeGMlAF)bDl`S&9Rps&hHLz0F}!T+p0xyE^$K;z<3y;gokwRb?}1?+!To|?~BoB6NCnP@T^@YP<+{f6-hBx5c$#IJ(hBN=nM92&fz|xQV2oiM>p4wi zkxVLyIy6U7mLqzv$7LX1(2&w6&Plh5w$Q~$ry45p*~}SCfB~u-u#6?ocPe8ooRA;t z^*PDxj(RSQ?H@r(nGkNHQCIuPgnocTtx(j-fyFi}o*COyZh+T}26*CU7o&?BLtvn; z#2HdHS=2cd^ip%FY0}%Q_9CV-FCW%)I={H|sDpIkLPVflXFG^D(ly3RDZ@`7RAJ;$ zmy$5+&tsj~CrBeuKj-ss?4^?!hSKw-rzT9*1@eIGnTYWc*Pk~rIx=_0I7INBNgld8;!g8Bo$Ae zq$2L(i&XG0e36RZU%pO|*MFp91mNogc{!U}Ls7DZr*QlQ_&Rp=jLt2ondZ-93tt-; zm0~M|xA%cvWHZpsm=b7la+znEYB42!m6WocMtWPQyYvyzC#N7W@yd-O(nw#WiZ2-2 zL9?})A{LPpCu87Cwk zo8zh|%pR|m$_-ks^W+}(?Yk_(^~w8O4kk{&i}Xg?x&X%0>2F~R=j`f}xAM}HDDdAe z%2wr;{OU6QvYvMVc6sRg(r_N%WJ^ryY`}(&(#&rDs9_CT0YgUut!4vOAhx*a0t1%5 z*|;-ZdIsiG7*EF!P!?SBj%*IHismg5&n=!=T2 z8CYmW74Z25v>ZzVkGoFMb_`Bg#(8_G&vM_;6Iskt9bKj@>4P4NSCupHW6YCVv9k+- zH|Y~9Nn!h=B@Ov_Y9Q`KJ|zvr3p-6SSiH4k{Q=2Osx?b8n-uo&Nwvb+xXxI2jWeR$ zu!(513V5hvPHxHF2ny&GUvO94p=dnngga@- z9$Q`n!icI}?#o3ieCQRNh$@RP8d5S@38a@u*4llqt@Zo+=e!u(!8OR8z*mo%WTw8j z_U5RcJ=g8%+L;*7o12dCS4C#fs~mH$UVHaBC&O?@F{0LV5;&C)_Dm*e10ckt!q2o| zMZqt)qj||dL#~YA<_CAf>A8}iuQ$D#=x%=z;6eo%!dPN2VeJtKnzIDo*w2LJXE0+H zg=j{XtQThDJZz>xfYX9AVqG6Vnm$w$9+bE?OsCR;ZB|L3F=U@N z1MJzITbuW$G%wtOuA-nJ+D`qKy{K+i4tEOqX1v#zvS9mOLlY&5Ow81YyxyoX*;kT~ z2W`{D!pQJWQ_6ZMYx()YvCslI4yDMDgCIdct6K5k3arm9gevHj)PnvNJ}>HCN6+rG zN*!NjiwG|n*aa$sdCR)7$6DfqGcB#S@{f_*K3dSv)G9U*gtz5!k&P?pWq!^nCpJVP z^Nq%C*FG9;(d97&E;P;)nK5t9fngJ(8udp6Yi6Fo`I5wf`Wi7`XAv5Wh z%6pTyO8-kSVsLXyDZm5=+I|z@#kde&^g#EPG1bS5=Zj_mR~lFyc7xBrQ^VI;La1#2 z7OPIwWf=x>!7JMibG~V!&C`IbdGuC66`PbdCpi1dtV%Ay1$)uj!pMIL+CwdXC4WzZ z5{R?CmLWP>5N+@Pf@cb8Dti=(w1lpPsdO!fxOQP>-0|AdXlGP%X`0Coef1yh1G%&| zrCDa{dI7V2S+4b_0{>dWK3>t&5a^jQ1xDnJ<1_({^;q39b~|s=w3@;=NgiuAJLFTD z8MI)eJA7FsoARYY`f8w}Ck@CoJ1R#&a4$#-t4e&O8c033WZ&Ja`-j?U6_X^KiyCBI zgbhX^NIuCUUs1%2yaPqGvQWG8Eu{wLWT@`aD;}e`rNiRjdsWh3AWUdBD&Z5;-;94` zm~u!$eJn{JBsUqv#M`GWEycU0ESrd@_sdgIV0a-detl;zV(mo0!R(L^tUAvXHKI?F z0~eGf(BWddA7sLa=sz(QjjMn-c$T!4sxKVY&fnmLP9vnHtB`Sc6IIQy0Dp(pel+%i zWZS!EpxO1W$;)#05_)G|I@L$Cytv{q^U#~*RW;pk_nJV$(-jOFesEtc8h&6s!E^V5 zuc_u%;8cJY1~9AlCBZTfX%DY_i7q)vmDpJ9vdhQyp&^mz5|h{qsg&Q^&+qAr9-%3n z2M>o7F2kcQG-9nUkkrI03J;#6DOS2YHZ94yw5^=~SO+2LG9M;DRad~*eqIV+eVEQ5 zVmL;Z8}(A9^x;Ky37MI`4CgyW9UWI00hQFd!GfUkc(jApKd@l!D<7i72-j))l2Grx z(d3nx4ZAs^a<6jn4hDA3q(b1fGlV|^xUc_7xL!y$;xYyd;GE&X?39R?ih(N*2c)J;FU2etij@Ds`Esh zVwWWVQ#RZR&czpv1h;ZfWy|Pg=ArVBt9Z5tcjtqdJ#9~Avm}Qwoc>_17ort zgg6Gm38vWl^wdeb$qmXI1+90MeffL zpyO@2F^DpO#2_pvBz5J!YAkgH7y*MQUn8LH_-h24UBAh;WQi8MRUqpM@=JInfH{)UKbUxpdQ7KI+KXC`ZCygl4c>ht zOUHS_IwG<4Je#1JW#*d~FyU%#Qwk>Ws9#COORm@w5a+xOQq5%T(kTf)R91IOsuUqd z*2I>iKu}QsgbL%!afPJksFvNPw!5s23f}3*qRYb6x`6JQl zTA&{F`y@|bgI_^}se&ub=@tPN(q{ko8yI9GaywaGs~L3Qnr`IKaFd6a$p+fPkB4ax zsXzZ%`dD&+?k-H28L*-z1AEa|fV6d^p*+qeSk&F?`kjS)sp{|&@Ay3#*?ZBJ=T38Q z=nJb?6A9DW;QBWT5OJ)+##oq#L1=_#GjTSX3s*4vE`#ES@FthFWpvyfh7j5yR`TvD zVXV)O;v_tH*h|e1Ri4)s55W~^4%Nzo3Hh3_!OZ>b^lxqcO;=&q9oOmdv2kuoe5|Vs z*_jSMcB{8Lwgzi>@sGqRGD9p{#zG##*jBA}_QOa9t)1Py$2r{B#bidKN;2=bj(W?9L z^R;3|N1=hoMnq6=CZCm5>kH_^u#!;7y3kK$l=Wj7Ygf-8vxDBbp}WwGC3^dl%10An zYfD+XCjrCrQ(x8QGOt1cL@{GB2lqfAh3$5vrWvU_hV~Rv^FI>U=)5@;*{JkB2 zhd>%jpeh&+$qn3{TDjd2lILSezxOJ*8gP0uv3;3c4IT`iKmd9HajIqpZl(>dJ#&B2VbokK8 zyAjh}x3>)QeOa}z3;ESp+)#&pTnejp6C0^?D$P*g6U{~%RiH~#75^S!DISV>q8Ooy zrPd-0XN>8NLW#r3z!f0^uFxM72pHA#+>=dF;R-zR*xG$`TWl2yE}9nO?(g+%~FuhZCcyG#dQGr68f{ir>5f z!YX+kX2;CkC^dF=KMhR;wRT_2$h`+zlreFKXV!}xRB0}fV*&}hv$_HII&7D4dxgqu5H(sPu?n)JbRBP>-h@B2 z%i1`syu~ms1r5r&B0w;&m6F{GCNCF!$7g5q+LgiY9#g=B8Oo*-Z3|^yPi$d zLj9S-%<0W*q2kxL4&j$r72o%ioa5h*B%!caplM}HL3Cl>hfKZ&b8TFxW{W8bV01Gy zP4X~6$B7azw;E~jucfS;-L`g;j~@hPjHJw@KHr3lu<9cuGZjvWxz#ZO=c<8O0Rezw z&^B6(-^rwY+RoAWn)&onwm?*Yyogfw!FgWr%yX$T*vHA4Pz$7iEGUmN_uKm;ZNL2* z1{k0N?r%;8pN-R&{0gilcEk}U07@=SCWAFTH7|u{{^a+ypY4(8T+$#>AmL$Gj*iF+8Y%sP%xgEJ-3aCfC>}jaBO(-n0>ZO#`IBe58s^|9!ibOXJ5B z_=kte82KZ>c!qPo%hx`86t!(;YA{$SWj5|oM*z0U?X@dp&g2O6j1&;`^K%0P{lY3r zCoY@3!+v7qPbzp4s#l)H{u+E$;^jB*?H&3j3NS+O2y{kA)`e1=i6U-Dwj-v=$HBBJ zQnHA!wL7Nnm1eAZOdZA&DX0Or$P*%@sp%w1G9%CDa^Tpey{nDtLCx(`agDGNcSTWH zD1J^#5pwjll+1r>%}gPtIE#e2EZcRLM|sY1P|MSncW(l1y4+r$6zv-W#D5f$TkgUHgUe|#pGI9Z{?~f4OpIYW9>Fr-sa~;rj!NU*g6n&e`NyTBT$meI1?U1UTiljS3n+f@a zFaU9*P1|5eljs1{v3tNOc87n7BQC1)*J@3C-MooH=*Sm#g0r#zIdQ$;uRhv ztc=@R{c#FP$=24wHR6|j0?FN3QvTJ$xP@Taii%pQ`7%5&V0teysNpI9PnnQ7|n zYEHwOhVG==r>POF6V=`LGbj2ElJ!#6-7>S`nV=s&!~cc2zl-U)A6!2sT>Vln`z@ z3)Pwhr2c!R&;xl|JFnB$oraMJ63&dAOcj7@;lb7>^@!azDOFznoQeSSfR)fr zVlP+<;+%*44l?`rvom2vG~XkC0S^K+knU>M!zYm7wZjvl ztTO(by0Qh-^%u^DT-)AQb6Qkh>fOm18-Lthxb@>Q5mWOpID%~&N-c*0YcHtN&gq(< zU6p1!#MC;Ax!ygA+wwkyq2va%XnZ_|1=n(Q1ON98P}rffZ)Iv{JKH7#o+^I+yvg9lYz#X$kc8w=?S?!jh)|wU*^^%g4$>(4Z#DJQedZ;r%z%LzGZh z&xc86^EEHv$%|gatJJAwXEKzMynQ2+j9cXh3Qu62s^Vg+Lqa2$>>hdoS9cnAa?a3S zH6j6(t1w~LWsm>Do`Xuo&OE%e8YNBc9@}hVn23vAEPxOTa1PW$q?6)q)ee|F<+jcsh$l;d_0gEghKJ#TmJhlJ~ zFsI^Ch)#Y+fsaoE?Do@!5b*u7AtqkFYzS<=Pa6WU?LQkL4`4$eJ}<2@-&!S-7zX(O z4yc%Dnw@d+q!(X6^O$yfU~giqM$WjZFLf~~`I}pof;D&MK}lr_vb3DREp9jQDEYe& zx%zt!N{sEQbIXY#PGUbu7)|HH-3%>ciARxo{HHOStqIAtRz5e%CbfE>7@uJaqc)tO zY!oyoI|;N(nAIHWq_9R(nyt~a3BN?`MZw|M>V>s+6~+B(lJd}9?vU{)J2}rOcc!6O zt)2xKi8gB@p6%N_S&bLi*>be3);JsEb5ru5)|#S#%i?aF?1wk1yZlbk8(HlDD85a; zN@dckKiif_&z?KVr1|CV<32OnYeH=)&AkngP9Z<~nd<@m^dK6F`4Zq*hy|B8YWisiz=Jz(%67sDHPz@o(Qwh&>7;3@}OtxyUk*7`}|`cMpJ(4I`C^C>UroaQSIu!+aXq z1DBshHa7n2r;)v=>icD6gZ*b@8*IC@i@+F?Z{{p{%xGuv3c~=hr(OH#NWijeewak-!+6Ba5N{(hvJDHBk6U{xi_L;k~ zBbc~j)EIyx7ASLqk(3Xt`@+eQ(i~%R)|BL9yh{KpkydV#-kYd_>h_wCdaCXPGzNw& z>$gHtBJ7ZK!3S|R(EWmXa`hs(HkQGjRq?EE!W2s=;~$UsVxHs*Cry^{t2qh45eH?3 z?#E>T)8H3Au- zV}fKc4Y@IJ!!7nW7!7BtESb(&&tjeMCaGUpdHAbV2- z$?%xAr4Xnc_9v|-gHA0Yexe6~p;CKZNAO8+a74 zN;NldjKzGu-F25)dBH`bFStnGiATMHl8_#J0>U9Tr$TAif}5WD;gY1BW+K+_Wbz7* zq8e7Y>(<`5HU`o>MI5OOLf4n(kBJFcy2A1b%CzA=n{(;n*HT_dX9vL^}=>FD^@hS~AC4a>>H?ZYv7LuV>i zAYa5fR`(~5L^py6F<>WFr>H~`YA&*A155kje_kw|68&oSRC`-4Uc^xhFwaU8(wD^; zy4{O;b5W|Fx+G|m?{YS74p@yLH|DUQjc_aMfpSmJA*_V$*@2uY9@_Rw&BYkfvHi^LTvVa)i-eMeYf@_2o$ zbj}vT8j_IiwtlX1`lKtXr|pW`@w31oym^VPeU*xvUpzl?m)n!D#$k=p6tmv35rd?l zOB%D$?;xjS#JG3+ZS?wffsmhW{&(R8P%NCBMQBFnuy3Jp3KDeNDSGazM-_djmI8D9 z*$TB)BRGzc`%Zm_oc~&iqq0*`#W6!AnzAzDUnG0Bl@u6010?}zMG7B{es-5!Pu z!D8RTKz2@*8cfS#-Rmis-cYm?K)*13KoQx)Gn&!2b6A|C`)R`2j^aL@M~&0*s~Zt9 zv@9BUSmuQPZ5QUu?NEj*T)#m;!!#NE7cCh|ta@q0QlHf0inN7`8U`b_{BuA3dypYw zDC-g6XoB{eW3x1kSVz$<D7L!wZWky0xPfy%o7mBLhA6s+s%AD43E>(75pW}yK^ZTAEysk?jj#EKO z%(j1rSeSN>{Zji_m}BVaB}T$lA*gzH;tt4&$7?VFp{;tc16R={=QRw7k?}%k8MFaNb=Y*#BDw8&V}j# zYEuZtv~1ly!$C})-o4*kQoDo;sy7BTMBhl4UZRO+B?i*T(_YDf9*FU2bU?_IQ#0BoVI$FfY(y`M?fXMnGNfLBGaj|F_CU|bQwvQm|^mTk=KBW zkz`=~Td#GdD)|xi!zxsQ7tXvwfbz1Za|a3 z;x=e9L%zd3>&mper^WlBX1*l*t;22b=;7~_(lY@$n0;R!PfdmE0V^c zYFhcnaB=`j#zppM0Em9x(JW+q{8*d(E{YZDvux(ycV=E&D%|L4HhuA8DNd2(`I@Ya zxV&Tx#r6<6GF%ys-EkX~6jmb7hAzJW=r8OcFK}~?l}ZLuVWFM^^-(d0172d`BfoS?5B!Jqbjvf#-kVE{Sxl2>CO_aYRzOqH$e>o!pbxzpDitD zmojP~kI(~^Fp~%G&_4_&;m-DW#0>K%vrllaCV0cM5}4|&cDk|o1hS+!`Z@>;`E}c@ zDu`r@xNH@1#nW)x*%z2IAdXP2Cp7V;Sku=SP_kkL?F}AJSYuEKv10Oz^Y%FF?Lxxz zb4-!<6|*{~%M>m~XH(cP7oB7ziG&zp%HeJGXyEL(oMEC!5TCcV!`tOGDOJcto}V8P z3Cc-5ME5Ouvu{tH!@v^sImi~Ji?N!X zap;POi-5*A48tA}@lqA{YBnRvdn$&}w8JZ4TfXX~V1j1i3Ue<0#XU_T87NkWl**&-p~tZSz4gK>ggwz5+ZAx3_wYkA_MA>;R~9nDmw+`hJ8~L%Gp?)^*+}MF=u4 ziH=0_>;CW_LP11mJIq3pc9D{p(>cMz8>u&iY=;mam%?gut+Ua&4IxSG0s4BKl4CrD zP~mQc3?y=_*#aE`{CF=ue4@cRfN3?3!&kB=8`N``%WCHT_gP?aj^j_zZ5lAvQb3pX zQTNu#NLAEu2o&T~>~t(tki|7b0fd2sCH$tMi@UK8CrA882UIgwTbExGRudh&I#q ztV%%aen?V#N|-Z}SALSXj7ig|PE|uKf~PR|a}FMjYLapAUF=&=q)q5{6m-WM1wnu4 z+~8~%Q({ZRX~=p`hZ3pX1^j~$g9UXBC94XUGrv(QtKI8>#T0U*kMo&|sk%5wJyRm| zO6NqCO}N%4p5yrY#^#^m)gdVOb>)D1}WV+|Yk;Z!~REiju*xf@%<98Qw zP)AJdvG=u)d}cr|C@YfB7SRXIU5GqDaE?%mKO?0mqsa?B~~S zlm{sw_;7MvXFk~~Y~l+Wix_H+4vbtykF;-PAahN0G7y}CeHmf-TZL!pc+7^Wnb}Kr z+!U!|eg;OZ^eNb|Yk6y-AEs?Uwu&VG@rWcPq|!8>wAF5yhH5b<(2<$i^;~hPNVIAp zVAm=As$DE>0JVMzuP(fA+vXyaj?;E-XAmKj@~E*@%z;bVzfxJGa}EJ8swNB?&}^j8 z%@1nY>sHLLc-De>2wX&oS%WCb=Me(kw8C5w4ln#z6{u?%I5R9~e+{w;)quZSHqKVt zP6V3`sN_d#(>3~#QRg?GDqWuXGi3b6u;%1t z^IrfGOoYvIs12U|0COa|vg@La`WP$TEQfgDO{NA!M*Sa{Co|yYHNXTu?&FJ*{{3MP z;H{=8!>POKl_c)+ux%hIYv8e(debOTFk8FrFYnks>S3n$8TPgaRQS}a9f)(;6x}OK z1rL+O2Ukv)pC=CH4P51f?!joWUiKRhiCC(I0G;rs>Ld~1%5i-jo~FBfo8{!!%S=+`b*Uyn($`tchZiZ$YS4o>sE zPeub+B)5Ca9!#43DXnu$(bxtKP0mzFKD5oOmOzm??h8e~_GH?oGonmocScxscZxss zYv#n&OXfstwZYPxr@_D`=-YfaON?dtxVUL*Ae3g-|03+PiIjJfD2ln~#MzTo--v-_ z5PS#i5gLc3!M$T56vTmzq(S;(id+l908%pGAGjw)r{R!hIt!Ox`ZcXH(63R`=P&XD zw~;g6d_eIPD5PTG;utph@9&PE!_?|r->)MeyV=8$J$hl z_=nTREV!CgMRBwfxW$xs1`*xi!Ty3H(|Amq@&T^oI6p_X{JP}frhudSE9I^E)UhJi zAmcx%p0n>1?A6j6fcOlk^LP(rdPbkUqAU<>b~GC%ZyRT1ic;}Aujl<+K)wr)4LWHP zBhC1;&8F4)>sHgF^-K1WLq0C@h`D)X9G+$an`{kO7S9efx>#-zzJ*g#Y2JQ2H z6FZNcluB%GfM*Kb=#9E>eK~uQmL}feS!HEbCg_-CHPc)!Dvacoax!7~!$h3*^vhw0 zK|HKovc{Y;W-k$9Cb$9SaK^bWdR*WtbZwCBCC{r=(mm_-G!T$mz9bD8=K@0)>$oM2 zRG4-d6t_`ux+KQDTBLgG+xY%+k;5mP_-aK_qD$Edv;12slQ`_!R1rpOv-OOLT6xvb zIw!SXH)WV?-zh}h^Zs)r(&}1Js`c*ul^-42hFZIIY8=G^W&HB-MAcqD7y} zV%i!ZpXl8C-Kc#{Pbv-~%E@zwX11i)tRR*2Jl4&TLxLb{qEUl?Cikd6~il+1Xw4bypVA=7Xu|-I_k-4gY`b8s; z{sWrGtGLxRv-96JL909H z4HF-kH-qq47KxR+2_VU$%TcjuX*a#Mv%@k7E98E{RXM=_#iDDFu&crq=F||JXO7nZ zz~;aXs596ZzOCKB?UmPYPYw|<=2PGi@mPzwM>@!-zR}KDOkl?(-*N$xCWtb&nb-?6 za70)MaM7y+RdMGHlN8vS@3=6xfb;Ut{r{hrDU=_omi{O|bgldy-8~}ULK7T#UYvEO z+DSSTlG1Mpk)e{&_+@AgAox7b*?xFT%YgRWVKjL zsQL9@hz{Ymz0BREP#FJknbUFB#M>qT7aHRLtPTtZQ9tk4*!Mam)gTV5?oIh%A7sx% zNJd^Z5>BS$t7TrMszq=1CXKMyL0MlH@b1cn}}-S z#D%?ddHcV9QY!AuPCRqA4{g?62XG%THCpjUv}71=xnlQNbBlMC(=N9mIzoWrqj7A( zzieREkmBr#T#Ad0;pLFHfIP<24f~qPy3_Eh1b)hCeJ85h(|<-6S!->W7aV0zlv4z4 zwq}WMp2H-$*m6)bSk@dZJ>xD708~zlJ7oXu1(g@}X+G+odCErM3u5H(&i^M;V~w-c z7$V!0ho?DhU2P19RMn+VWIE2lh>xpK<$X%Vg~uj!dxr*PaL5BzdS_stOyk7LR_o%K zKF*uUoxr|cQh<%5OV!}d06ZWN>j{fNn^-i;2xw7FN`mLjl~Whsady;2%_ejVo<f zUbvb|P?yZ*c*icNPzqmM!wdXXJ#0#Y)jUR2dfch&LdpCz?_NKd?K&T^&HM`b?vd3p>8(M#2}V$#E*P zX9VLgv8LNl?iD2i8pcy66f%sN8jQhm=HReO0KH@KQ=OF=(&B^;RA55)k`{SaOC~!^ zBkR_HzoH3?jo?!U&GDbpr(`#Dr+&r4q@m&|j6-nk)op;WHmRhVg^!yQ6JiFIyn3Ce z2z$XnMj07C(k~>m7(a*lAorDox&w3g1JZ(lYXv{!#~0(b#K#vB3S51S8Zv$*p%@&m zB=k}IKT$&;0TOzU`xA&7@=DD+N#o~^r-)9Jr~BWEKOoIPfzKJA67!5x6nL%pFqT&y z>fNK+OpEIA82nQ4{$no{UydZJ+{&JCQ`$BU0@X11mjUndQBR7w;#_}g|O)O8F5)pQc<+KB|n-Z$W@aw|3Krt_ldLh*7B_f z0@%h2sA4KEpo-z_X5}P9Pe-ONlr);{D-d#l zyNo#XHKK7-H@4mJ0kTrF!Av|yqw)OV^u2u-2lqKN&vAGLQ8(!KKC zB5rdSfHmet#8Dp&Kjfj6;{`4>COR{s{!#-5AZlfcC0UK%YE?_K^-WkJV~vUlK_osh zjn*bak0b?DMR(L=f$8JuwRH84(@T+k!<@HvInZGpme zt}9+GUs!NUdvfAvNRQd9Ft?_*A)}Nuy&FAw{C^)VAJy5-pRg693bSrR_vE4^C|-cg zG}J_#)4(gRDci4Ia)O^SZq5^8*0}_LO`g;XumP^V02_4FS6~wo`U-4xNM3yC$1jJcQDF3*k^IT!*iQm>$rRh_pIza&|<`I4HJJmf!ym{{vOxz zy#s9`lPyE?S6L+vyd-W-~_2DXwB4JnD)#ZT)cMwmqXRpoM2 zUdb~!m06t0c;UCkqx8f3=Y5cDimu3kyi{90v!`n(Rl;g`&-qkLsbU)GFm`M=Hx?l@ z?_WS>p%5n^$g?|yrn~N~q}ATD&9aM9eDX#9A`$qaUC<>Y2$DRcrWMrNoApEv0DF*6 zg5x4U7x$6sSQ`Ag?%@AIe-Sg5Gb^$Ul~L7MxHZ1~x!|mQze~UuC$gM$c)TM&3TI$0 z$hc@>50i>ROoS&(Jde+I0HItWE9^oe2%A_BJwoVTHJQ~B0tVCKch7=|yqskak`#bm zV@`yKEKy9z5vHVy3J{CipvUBpbpz)Dx4G{q?kK+%InaQu-$9!w#=xOb#Ontrl%8s` z44}@K4pWK~!kDv(Q=vc~Ih%iVfLEBQtu*QnMs=r123Z=B($@ zdY^kc&Fi~FP=s9&G}ryYiD^te53GOY`BE=DoET~vfq!K+ca8$BhMfjeIsK!53aUin zNzvU(yF{ZZ5cXRO1*yCyTO1iMZ@j_U22swv`Nmq+fBllm_!c>Lp6D_%(c>naFp`o$#`3xn}WgeUcvZNK2tos`MEU!!>7 zE$jr0!qb!bLDP2(H2Iyu++@v)a(*WYk_PlIqZztUAfv@1n-$mUphED_g3Cb4G( zj7M6TZVU;oUv~#-q29T>?Nqg*nk5{oV*2ZVcD{p6F7gvPIYqF^Z@Pa_IQ@Bq5|Oee z0_H6rbZbv!jy;`h8s%rWSX6J}u&FYoG~Tjg=xE=45*6t4DD|~b8Gmi|^_ho2Lc!!a zQg)58u)OwP=0ZV0dea0Rz!VaePZic&V7#Ipm+`LYG8PG}sU#)0fuzSJzQdlA5Jb@f z&<*|IT~U;|X&msKLz5PQEZjiEWAI^PJ}aNs;(fjFqs5j~ggv)hC7RHLA_OWzs&X`P~%XAqF8{f#>wyq}P8w^-MZbSUcK%`AQnQ=K6nUixYf@PZXVZMGP_! zHPFEeSB?7(aMdY~0-$7pZ>LNuALXh4KX{~e&B{)-UCf(_wvu;pgof&HVYc5`QTDEg zCHegl>vC@Umj}=dT3z@g-=U{QvzT|#E%2UHEC2brPVpn(p_T^l@+jcCRvhp%MweH|2C|x%|1c{8S%kzc=pzH^y%Lmg(Al zAvFyFvl4dB>lc(AD%IMSLAD#aq1jfelC^o4A91LX{Qf@Q>|JtS z1?2UYI|HXG5RQ!`8hM0#NyCN5X)PH!%Ny}jsW~ei5#1K2b@3&kBW=b(r^{GAxX1+_ zM)SW@YVi2GS@XV-Kw&Xrs;3=XD?6@l>)n#Gb3UAp2MWhBa^BR7F^ON<#>)U#W`y=~ ze{X_q%$s%ns>(pZFwiiG_={~c$j`dIAH;kwP?_wb>mXY=i5qQf2S{B>t}6N!_z(`2 ztqLWoL7kcD4GHPH@vMuI!^~T#Vya*FZ$M|!_}%YS>=WgxX>c?tn&IF%5a;ZWEVSHC z_T))Wen0P361-t&cI!It>aX#W`Fb>lt+av)9lRDBWEeO7O)o;Ew*pVw&oaQqqiNk+ zX-rRu!Bn4$iGxoIVGTBs$q8?Mc1Df*O$2Jb=W$Ct)jcep_cosgk*IzyWRt>XS*5V^ zZ*yL=xqaW;MrG)}QP`-vDSZO{B(_DV7I`UOUv?|F#a3g-F9C}m2jXXEG3qcd~WGn=QI=gXsp@d_lU zLAAH5MN%9xjBeg_fU7 zKJr%jyKdgg1~9(cY}#A}_o^K#XSh%J0g_t2<_|Om4 z_%zQmb%_(v)hvz46TujH{e8%65cnWt{^p`&WB-cL;oQUAcZ|00=i$457`&cZy=Nc+ z3=MW^IKjJ^o-I!sq4s9@eZ+#uitOjKjTMjtZPq`{B&vQK=4NE(e%pB*t9iV(<|K{kB?0yCA z)!))@C3??$Gs)Uot9IPf-Few8t$#mrcOT5zU6?4AO$VeMa_z&Z9okU3^;^;Jg-ouk z7h!1A%x$@5oO+bf{jLnM_Sw7j3iR#F>V}tMAT?g&kHCX~g&O?2v@B}SkV5K zfO_d;wHa82j?ls>DqvQp<;aK-b3dFP0?iTUdXMp|RC2Dup>S z{c}GtjB)`n`!TD1Yp*-vPlX)*3>1QAS6>fHe+8KQr2pRGI0qYlCi1-ip^f54_K|(% zlG|Hxa)fKZTzJC}>e%ABu&-yfa$>@w+mprL zv|b__8%OEK`kd&G|?(^}Lb37oB3d1@`GC;)@OjO4Pa5t@~{ zXT1;>U|IW6DWvzaXR~0XW>KFuTGv8P^l2^!t#zbXGQd0OPkNA=8fZZZEL8&vy%n_z zh^e(HhAN-?{VpBn`X`hgZ2}tN$mM9?NE89%zU?`8sC)84Hr-rkJ-0#iq@@d06A{tZ ziQgImLHOTIf|l^Aijf*WGq6;B*OHTo#7>V$!jr05&!Mq{lXG;o{oWDoBQ6|ONNp0e5-6ov65%FTHVdA{*Zg!D zv}(>s5Vaoh zpxAk3HZy-vcqG9;eH>%v^7PRBK(&2ih6}x6BzZK3C5*0ZT=mC`o~TUdFA5QC?cTqR zCfb7$QjQ$g=g?srCp-r|rx6R=2Uy=NIFQ)Iy9gw*pocT}sFD0sI-dkTLX!6omCDeO z@~|&1DopfFbXwz$LrQFND(+89(oyV2IQiJzt9LPH?l}Z-jDnWgTBEl6*|KH~neBu( z6?u9YC_&nq7tTmY6+C@fAVN3Ui(UAG9wIjZ?=Q)Qxb+J#BNX~2{>Y*EZ)IwHAUb}? z%3pNXKijZ)K!XQiP~fG$GxH>k3h#vZ!Vv`A#5-gXs86wcIkA+r<3u#6jtz7f<$bg8 z%X=N4u9cr!*q}+PKl8@|H7{lbx5HJ%wz@*)&&4a&Kajvs7?7s@Y)G{PWv~A&v*bUN zLQYoZVdICvvy5;DwS*sQ1Qz{wgSLo4lT%;Jeg{xuF}ESHPmUV~CNd5FRA9QOuaVgZ zY}loq*CVj7s*aRu;gMFGS$8=x^=dF^j~uDFNVuA9NO#IqM#iR4iDZ1Nvv)g;_|QMO zA0%6`yz_SB`nxVdflyc1&;48qPJzr*>%qNLDa$PWuI2-|Wrfr&M!w0Bk&Q~m?B*QJ z3*7jNgB(U>0Vm$)3uB9@>R3k}i(S4bTS}Y#`~bc)F#Z{owRlTBO2*xr;|#v#8~j!j zhOs%f$Uo_)&g2ji`>QQ^+p%o1Vv|36&^GbX^BfeXvtKka=0OcbgN#b3mb<^uhGxZ3 z{@QGS9GM@QOo<90b>TTNh;qrcCl-|H$!~3`y~62kwR*jk>K9J*hiFBgm+9N= z?V3A;FHuF2lPT;S= ziCExMakTgmhh)3*a5A@)C13hUJ3eyZ2(Ylf+TCYgE zxRX<+BhOWZXd5O%^du*)Ti9&#Syls1n^{(bGE*B9J~BoBkg%lmDBwy>u)I8me_w*b z9fz>``{#I-IMt9bY{Xw)=dWi{)?F3?!+zu22|{qSS|cVLnS&^`*5j_jEhB#hwFYch z)&}mRFf=!QMq_~a7;JEJid6A4m5_A${O*}*O1u8RnSk7X%{7&Osq71-ps=EC!XZ<> zDjQF1r6n0ob)NV|G@M6to!HS;ZrBQ*AYAAovq-|lPH0%|{L>TXc2bGt`Nx@T9d%>1 z2^qVY!>GDo2xr11e;{ff)aRSl=nU7C{ll;SPDC^|pngx%OGs>Q>Z}#YNW4ouSiW|x z>$vsnzf`0tSX#0Mzg$z7a3bsdUl>x#iOP=MZbUeyjZ(1fQ@Y3TPG6r6?73hiHAQz7 zwp47XPOU%ImVy@V;CZ_ZcX2&zIBYeof~3SZao#Jj_b{ipONmYsC?~R7QXK2AR_2YU zE*c1bjnpxi(&zqt(HtDXiqtWz{F^69BjHBd&ClH#qYR_QkLdZ|rYg6-`-l(Xhs;I< zM3H{cpwWyGSev1QZ%8W^=twT%6gb{AvLOcEsNX)*GV16IVhb3}tbDbr?f9iNz-O8D z$PSz|V~&YefdJ80dLyBB2jo7+19&iJN-^kz9wj)W$R4l;Z7 z^4+p((>%G7NU_1pYd0YJgH^>8d6kJ_xf~{2V-2Btdsr9?s6RULU9T zTj_!|UD|G?oT|TK+V-Ke=qRf?<@p(*Tvd*O%m~~>U6s|#w+=~3sp`SMf)r!6z&NGK zTNT@=4}DL`ga!yq-S?uhD0bO8joH!57fq+avyvBa{T0{W+miJTAw*Wn*E;D3j4DPU z{K@-C=vDrzItNJz8FnkeVrpQUggxeOm|Ful+=<_d5+BdqSSFZkv&~`;>ZT6H`UP)< ztV#0^@SLD1CEXBH8V~k7{tDi+_w9ALEs1a<$~II7oo|pFM`pqQ!(LkfC7M}q*@Z=aD1iy+MUS?Fk`@k4 zfpqI{^ZB?~b1~Gc;9tPqG}F{S{tR+kGJIF$5)v;usZrjK$U)Q?Rf*pC8eqq_c|H^QTC#L=|%r&2leUCuNoimsvZuS1OhLa zDz6}u+U;^*IEx4jPL;@v07@}rU-x^9I074Gt@(m`U%y3dRF7?k*d`qnE3w$mr?_9TFFIIDd(rMEzjzjPKt4C((D$XjA z4fpiilz~+vP(YJ?h7NV0xvcU0{_qEu9}&AUrxv`I51&5Fo#lE*emsk_RmAYR-Z(fZ z9E#z)+xR*h$1LX@8^|`Bgs0)z<3erK}sKUr+a6SiB zI5nuzZagmO=g{Do31j7En`%xOlk|ioM|m$KFhDjc68LXO%iIVwA8tS1Mpe@>$j#ZR zeZ4!aDAI(X&6eO#zZwvwJGT9HYpaC+bBNtVH$JORICDBBf5G`yYZd-(k8#@Yg14kK{6tgfyMx0 z%!MRqcZ_bGW;KLO>F*UFN)RlRMeMkj1$TW{DN#Q~N5H~F)nL=Rc^H|%vO)Tk)C&%nwAa;nGPy((p{$Pqhj-WEIn?z z*z0VI<@hwW3$TEXkAy^A#llqm_=b{X*aPOE}XItca405T;tokkPvrxvjrL z+7CwPzv^Mx{e${+uKHE2J;F=R_qW^InscKksX1z%eaBQS9oAcIYH&lXJ8wuikpH8a ze6UvES?Lw+od-+Dum)PL74Z7PSJ}GF#!7;ZH47|Ufjo%lc|(nac6IotX(DT6*JBG< zN*}MRe&2g@nBiSQ(?$t`T^vWJh#v-8k=3r=hDn>r7Ovdkp^wWM-e1j1e=@RiGr|4y zx@ITHq6!f@4s`zq)8N>QOqkn5FVL(DbZfygLPC{S;ic?H4)a|HvV|AB5V6Z zgvtvwX9)eevn`x+EfNHN<+2B!3X9`<`CbNz`9WeD0Rin|N3Csckz=}2$2w&jx<^3ef+1H82zdVjj<_Wqe>)t7A-!_YCXJJ(|Pqvveo&5Eg@-j z`51eb)AiOGtbkQPvr+R>W5Yn0=ERWd`QoKZCJF4m+kO_`W!c3E((krG)vT;xv>Zpj zCqpXIu4&QpA7n;Y(ER9htn=ixhea)#&3S4(*>_VBdOwIHpkObm@F+a;RshJ7${I71 zTx~a__EVyk^Sh~dwo}R5khj666k^r``p;v=Niou!+_48@2}8)d7)14No;`4yZ-%!j zvAM5tI9d?-m>cx8X`(pB$88+O_jIjvM3msQo_1_3zMiBmmK!Z`J&i6UM;Yy$5q|II z0DbpVXLkMO-=Zh*?fDkrY2#v}fgv*kl+n@l?_}+R+?g)F55Ld9o1>w`Z@g{ayzj3s z&MM^?GC{f-?LO}A-uL-`_Yz&#{yN_&NxOb~xO_Tlk^AUXBkw||!xM@J2EQLg{q5(}3Pk!QYp^FJAmk#_(9 diff --git a/midterm/report/report.xdv b/midterm/report/report.xdv deleted file mode 100644 index 6858fa5ceafa8e5e35458910728549b906489c57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67048 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ưjpko_s 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 diff --git a/README.md b/project/README.md similarity index 100% rename from README.md rename to project/README.md diff --git a/final/code/main.py b/project/final/code/main.py similarity index 100% rename from final/code/main.py rename to project/final/code/main.py diff --git a/final/code/requirements.txt b/project/final/code/requirements.txt similarity index 100% rename from final/code/requirements.txt rename to project/final/code/requirements.txt diff --git a/final/code/test_results_600k.zip b/project/final/code/test_results_600k.zip similarity index 100% rename from final/code/test_results_600k.zip rename to project/final/code/test_results_600k.zip diff --git a/final/notes/automatingParametersTesting.txt b/project/final/notes/automatingParametersTesting.txt similarity index 100% rename from final/notes/automatingParametersTesting.txt rename to project/final/notes/automatingParametersTesting.txt diff --git a/final/report/distance_auto.png b/project/final/report/distance_auto.png similarity index 100% rename from final/report/distance_auto.png rename to project/final/report/distance_auto.png diff --git a/final/report/distance_cosine.png b/project/final/report/distance_cosine.png similarity index 100% rename from final/report/distance_cosine.png rename to project/final/report/distance_cosine.png diff --git a/final/report/distance_euclidean.png b/project/final/report/distance_euclidean.png similarity index 100% rename from final/report/distance_euclidean.png rename to project/final/report/distance_euclidean.png diff --git a/final/report/distance_manhattan.png b/project/final/report/distance_manhattan.png similarity index 100% rename from final/report/distance_manhattan.png rename to project/final/report/distance_manhattan.png diff --git a/final/report/precision_metric.png b/project/final/report/precision_metric.png similarity index 100% rename from final/report/precision_metric.png rename to project/final/report/precision_metric.png diff --git a/final/report/precision_neighbor.png b/project/final/report/precision_neighbor.png similarity index 100% rename from final/report/precision_neighbor.png rename to project/final/report/precision_neighbor.png diff --git a/final/report/report.pdf b/project/final/report/report.pdf similarity index 100% rename from final/report/report.pdf rename to project/final/report/report.pdf diff --git a/final/report/report.tex b/project/final/report/report.tex similarity index 100% rename from final/report/report.tex rename to project/final/report/report.tex diff --git a/final/report/user_rating.png b/project/final/report/user_rating.png similarity index 100% rename from final/report/user_rating.png rename to project/final/report/user_rating.png diff --git a/midterm/code/main.py b/project/midterm/code/main.py similarity index 100% rename from midterm/code/main.py rename to project/midterm/code/main.py diff --git a/midterm/code/requirements.txt b/project/midterm/code/requirements.txt similarity index 100% rename from midterm/code/requirements.txt rename to project/midterm/code/requirements.txt diff --git a/midterm/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf b/project/midterm/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf similarity index 100% rename from midterm/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf rename to project/midterm/report/KLISZKO_RUDNICKI_MIDTERM_EARIN.pdf diff --git a/midterm/report/execution_time.png b/project/midterm/report/execution_time.png similarity index 100% rename from midterm/report/execution_time.png rename to project/midterm/report/execution_time.png diff --git a/midterm/report/report.tex b/project/midterm/report/report.tex similarity index 100% rename from midterm/report/report.tex rename to project/midterm/report/report.tex diff --git a/midterm/report/user_rating.png b/project/midterm/report/user_rating.png similarity index 100% rename from midterm/report/user_rating.png rename to project/midterm/report/user_rating.png diff --git a/preliminary/preliminary.pdf b/project/preliminary/preliminary.pdf similarity index 100% rename from preliminary/preliminary.pdf rename to project/preliminary/preliminary.pdf diff --git a/preliminary/report.tex b/project/preliminary/report.tex similarity index 100% rename from preliminary/report.tex rename to project/preliminary/report.tex diff --git a/projectMaterials/EARIN - Daniel Marczak project guidelines.pdf b/project/projectMaterials/EARIN - Daniel Marczak project guidelines.pdf similarity index 100% rename from projectMaterials/EARIN - Daniel Marczak project guidelines.pdf rename to project/projectMaterials/EARIN - Daniel Marczak project guidelines.pdf diff --git a/projectMaterials/EARIN Project Instruction.pdf b/project/projectMaterials/EARIN Project Instruction.pdf similarity index 100% rename from projectMaterials/EARIN Project Instruction.pdf rename to project/projectMaterials/EARIN Project Instruction.pdf diff --git a/projectMaterials/Project 18 - Anime recommender.pdf b/project/projectMaterials/Project 18 - Anime recommender.pdf similarity index 100% rename from projectMaterials/Project 18 - Anime recommender.pdf rename to project/projectMaterials/Project 18 - Anime recommender.pdf diff --git a/projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx b/project/projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx similarity index 100% rename from projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx rename to project/projectMaterials/Project Assignments to teams (EARIN 2023L).xlsx