{"id":146,"date":"2021-11-19T01:32:11","date_gmt":"2021-11-18T23:32:11","guid":{"rendered":"https:\/\/blogit.xamk.fi\/datalab\/?p=146"},"modified":"2021-11-19T13:26:12","modified_gmt":"2021-11-19T11:26:12","slug":"reddit-datan-keraaminen-r-wallstreetbets-alaredditista","status":"publish","type":"post","link":"https:\/\/blogit.xamk.fi\/datalab\/2021\/11\/19\/reddit-datan-keraaminen-r-wallstreetbets-alaredditista\/","title":{"rendered":"Reddit-datan ker\u00e4\u00e4minen r\/wallstreetbets alaredditist\u00e4"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><strong>Kymmenell\u00e4 rivill\u00e4 koodia joista osa on turhia<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>T\u00e4ss\u00e4 blogitekstiss\u00e4 kerrotaan miten redditist\u00e4 voi ker\u00e4t\u00e4 dataa k\u00e4ytt\u00e4m\u00e4ll\u00e4 yksinkertaista python ohjelmaa. Sen k\u00e4ytt\u00f6 ei vaadi koodausosaamista, riitt\u00e4\u00e4 jos osaa tehd\u00e4 python asennuksen ja avata tiedoston mukana tulevalla ty\u00f6kalulla.<\/p>\n\n\n\n<p>Datan ker\u00e4\u00e4miseen tarvitaan siis python-ohjelmointikielen asennus tietokoneelle. K\u00e4tev\u00e4n ja jokseenkin p\u00f6h\u00f6ttyneen ratkaisun tarjoaa Anaconda ja sen voi asentaa tietokoneelleen <a rel=\"noreferrer noopener\" href=\"https:\/\/www.anaconda.com\/products\/individual\" target=\"_blank\">t\u00e4\u00e4lt\u00e4.<\/a> <\/p>\n\n\n\n<p>Kun k\u00e4rmes on asennettu, voidaan siirty\u00e4 datan ker\u00e4\u00e4miseen. T\u00e4ss\u00e4 esimerkiss\u00e4 k\u00e4ytet\u00e4\u00e4n Pushshift APIa sek\u00e4 sille r\u00e4\u00e4t\u00e4l\u00f6ity\u00e4 python kirjastoa nimelt\u00e4 psaw. Jos ei jaksa lukea blogiteksti\u00e4 niin koodi l\u00f6ytyy datalabin githubista <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/Xamk-DataLAB\/Reddit-pushshift-pandas\/blob\/main\/Pushshift%20API%2Bpsaw.ipynb\" target=\"_blank\">t\u00e4\u00e4lt\u00e4<\/a>. <\/p>\n\n\n\n<p>Psaw-kirjasto t\u00e4ytyy asentaa  ennen sen k\u00e4ytt\u00e4mist\u00e4. Anacondan (ja v\u00e4hemm\u00e4n p\u00f6h\u00f6ttyneen minicondan) mukana tulee python pakettien asentaja nimelt\u00e4 pip, ja tarvittavan paketin voi asentaa kirjoittamalla anacondan komentoriville komento <code><kbd>pip install psaw<\/kbd><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"309\" height=\"344\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Untitle.png\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Untitle.png 309w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Untitle-269x300.png 269w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><figcaption>anaconda komentorivin k\u00e4ynnistys windows koneella<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vihko<\/strong><\/h2>\n\n\n\n<p>Koodi on kirjoitettu internet-selaimessa py\u00f6riv\u00e4\u00e4n Jupyter-vihkoon. Sen voi k\u00e4ynnist\u00e4\u00e4 joko anacondan valikosta tai kirjoittamalla <kbd>jupyter notebook<\/kbd> promptiin. Githubista l\u00f6ytyv\u00e4n vihkon voi avata omalla koneella ja tehd\u00e4 redditiin hakuja muuttamalla hakuparametrej\u00e4 mieleisekseen (ja lis\u00e4\u00e4m\u00e4ll\u00e4 uusia). Pushshift API tarjoaa useita tapoja rajata haettavaa dataa. Esimerkiksi parametrill\u00e4 <kbd>q<\/kbd> voi postauksen otsikkoon tai tekstiin kohdistaa sanahakuja, mutta t\u00e4ss\u00e4 k\u00e4ytet\u00e4\u00e4n vain seuraavia parametrej\u00e4: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><kbd>after<\/kbd>: ajankohta jonka j\u00e4lkeen postauksia haetaan (VVVV-KK-PP)<\/li><li><kbd>before<\/kbd>: ajankohta johon asti postauksia haetaan<\/li><li><kbd>subreddit<\/kbd>: alareddit josta haetaan<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"288\" height=\"158\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/iii.png\" alt=\"\" class=\"wp-image-150\" \/><figcaption>testihaussa k\u00e4ytetyt hakuparametrit jupyter vihkossa<\/figcaption><\/figure>\n\n\n\n<p>Haku tehd\u00e4\u00e4n postausten (submission) endpointiin ja kohdennetaan r\/wallstreetbets alaredditiin. Se on aktiivinen yhteis\u00f6 joka tunnetaan mm. \u00e4killisest\u00e4 innostuksesta ostaa Gamestop-yrityksen osaikkeita alkuvuodesta 2021. <\/p>\n\n\n\n<p>Testiss\u00e4 haetaan postauksia puolentoista kuukauden ajalta lokakuun alusta marraskuun puoleenv\u00e4liin 2021 ja niit\u00e4 l\u00f6ytyi hieman yli 41 000, eli n.900 kpl\/p\u00e4iv\u00e4. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/screenshot_20210128-204802-1024x576.jpg\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/screenshot_20210128-204802-1024x576.jpg 1024w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/screenshot_20210128-204802-300x169.jpg 300w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/screenshot_20210128-204802-768x432.jpg 768w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/screenshot_20210128-204802-1200x675.jpg 1200w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/screenshot_20210128-204802.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Nopeata tarkastelua varten postausten data laitetaan Pandas-kirjaston avulla luotuun taulukkoon. Esimerkiss\u00e4 taulukko on nimetty nimell\u00e4 df, joka on lyhenne sanoista DataFrame. Pandas kirjasto l\u00f6ytyy valmiina anacondasta. Taulukon voi muuttaa helposti esimerkiksi csv-tiedostoksi komennolla <kbd>df.to_csv('myRedditDataCsv.csv')<\/kbd><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Palkkikaavio<\/h2>\n\n\n\n<p>Seuraavaksi dataa analysoidaan v\u00e4rikk\u00e4\u00e4ll\u00e4 palkkikaaviolla. Redditiss\u00e4 postauksella voi olla &#8221;flair&#8221; joka on k\u00e4ytt\u00e4j\u00e4n sille lis\u00e4\u00e4m\u00e4 luokittelu ja josta k\u00e4y ilmi postauksen aihe. Joissain alaredditeiss\u00e4 sellainen vaaditaan kun taas joissain sit\u00e4 ei k\u00e4ytet\u00e4 ollenkaan. Ker\u00e4tyss\u00e4 datassa flair on muuttuja nimelt\u00e4 <kbd>\"link_flair_text<\/kbd>&#8221; ja pandas-taulukosta voi nopeasti tarkastaa, ett\u00e4 ker\u00e4tyiss\u00e4 postauksissa kyseinen sarake saa vain 15 Null -arvoa. T\u00e4m\u00e4 kertoo siit\u00e4 ett\u00e4 kyseisess\u00e4 alaredditiss\u00e4 postausten merkitseminen flairilla on todenn\u00e4k\u00f6isesti pakollista.<\/p>\n\n\n\n<p>Eri flairien m\u00e4\u00e4r\u00e4t on visualisoitu aina trendikk\u00e4\u00e4ll\u00e4 palkkikaaviolla.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"625\" src=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17-1024x625.png\" alt=\"\" class=\"wp-image-149\" srcset=\"https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17-1024x625.png 1024w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17-300x183.png 300w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17-768x469.png 768w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17-1536x938.png 1536w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17-1200x733.png 1200w, https:\/\/blogit.xamk.fi\/datalab\/wp-content\/uploads\/sites\/56\/2021\/11\/Na\u0308ytto\u0308kuva-2021-11-19-kello-0.41.17.png 1624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>flairien m\u00e4\u00e4r\u00e4rt ker\u00e4tyiss\u00e4 postauksissa<\/figcaption><\/figure>\n\n\n\n<p>Tuloksista n\u00e4kee, ett\u00e4 flaireja on postausten m\u00e4\u00e4r\u00e4\u00e4n n\u00e4hden v\u00e4h\u00e4n, mik\u00e4 todenn\u00e4k\u00f6isesti johtuu siit\u00e4 ett\u00e4 ne valitaan valmiista listasta eik\u00e4 niit\u00e4 voi keksi\u00e4 itse. <\/p>\n\n\n\n<p>Koodi l\u00f6ytyy siis Xamkin datalabin <a href=\"https:\/\/github.com\/Xamk-DataLAB\/Reddit-pushshift-pandas\/blob\/main\/Pushshift%20API%2Bpsaw.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">githubista<\/a>. Onnistuneen python asennuksen j\u00e4lkeen koodia voi py\u00f6ritt\u00e4\u00e4 omalla koneella painamalla play-nappia. API:n avulla voi selvitt\u00e4\u00e4 esimerkiksi miten monta kertaa iltasanomien url on jaettu Redditiss\u00e4,ker\u00e4t\u00e4 kaikki kuva-urlit r\/historymemes -yhteis\u00f6st\u00e4 tai vaikka kaikki koronamegaketjuihin tehdyt kommentit. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kymmenell\u00e4 rivill\u00e4 koodia joista osa on turhia Python T\u00e4ss\u00e4 blogitekstiss\u00e4 kerrotaan miten redditist\u00e4 voi ker\u00e4t\u00e4 dataa k\u00e4ytt\u00e4m\u00e4ll\u00e4 yksinkertaista python ohjelmaa. Sen k\u00e4ytt\u00f6 ei vaadi koodausosaamista, riitt\u00e4\u00e4 jos osaa tehd\u00e4 python asennuksen ja avata tiedoston mukana tulevalla ty\u00f6kalulla. Datan ker\u00e4\u00e4miseen tarvitaan siis python-ohjelmointikielen asennus tietokoneelle. K\u00e4tev\u00e4n ja jokseenkin p\u00f6h\u00f6ttyneen ratkaisun tarjoaa Anaconda ja sen voi asentaa [&hellip;]<\/p>\n","protected":false},"author":231,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-146","post","type-post","status-publish","format-standard","hentry","category-yleinen"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts\/146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/users\/231"}],"replies":[{"embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":10,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/posts\/146\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogit.xamk.fi\/datalab\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}