{"id":89206,"date":"2020-07-20T07:41:57","date_gmt":"2020-07-20T05:41:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh"},"modified":"2020-07-20T07:41:57","modified_gmt":"2020-07-20T05:41:57","slug":"chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh","title":{"rendered":"Mis v\u00f5ib Data Science'iga valesti minna? Andmete kogumine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510944\/\"><img decoding=\"async\" alt=\"Mis v\u00f5ib Data Science&#039;iga valesti minna? Andmete kogumine\" src=\"\/wp-content\/uploads\/2020\/07\/49fb91fc3e45754e437b2c1fc4fec12f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\nT\u00e4na on olemas 100500 Data Science'i kursust ja on ammu teada, et enamasti teenitakse k\u00f5ige rohkem raha just Data Science'i kursustega (miks kaevata, kui saab m\u00fc\u00fca labidaid?). Peamine probleem nende kursustega on see, et need ei oma mingit seost tegeliku t\u00f6\u00f6ga: keegi ei anna teile puhtaid, t\u00f6\u00f6deldud andmeid \u00f5iges vormingus. Ja kui te v\u00e4ljud kursustelt ja hakkate lahendama p\u00e4ris probleemi \u2014 ilmnevad paljud n\u00fcansid.<\/p>\n<p>Seet\u00f5ttu alustame artiklite sarja \"Mis v\u00f5ib Data Science'is valesti minna\", mis p\u00f5hinevad t\u00f5eliselt juhtunud juhtumitel, mis on juhtunud minuga, minu s\u00f5prade ja kolleegidega. Toome v\u00e4lja reaalseid n\u00e4iteid t\u00fc\u00fcpilistest Data Science'i \u00fclesannetest: kuidas see tegelikult toimub. Alguses k\u00e4sitleme andmete kogumise \u00fclesannet.<\/p>\n<p>Ja esimene, millele inimesed, kes hakkavad t\u00f6\u00f6tama reaalsete andmetega, komistavad \u2014 on tegelikult nende asjakohaste andmete kogumine. Selle artikli p\u00f5hikohustus:<\/p>\n<blockquote><p><b>Me alahindame j\u00e4rjepidevalt aega, ressursse ja pingutusi andmete kogumiseks, puhastamiseks ja ettevalmistamiseks.<\/b><\/p><\/blockquote>\n<p>\nJa olulisem, arutame, mida teha, et seda v\u00e4ltida.<\/p>\n<p>Erinevate hinnangute kohaselt kulub andmete puhastamiseks, t\u00f6\u00f6tlemiseks, omaduste inseneriks ja muuks 80-90% ajast, samas kui anal\u00fc\u00fcs v\u00f5tab vaid 10-20%, kuigi peaaegu kogu \u00f5ppeaine keskendub ainult anal\u00fc\u00fcsile.<\/p>\n<p>Vaatame, kuidas \u00fcks t\u00fc\u00fcpiline anal\u00fc\u00fcsik \u00fclesanne lahendada kolme variandi kaudu ja n\u00e4eme, millised on \u201ekergitavad asjaolud\u201d.<\/p>\n<p>Ja n\u00e4iteks vaatame sarnaseid andmete kogumise ja kogukondade v\u00f5rdlemise \u00fclesande variatsioone:<\/p>\n<ol>\n<li>Kahte Redditi alafoorumit<\/li>\n<li>Kahte Habra jaotust<\/li>\n<li>Kahte Klassikaaslaste gruppi<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Lihtne l\u00e4henemine teooriast<\/h2>\n<p>\nAvage veebisait ja lugege n\u00e4iteid, kui on arusaadav, kulutage paar tundi lugemisele, paar tundi koodi n\u00e4idetes ja silumisele. Lisage paar tundi kogumiseks. Lisage paar tundi varuks (korrutage kaheks ja lisage N tundi).<\/p>\n<p><b>Peamine punkt: ajahinnang p\u00f5hineb oletustel ja oletustel selle kohta, kui kaua see aega v\u00f5tab.<\/b><\/p>\n<p>Aja anal\u00fc\u00fcsi alustamiseks on oluline hinnata j\u00e4rgmisi parameetreid eelnevalt kirjeldatud tingimusliku \u00fclesande puhul:<\/p>\n<ul>\n<li>Milline on andmete maht ja kui palju neid tuleb f\u00fc\u00fcsiliselt koguda (*vt allpool*).<\/li>\n<li>Kui kaua \u00fche kirje kogumine aega v\u00f5tab ja kui kaua tuleb oodata, enne kui saab teise koguda.<\/li>\n<li>Koodimise kirjutamine, mis s\u00e4ilitab oleku ja alustab taask\u00e4ivitamist, kui (mitte kui) k\u00f5ik kokku kukub.<\/li>\n<li>Tuleb v\u00e4lja selgitada, kas meil on vaja autoriseerimist ja arvestada API juurdep\u00e4\u00e4su saamise aega.<\/li>\n<li>Tuleb arvestada vigade arvu kui andmete keerukuse funktsiooni \u2014 hinnata konkreetse \u00fclesande p\u00f5hjal: struktuur, kui palju teisendusi, mida ja kuidas ekstraktime.<\/li>\n<li>Tuleb arvestada v\u00f5rgu vigu ja probleeme projekti mittestandardse k\u00e4itumisega.<\/li>\n<li>Hinda, kas vajalikud funktsioonid on dokumentatsioonis, ja kui need pole olemas, siis kui palju on vajalik lahenduse leidmiseks.<\/li>\n<\/ul>\n<p>\nK\u00f5ige olulisem, mida ajakava hindamiseks arvesse v\u00f5tta \u2014 peate tegelikult kulutama aega ja pingutust \u201etaktikalise uuringu\u201d jaoks \u2014 alles siis on teie planeerimine adekvaatne. Seega, kui teid survestatakse \u00fctlema \u201ekui palju aega on andmete kogumiseks vajalik\u201d \u2014 leidke aega eelanal\u00fc\u00fcsiks ja p\u00f5hjendage, kui palju aega see tegelikult s\u00f5ltub \u00fclesande tegelikest parameetritest.<\/p>\n<p>Ja n\u00fc\u00fcd demonstreerime konkreetseid n\u00e4iteid, kus sellised parameetrid muutuvad.<\/p>\n<p><b>Peamine punkt: hindamine p\u00f5hineb v\u00f5tmetegurite anal\u00fc\u00fcsil, mis m\u00f5jutavad t\u00f6\u00f6mahtu ja keerukust.<\/b><\/p>\n<p>Hinnang, mis p\u00f5hineb oletustel, on hea l\u00e4henemine, kui funktsionaalsed elemendid on piisavalt v\u00e4ikesed ja tegureid, mis v\u00f5ivad oluliselt m\u00f5jutada \u00fclesande struktuuri, ei ole palju. Kuid mitme Data Science'i \u00fclesande puhul muutub selliste tegurite arv \u00e4\u00e4rmiselt suureks ja selline l\u00e4henemine osutub sobimatuks.<\/p>\n<h2>Redditi kogukondade v\u00f5rdlemine<\/h2>\n<p>\nAlustame k\u00f5ige lihtsamast juhtumist (nagu hiljem selgub). \u00dcldiselt, kui olla t\u00e4iesti aus, on meil peaaegu ideaalne juhtum, vaatame meie keerukuse kontrollnimekirja:<\/p>\n<ul>\n<li>Olemas on korralik, arusaadav ja dokumenteeritud API.<\/li>\n<li>Nii lihtne ja mis k\u00f5ige t\u00e4htsam, saadakse automaatselt token.<\/li>\n<li>On <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/praw-dev\/praw\">python wrapper<\/a><\/noindex> \u2014 koos hulga n\u00e4idistega.<\/li>\n<li>Kogukond, mis tegeleb Redditis andmete anal\u00fc\u00fcsi ja kogumisega (kuni YouTube'i videodeni, mis selgitavad, kuidas kasutada python wrapperit) <noindex><a rel=\"nofollow\" href=\"https:\/\/www.programcreek.com\/python\/example\/86599\/praw.Reddit\">siin n\u00e4iteks<\/a><\/noindex>.<\/li>\n<li>Vajalikud meetodid eksisteerivad t\u00f5en\u00e4oliselt API-s. Veelgi enam, kood n\u00e4eb v\u00e4lja kompaktne ja puhas, allpool on n\u00e4ide funktsioonist, mis kogub postituste kommentaare.<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"python\">def get_comments(submission_id):\n    reddit = Reddit(check_for_updates=False, user_agent=AGENT)\n    submission = reddit.submission(id=submission_id)\n    more_comments = submission.comments.replace_more()\n    if more_comments:\n        skipped_comments = sum(x.count for x in more_comments)\n        logger.debug('Skipped %d MoreComments (%d comments)',\n                     len(more_comments), skipped_comments)\n    return submission.comments.list()\n<\/code><\/pre>\n<p><i>V\u00f5etud <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/timendum\/reddit-utilities\/blob\/master\/thread-export.py\">sellest<\/a><\/noindex> mugavate utiliitide valik.<\/i><\/p>\n<p>Kuigi meil on parim v\u00f5imalik olukord, peaksime siiski arvestama mitme olulise teguriga reaalses elus:<\/p>\n<ul>\n<li>API piirangud \u2014 me peame andmeid koguma partiidena (undama p\u00e4ringute vahel jne).<\/li>\n<li>Kogumise aeg \u2014 t\u00e4ielikuks anal\u00fc\u00fcsiks ja v\u00f5rdlemiseks tuleb arvestada m\u00e4rkimisv\u00e4\u00e4rset aega, et lihtsalt spider saaks subreddit'i l\u00e4bi k\u00e4ia.<\/li>\n<li>Bot peab t\u00f6\u00f6tama serveris \u2014 te ei saa lihtsalt seda s\u00fclearvutis k\u00e4ivitada, seljakotti panna ja ringi minna. Seet\u00f5ttu k\u00e4ivitasin k\u00f5ik VPS-is. Kasutades kupongi habrahabr10, saab veel 10% soodustust.<\/li>\n<li>M\u00f5nede andmete f\u00fc\u00fcsiline k\u00e4tte saamata j\u00e4\u00e4mine (need on n\u00e4htavad administraatoritele v\u00f5i liiga keeruline koguda) \u2014 see tuleb arvesse v\u00f5tta, mitte k\u00f5ik andmed ei ole \u00fcldse m\u00f5istliku aja jooksul kergesti k\u00e4ttesaadavad.<\/li>\n<li>V\u00f5rgu t\u00f6\u00f6vead: v\u00f5rgu kasutamine on v\u00e4ljakutse.<\/li>\n<li>Need on elavad t\u00f5elised andmed \u2014 need ei ole kunagi puhtad.<\/li>\n<\/ul>\n<p>\nMuidugi tuleb arvestada k\u00f5iki mainitud n\u00fcansse arenduses. Spetsiifilised tunnid\/p\u00e4evad s\u00f5ltuvad arenduse kogemusest v\u00f5i sarnaste \u00fclesannetega tegelemise kogemusest, kuid me n\u00e4eme, et antud \u00fclesanne on puhtalt inseneritehniline ja ei vaja lisategevusi lahendamiseks \u2014 k\u00f5ike saab v\u00e4ga h\u00e4sti hinnata, planeerida ja teostada.<\/p>\n<h2>Habrakohtade v\u00f5rdlemine<\/h2>\n<p>\nLiigume edasi huvitavama ja ebatavalise juhtumi juurde, kus v\u00f5rreldakse vooge ja\/v\u00f5i Habrakohti.<\/p>\n<p>Kontrollime meie keerukuse kontrollnimekirja \u2014 siin, et m\u00f5ista iga punkti, tuleb natuke katsetada \u00fclesande enda kallal ja eksperimenteerida.<\/p>\n<ul>\n<li>Esialgu arvasite, et API on olemas, kuid seda ei ole. Jah, Habraklubi on API, kuid see on kasutajatele k\u00e4ttesaamatu (v\u00f5ib-olla ei t\u00f6\u00f6ta see \u00fcldse).<\/li>\n<li>Siis hakkate lihtsalt HTML-i parsimiseks \u2014 \"import requests\", mis v\u00f5ib valesti minna?<\/li>\n<li>Aga kuidas \u00fcldse parsida? Lihtsaim ja k\u00f5ige sagedamini kasutatav l\u00e4henemine on iteratsioon ID-de kaupa, m\u00e4rkides, et see ei ole k\u00f5ige t\u00f5husam ja peate k\u00e4sitlema erinevaid juhtumeid \u2014 n\u00e4iteks reaalse ID tihedus k\u00f5igi olemasolevate seas.\n<p><img decoding=\"async\" alt=\"Mis v\u00f5ib Data Science&#039;iga valesti minna? Andmete kogumine\" src=\"\/wp-content\/uploads\/2020\/07\/2c67fc14f672e92979edd617314210da.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>V\u00f5etud <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/218607\/\">sellest<\/a><\/noindex> artiklist.<\/i><\/li>\n<li>HTML-moodulite kaudu v\u00f5rgus olev tooreandmed on suureks vaevaks. N\u00e4iteks, kui soovite koguda ja salvestada artikli hinnangut: olete v\u00e4lja nopinud score HTML-ist ja otsustanud salvestada selle numbrina edasiseks t\u00f6\u00f6tlemiseks.\u00a0\n<p>1) int(score) tekitab vea: kuna \u0425\u0430\u0431\u0440'is on miinus, nagu n\u00e4iteks reas \"\u20135\" \u2014 see on l\u00fchike side, mitte miinusm\u00e4rgi m\u00e4rk (\u00fcllatav, eks?), seega pidi mingil hetkel parsi \u00fcles \u00e4ratama sellise kohutava fikseeringuga.<\/p>\n<pre><code class=\"python\">try:\n      score_txt = post.find(class_=\"score\").text.replace(u\"\u2013\",\"-\").replace(u\"+\",\"+\")\n      score = int(score_txt)\n      if check_date(date):\n        post_score += score\n<\/code><\/pre>\n<p>\nKuup\u00e4evasid, plusse ja miinuseid ei pruugi \u00fcldse olla (kui vaatame \u00fcle check_date funktsiooni ja selline on olnud).<\/p>\n<p>2) Eespool kodut\u00f6\u00f6de tulemusi peaks arvesse v\u00f5tma \u2014 nad tulevad, peate olema valmis.<\/p>\n<p>3) Struktuur muutub vastavalt postituse t\u00fc\u00fcbile.<\/p>\n<p>4) Vanematel postitustel v\u00f5ib olla **veider struktuur**.<\/li>\n<li>Sisuliselt tuleb vigu ja v\u00f5imalikke olukordi k\u00e4sitleda ning ei saa ette n\u00e4ha, mis v\u00f5ib valesti minna ja mis veel struktuur olla v\u00f5ib ning kust midagi v\u00e4lja kukub \u2014 tuleb lihtsalt proovida ja arvesse v\u00f5tta parseri visatud vigu.<\/li>\n<li>Siis m\u00f5istate, et andmeid tuleb t\u00f6\u00f6delda mitme t\u00f6\u00f6r\u00fchmaga, vastasel juhul kulub \u00fche-poolse t\u00f6\u00f6tlemise jaoks 30+ tundi (see on ainult olemasoleva \u00fche-poolse andmete t\u00f6\u00f6tleja t\u00f6\u00f6aeg, mis magab ja ei saa \u00fchtegi reegli rikkumist). <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/276383\/\">sellest<\/a><\/noindex> artiklis, viis see mingil hetkel sarnase skeemini:<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Mis v\u00f5ib Data Science&#039;iga valesti minna? Andmete kogumine\" src=\"\/wp-content\/uploads\/2020\/07\/9ad1853f3ee2c9321ee9f1a5e3efea7d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKokkuv\u00f5tteks kontrollnimekiri keerukuse kohta:<\/p>\n<ul>\n<li>T\u00f6\u00f6tamine v\u00f5rgu ja HTML andmete t\u00f6\u00f6tlemisega ID-de iteratsiooni ja genereerimise k\u00e4igus.<\/li>\n<li>Dokumendid on mitmekesise struktuuriga.<\/li>\n<li>Palju kohti, kus kood v\u00f5ib kergesti kukkuda.<\/li>\n<li>On vajalik kirjutada || kood.<\/li>\n<li>Puudub vajalik dokumentatsioon, koodin\u00e4idised ja\/v\u00f5i kogukond.<\/li>\n<\/ul>\n<p>\nKohandatud ajahinnang sellele \u00fclesandele on 3-5 korda suurem kui andmete kogumine Redditist.<\/p>\n<h2>V\u00f5rdlemine Odnoklassniki gruppidega<\/h2>\n<p>\nLiigume edasi k\u00f5ige tehniliselt huvitavama juhtumi juurde. Minu jaoks oli see huvitav just seet\u00f5ttu, et see n\u00e4eb esmapilgul piisavalt triviaalne v\u00e4lja, kuid ei ole nii \u2014 nii pea kui te sellesse puutikku l\u00fckkate.<\/p>\n<p>Alustame meie keerukuse kontrollnimekirjaga ja m\u00e4rkime, et paljusid neist osutuvad palju keerulisemaks, kui alguses tunduvad:<\/p>\n<ul>\n<li>API on olemas, kuid see on peaaegu t\u00e4ielikult vajalikke funktsioone ilma.<\/li>\n<li>M\u00f5nedele funktsioonidele on vajalik juurdep\u00e4\u00e4su taotlemine e-posti teel, seega ei ole juurdep\u00e4\u00e4s instantne.<\/li>\n<li>Dokumentatsioon on kohutav (alustame sellest, et k\u00f5ikjal segunevad vene ja ingliskeelsed terminid, t\u00e4iesti ebaj\u00e4rjekindlalt \u2014 m\u00f5nikord peate lihtsalt \u00e4ra arvama, mida teilt kuskil oodatakse) ning mis \u00fchtlasi ei sobi andmete hankimiseks disaini poolest, n\u00e4iteks <noindex><a rel=\"nofollow\" href=\"https:\/\/apiok.ru\/dev\/methods\/rest\/discussions\/discussions.getComments\">meile vajalik funktsioon<\/a><\/noindex>.<\/li>\n<li>N\u00f5uab dokumentatsioonis sessiooni, kuid reaalselt seda ei kasuta \u2014 ja pole mingit viisi, kuidas k\u00f5iki API re\u017eiimide n\u00fcansse selgeks saada, v\u00e4lja arvatud klikkida ja loota, et midagi t\u00f6\u00f6tab.<\/li>\n<li>Puuduvad n\u00e4ited ja kogukond, ainus tugikoht teabe kogumiseks on v\u00e4ike <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/alternativshik\/python-odnoklassniki\">wrapper<\/a><\/noindex> Pythonis (ilma suure hulga kasutusn\u00e4idisteta).<\/li>\n<li>T\u00f6\u00f6tav variant n\u00e4ib olevat Selenium, kuna paljud vajalikud andmed on lukustatud.<br \/>\n1) Autoriseerimine toimub fiktiivse kasutaja kaudu (ja registreerimine k\u00e4sitsi).<\/p>\n<p>2) Siiski ei ole Seleniumiga mingit garantiid korrektse ja korduva t\u00f6\u00f6 osas (v\u00e4hemalt ok.ru puhul kindlasti).<\/p>\n<p>3) Oks.ru veebisaidil on JavaScripti vigu ja see k\u00e4itub m\u00f5nikord kummaliselt ja ebaj\u00e4rjekindlalt.<\/p>\n<p>4) Hoolitseda on vajalik pagineerimine, elementide laadimine jne\u2026<\/p>\n<p>5) API vead, mida wrapper annab, tuleb kohandada, n\u00e4iteks \u0442\u0430\u043a (katkestus eksperimentaalkoodist):<\/p>\n<pre><code class=\"python\">def get_comments(args, context, discussions):\n    pause = 1\n    if args.extract_comments:\n        all_comments = set()\n#on m\u00f5istlik j\u00e4lgida juba t\u00f6\u00f6deldud arutelusid\n        for discussion in tqdm(discussions): \n            try:\n                comments = get_comments_from_discussion_via_api(context, discussion)\n            except odnoklassniki.api.OdnoklassnikiError as e:\n                if \"NOT_FOUND\" in str(e):\n                    comments = set()\n                else:\n                    print(e)\n                    bp()\n                    pass\n            all_comments |= comments\n            time.sleep(pause)\n        return all_comments\n<\/code><\/pre>\n<p>\nMinu lemmik viga oli:<\/p>\n<p><code>OdnoklassnikiError(\"Error(code: 'None', description: 'HTTP error', method: 'discussions.getComments', params: \u2026)\")<\/code><\/p>\n<p>6) L\u00f5ppkokkuv\u00f5ttes n\u00e4eb Selenium + API variant k\u00f5ige ratsionaalsem v\u00e4lja.<\/li>\n<li>On vajalik olekute s\u00e4ilitamine ja s\u00fcsteemi taask\u00e4ivitamine, paljude vigade t\u00f6\u00f6tlemine, sealhulgas veebisaidi ettearvamatu k\u00e4itumine \u2014 ja need vead on \u00fcsna keerulised ette kujutada (kui te ei kirjuta professionaalselt parsereid, loomulikult).<\/li>\n<\/ul>\n<p>\nAntud \u00fclesande ajahinnang on 3-5 korda k\u00f5rgem kui andmete kogumine Habrist. Kuigi Habriga t\u00f6\u00f6tades kasutame HTML-parsingu otse l\u00e4henemist, saame O\u041a puhul kriitilistes kohtades t\u00f6\u00f6tada API-ga.<\/p>\n<h2>J\u00e4reldused<\/h2>\n<p>\nKuigi te v\u00f5ite n\u00f5uda, et hindaksime m\u00f5istes \"kohapeal\" (meil on t\u00e4na planeerimine!) mahuka andmet\u00f6\u00f6tluse pipelini, on t\u00e4itmise aega praktiliselt v\u00f5imatu isegi kvaliteetselt hinnata ilma \u00fclesande parameetrite anal\u00fc\u00fcsimiseta. <\/p>\n<p>Kui r\u00e4\u00e4kida veidi filosoofilisemalt, siis agiilsed hindamisstrateegiad sobivad h\u00e4sti inseneritegevuste jaoks, kuid eksperimentaalsemate ning mingil m\u00e4\u00e4ral \"loominguliste\" ja uurimistegevustega, st v\u00e4hem ettearvatavate \u00fclesannetega, tekivad raskused, nagu n\u00e4idatud siinsetes n\u00e4idetes. <\/p>\n<p>Muidugi, andmete kogumine on lihtsalt elav n\u00e4ide \u2014 tavaliselt n\u00e4ib see \u00fclesanne uskumatult lihtne ja tehniliselt lihtne, kuid just detailides peitub sageli kurat. Ja just selle \u00fclesande kaudu on v\u00f5imalik n\u00e4idata kogu spektrit v\u00f5imalikke variante, mis v\u00f5ivad valesti minna, ja kui kaua v\u00f5ib t\u00f6\u00f6 venida. <\/p>\n<p>Kui kiiresti \u00fclesande omadustele pilk heita, tunduvad Reddit ja OK sarnased: m\u00f5lemal on API, Python'i wrapper, kuid tegelikult on erinevus tohutu. Kui neid parameetreid v\u00f5rrelda, siis Habr'i andmete kogumine tundub keerulisem kui OK \u2014 kuid tegelikult on vastupidi, ja seda saab selgeks teha, viies l\u00e4bi lihtsaid katseid \u00fclesande parameetrite anal\u00fc\u00fcsimiseks.<\/p>\n<p>Minu kogemuste kohaselt on k\u00f5ige t\u00f5husam l\u00e4henemine umbkaudne ajakava, mis p\u00f5hineb eelt\u00f6\u00f6l ja lihtsatel esimestel katsetel, dokumentatsiooni lugemisel \u2013 just need tegevused annavad v\u00f5imaluse teha t\u00e4pne hinnang kogu t\u00f6\u00f6 ulatusele. Populaarse agiilse metoodika terminoloogias palun, et luuakse mulle pilet \u201e\u00fclesande parameetrite hindamiseks\u201c, mille alusel saan hinnata, mida on v\u00f5imalik \u201esprintide\u201c raames rakendada ja anda t\u00e4psem hinnang iga \u00fclesande kohta.<\/p>\n<p>Seega tundub, et k\u00f5ige t\u00f5husam on argumendi esitlemine, mis n\u00e4itab \u201emitte-tehnilisele\u201c spetsialistile, kui palju v\u00f5ivad aja ja ressursside kulud varieeruda s\u00f5ltuvalt parameetritest, mida tuleb veel hinnata.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=param&amp;utm_content=datascience1#order\"><img decoding=\"async\" alt=\"Mis v\u00f5ib Data Science&#039;iga valesti minna? Andmete kogumine\" src=\"\/wp-content\/uploads\/2020\/07\/2ca567a078c8500d37dfcf982e76252c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510944\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 100500 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e Data Science \u0438 \u0434\u0430\u0432\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0433 \u0432 Data Science \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0443\u0440\u0441\u0430\u043c\u0438 \u043f\u043e Data Science (\u0437\u0430\u0447\u0435\u043c \u043a\u043e\u043f\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u043f\u0430\u0442\u044b?). \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0438\u043d\u0443\u0441 \u044d\u0442\u0438\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439: \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0447\u0438\u0441\u0442\u044b\u0435, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":89207,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-89206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 100500 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e Data Science \u0438 \u0434\u0430\u0432\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0433 \u0432 Data Science \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0443\u0440\u0441\u0430\u043c\u0438 \u043f\u043e Data Science (\u0437\u0430\u0447\u0435\u043c \u043a\u043e\u043f\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u043f\u0430\u0442\u044b?). \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0438\u043d\u0443\u0441 \u044d\u0442\u0438\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439: \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0447\u0438\u0441\u0442\u044b\u0435, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0439\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a \u0441 Data Science? \u0421\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 100500 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e Data Science \u0438 \u0434\u0430\u0432\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0433 \u0432 Data Science \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0443\u0440\u0441\u0430\u043c\u0438 \u043f\u043e Data Science (\u0437\u0430\u0447\u0435\u043c \u043a\u043e\u043f\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u043f\u0430\u0442\u044b?). \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0438\u043d\u0443\u0441 \u044d\u0442\u0438\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439: \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0447\u0438\u0441\u0442\u044b\u0435, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-20T05:41:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-20T05:41:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Mida v\u00f5ib Data Science'is valesti minna? Andmete kogumine | ProHoster","description":"Praegu on saadaval 100500 Data Science'i kursust ja on ammu teada, et Data Science'is saab k\u00f5ige rohkem raha teenida just Data Science'i kursustega (miks kaevata, kui saab m\u00fc\u00fca labidaid?). Peamine miinus nende kursuste juures on see, et need ei haaku reaalsete t\u00f6\u00f6\u00fclesannetega: keegi ei anna sulle puhtaid, t\u00f6\u00f6deldud andmeid vajaliku vormingus.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0439\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a \u0441 Data Science? \u0421\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster","og:description":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 100500 \u043a\u0443\u0440\u0441\u043e\u0432 \u043f\u043e Data Science \u0438 \u0434\u0430\u0432\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0433 \u0432 Data Science \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0443\u0440\u0441\u0430\u043c\u0438 \u043f\u043e Data Science (\u0437\u0430\u0447\u0435\u043c \u043a\u043e\u043f\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u043f\u0430\u0442\u044b?). \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0438\u043d\u0443\u0441 \u044d\u0442\u0438\u0445 \u043a\u0443\u0440\u0441\u043e\u0432 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439: \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0447\u0438\u0441\u0442\u044b\u0435, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/chto-mozhet-pojti-ne-tak-s-data-science-sbor-dannyh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-20T05:41:57+00:00","article:modified_time":"2020-07-20T05:41:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"89206","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:51:09","updated":"2022-10-04 00:46:34"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/89206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=89206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/89206\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/89207"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=89206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=89206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=89206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}