<jupyter_start><jupyter_text>Tervetuloa opintojaksolle Johdanto datatieteeseen Tiedot opintojakson suorittamisesta löytyy GitHub:sta.Luennoijana toimii <NAME> ([@jnkka](https://twitter.com/jnkka)).Opetusassistenttina toimivat <NAME>, <NAME> ja <NAME>.Luentomuistion valmisteli [Arho Suominen](https://www.tuni.fi/fi/ajankohtaista/kun-teknologia-muuttuu-yrityksen-taytyy-loytaa-keinot-sopeutua-muutokseen).  Odotukset keväälle  - mitä ihmettä on Johdanto datatieteeseen! "Data Scientist" kääntyy suomeksi yleensä muotoon datatieteilijä. Mitä muita vaihtoehtoja voisi olla? Tietojen tutkija? Mitä tarkoitetaan datatieteellä ja mitä odotuksia opiskelijoilla on opintojaksolle?   Datatiede rakentuu neljän laajan kokonaisuuden varaan: * liiketoimintaosaaminen, * ohjelmointi- ja tietokantaosaaminen, * tilastollinen analyysi ja * datalähtöinen viestintä ja visualisointi. Opiskelijoilta toivotaan perusosaamista näiltä aloilta. Opintojaksolla on tavoitteena syventyä näihin aiheisiin datatieteen näkökulmasta sekä esitellä opiskelijoille riittävät tiedot datatiedeosaamiseen kuuluvien taitojen hankkimiseen Tampereen yliopiston opetustarjonnasta.Vaihtoehtoinen nimi opintojaksolle voisi olla Tietojohtamisen datatiede. Johdannosta huolimatta tällä opintojaksolla myös toteutetaan datatiedeprosesseja käytännössä!  Suorittaminen  Suorittamisohjeet löytyvät opintojakson kotisivulta.  Harjoitukset ja harjoitustyöt Ohjeet harjoitustyöhön suorittamiseksi löytyvät opintojakson kotisivulta.  Mitä on datatiede?  Määritelmä Tietojen tutkijan tai datatieteilijän (data scientist) rooli organisaatiossa on moninainen. Työtä on kuvattu monitieteiseksi, yhdistäen ainakin tietoteknistä, matemaattista ja liiketoiminnallista osaamista. Harvard Business Review nosti ammattinimikkeen laajempaan tietoisuuteen vuonna 2012 artikkelillaan [Data Scientist: The Sexiest Job of the 21st Century](https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century):"...he started to see possibilities. He began forming theories, testing hunches, and finding patterns that allowed him to predict whose networks a given profile would land in. He could imagine that new features capitalizing on the heuristics he was developing might provide value to users."Alunperin datatieteestä käytettiin termiä [datalogy](https://dl.acm.org/citation.cfm?id=366510). Mielenkiintoista luettavaa on esimerkiksi artikkeli [Datalogy — The copenhagen tradition of computer science](https://link.springer.com/article/10.1007/BF01941128) datalogy-termin kehittäjä Naurin luomasta Kööpenhaminalaisesta tietotekniikan koulutuksen traditiosta. Datatiedettä voi tarkastella useilla eri painotuksilla. Se voidaan nähdä markkinointiterminä [tilastotieteelle](http://www2.isye.gatech.edu/~jeffwu/presentations/datascience.pdf). On kuitenkin selvää, että tämä hyvin kapea käsitys ei kuvaa datatiedettä riittävällä tavalla, vaan tilastotiede on nähtävä yhtenä osana [datatieteilijän osaamista](https://arxiv.org/ftp/arxiv/papers/1410/1410.3127.pdf). <NAME> ([2021](https://www.wiley.com/en-us/Data+Theory%3A+Interpretive+Sociology+and+Computational+Methods-p-9781509539277)) ehdottaa että datatiede voidaan myös tulkita erääksi tavaksi tehdä etnografista tutkimusta (ks. [Tikka et al., 2021](https://journal.fi/mediaviestinta/article/view/109871)).Datatieteessä keskeistä on kyky muokata laajoja aineistoja sekä hyödyntää ohjelmointia eri tavoin. Esimerkkinä voidaan pitää siirtymää  tilasto-ohjelmista kuten [R](https://fi.wikipedia.org/wiki/R_(ohjelmointikieli)) kohti täysiverisiä ohjelmointikieliä kuten [Python](https://fi.wikipedia.org/wiki/Python_(ohjelmointikieli)). Sekä R että Python ovat käytännössä ohjelmointikieliä, mutta R erikoistuu nimenomaisesti tilastolliseen laskentaa ja grafiikan tuottamiseen. Mikä on siis muutos, joka on tapahtunut kun Python kasvattaa suosiotaan osin R:n kustannuksella?  Malleja ja käsitekarttoja aiheeseen [CRISP-DM -malli](https://en.wikipedia.org/wiki/Cross-industry_standard_process_for_data_mining) esittelee avoimen standardin prosessikuvauksen datatieteen prosessista:  [Houston Analyticsin CRISP-DM-sovellus](https://www.houston-analytics.com/project-methodology) laajentaa tarkastelukulman organisaatioon kokonaisuudessaan.Microsofting tiimidatatiedemalli kuvaa hyvin käytännön datatiedeprojekteja:Prosessimallin kautta pystyy myös ymmärtämään mitä edellytetään [hyvältä datieteilijältä](https://www.schoolofdatascience.amsterdam/news/skills-need-become-modern-data-scientist/). [Datatieteen metrokarttaan](http://nirvacana.com/thoughts/2013/07/08/becoming-a-data-scientist/) kokoaa ja kytkee yhteen aihepiirin menetelmiä ja teknologioita.On aivan olennaista pohtia, onko realistista että yksi henkilö hallitsee näin laajan kokonaisuuden ja minkälaisia painotuksia oheisen metrokartan sisällä voi tehdä niin että osaaminen on edelleen relevanttia. Mikä on datatieteen tavoite ja onko se parhaimmillaan [erikois- vai yleisosaajien toteuttamaa](https://hbr.org/2019/03/why-data-science-teams-need-generalists-not-specialists)?  Datatieteen edellytykset  Etiikka!Data ja sen pohjalta rakennettavat sovellukset ovat mitä suurinta vallankäyttöä nykyaikaisessa yhteiskunnannassa ja siksi [eettiset kysymykset](https://medium.com/big-data-at-berkeley/things-you-need-to-know-before-you-become-a-data-scientist-a-beginners-guide-to-data-ethics-8f9aa21af742) on syytä nostaa esiin heti datatiedeopintojen alussa. Data Ihan ensiksi kannattaa kysyä että mitä se data on? [Piileekö datassa totuus](https://twitter.com/jnkka/status/1434783168201216000)? Globaalisti käytössämme on **ennennäkemätön määrä dataa**. Arvioimme että vuoteen 2025 mennessä käytössä on [163 Zetabittiä](https://www.forbes.com/sites/andrewcave/2017/04/13/what-will-we-do-when-the-worlds-data-hits-163-zettabytes-in-2025/) dataa, tai kuvattuna toisella tavalla, luomme joka minuutti [käsittämättömän määrän dataa](https://www.domo.com/learn/data-never-sleeps-5?aid=ogsm072517_1&sf100871281=1). Onko realistista että edes ymmärrämme onko tämä määrä dataa hyödyllistä tai mitä tällä datalla voidaan saada aikaan?Data on avainasemassa tekoälyn toisessa aallossa, jossa keskiössä on nimenomaan **tilastollinen oppiminen**. Nykyinen tekoälyyn liittyvä toiminta fokusoituu nimenomaan koneoppimiseen ja erityisesti syviin neuroverkkoihin. Tämä ei ole ihme, sillä viime vuosien merkittävimmät menestystarinat perustuvat juuri näihin teknologioihin. Käytettävissä olevat valtavat datamäärät, hyvät kehitystyökalut ja vuosittain kasvava laskentateho vauhdittavat kehitystä.Koneoppimisen voittokulusta etenkin ihmisiin ja organisoitumiseen liittyvässä datatieteessä myös **kartoittavalla ja kuvailevalla analytiikalla** on keskeinen rooli. Valitaan ensimmäinen dataesimerkki [<NAME>in innoittamana](https://www.ted.com/talks/hans_rosling_the_best_stats_you_ve_ever_seen).<jupyter_code># pip install gapminder
import pandas as pd
from gapminder import gapminder
gapminder.head(10)
# pip install plotly_express
import plotly_express as px
px.scatter(px.data.gapminder(), x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
           size="pop", color="continent", hover_name="country", 
           log_x = True, 
           size_max=45, range_x=[100,100000], range_y=[25,90])<jupyter_output><empty_output><jupyter_text>Dataa on myös julkisesti saatavilla enemmän kuin koskaan ennnen. Hyvänä esimerkkinä on vaikka [Kaggle](www.kaggle.com), joka antaa mahdollisuuden ladata itselle mielenkiintoisia aineistoja eri tarkoituksiin.<jupyter_code>df = pd.read_csv("Mall_Customers.csv")
df.head()
df.tail()
df['Gender'] = df['Genre']
import numpy as np
df.pivot_table(df, index=["Gender"], aggfunc=np.mean)<jupyter_output><empty_output><jupyter_text>**Keskustelua ongelmista, reunaehdoista ja rajoitteista.**  Laskentateho Laskentatehokasvu on selkeästi yksi merkittävin mekanismi data tieteen kehittymiseen. Kaikkihan tavalla tai toisella liittyy Mooren lakiin, eli kykyymme suorittaa laskutoimituksia. !["Mooren laki"](https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Moore%27s_Law_Transistor_Count_1970-2020.png/2560px-Moore%27s_Law_Transistor_Count_1970-2020.png) Laskentatehon kasvun lisäksi tekniset ratkaisut skaalata yksittäisen koneen tai klusterin laskentatehoa ovat kehittyneet merkittävästi. Nämä tekevät jopa yksittäisestä koneesta huomattavan tehokkaan työyksikön<jupyter_code>from IPython.core.display import HTML
HTML('<iframe width="560" height="315" src="https://www.youtube.com/embed/tQBovBvSDvA?start=1808" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>')<jupyter_output>/Users/huhtis/Teaching/2022-02-joda2022/luentomuistio/venv/lib/python3.8/site-packages/IPython/core/display.py:717: UserWarning:

Consider using IPython.display.IFrame instead<jupyter_text>Analyysiympäristö Erityyppiset laskentaympäristöt voidaan karkeasti jakaa kuuteen. Vaihtoehdot kasvavat henkilökohtaisesta koneesta aina pilviratkaisuihin tai laskentaklustereihin.  !["laskentaympäristöt"](https://www.tutorialspoint.com/assets/questions/media/11371/Computing%20Environments.PNG)<jupyter_code>HTML('<iframe width="560" height="315" src="https://www.youtube.com/embed/4paAY2kseCE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>')<jupyter_output><empty_output><jupyter_text>Työvälineet Käytettävissä olevien työvälineiden määrä on kasvanut huimasti. Aikaisemmin käytössä oli lähinnä tilastolaskentaympäristöt kuten [R](https://www.r-project.org/), joita korvaamaan/lisäämään on nyt tullut Python-pohjaiset ympäristöt. Tämän sisällä keskeisiä työkaluja ovat esimerkiksi [Pandas](https://pandas.pydata.org/), [Scikit-learn](https://scikit-learn.org/stable/) ja visualisointityövälineet kuten [Holoviews](http://holoviews.org/). !["Scikit-learn map"](https://scikit-learn.org/stable/_static/ml_map.png)<jupyter_code>HTML('<iframe width="560" height="315" src="https://www.youtube.com/embed/k27MJJLJNT4?start=1808" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.08536106750392465, 'fraction_numerical': 0.02501962323390895, 'mean_word_length': 7.300488599348534, 'pattern_counts': {'":': 0, '<': 32, '<?xml version=': 0, '>': 32, 'https://': 28, 'lorem ipsum': 0, 'www.': 14, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '146110', 'license': 'MIT', 'n_tokens_mistral': 4281, 'n_tokens_neox': 3893, 'n_words': 768, 'path': 'luentomuistio/luento01.ipynb', 'repo_name': 'InfoTUNI/joda2022', 'size': '10243'}