Katso myös uusin oppimateriaalini: https://data-analytiikka.github.io
Täydentävää tietoa tämän sivun aiheisiin: Data-analytiikka Pythonilla – extrat.
Python-ohjelmointikieli on suosittu, monipuolinen, tehokas ja ilmainen väline, jolla sujuu datan siivoaminen, kuvaileva analytiikka, selittävä analytiikka, aikasarjojen analysointi, ennakoiva analytiikka ja koneoppimisen mallit.
Vaikka et olisi aiemmin koodannut, niin data-analytiikkaan tarvittavat Python taidot opit helposti.
Jos osaat data-analytiikkaa Pythonilla, niin osaat myös automatisoida data-analytiikkaa!
Näin pääset alkuun
- Asenna Miniconda tai Anaconda
- Käynnistä Jupyter
- Aloita data-analytiikka pandas1-muistiosta (myös videona). Parhaiten opit kirjoittamalla esimerkki-muistion koodit itse Jupyter-muistioon ja tekemällä siinä ohessa omia kokeiluja. Sinulla ei tarvitse olla aiempaa koodauskokemusta!
- Tämän sivun linkit johtavat Jupyter-muistioihin, jollei ole toisin mainittu.
- Halutessasi voit kopioida koodiesimerkkieni Jupyter-muistiot omalle koneellesi: Github – koodiesimerkit omalle koneelle
- Artikkeli: Miksi Python?
- Artikkeli: Data-analytiikka Pythonilla
Dataan tutustuminen ja datan valmistelu
- Dataframe – ensimmäinen tutustuminen dataframe-olioon
- pandas1 – johdatus Pythonin ja pandas-kirjaston käyttöön (myös videona)
- Avaa data Excel-tiedostosta
- Avaa data csv-tiedostosta
- Dataan tutustuminen (myös videona)
- Datan muunnokset (myös videona)
- Suodatusta ja poimintaa (myös videona)
- Datojen yhdistäminen vierekkäin ja allekkain
Kuvaileva analytiikka
- Diasarja: Kuvaileva analytiikka – keskeiset menetelmät
- Frekvenssitaulukko (myös videona)
- Luokiteltu jakauma (myös videona)
- Tilastollisia tunnuslukuja (myös videona)
- Dummy-muuttujien kuvailu
- Kuvaileva analytiikka – parhaat käytänteet
- Artikkeli: Lukumäärä- ja prosenttiyhteenvedot Pythonilla
Selittävä analytiikka
- Diasarja: Selittävä analytiikka – keskeiset menetelmät
- Ristiintaulukointi (myös videona)
- Tunnuslukujen vertailu (myös videona)
- Laskentaa ryhmittäin groupby-toiminolla (myös videona)
- Korrelaatio (myös videona)
- Dummy-muuttujat selittävän muuttujan määräämissä ryhmissä
- Pivot-taulukot (myös videona)
- Selittävä analytiikka – parhaat käytänteet
Grafiikka
- Artikkeli: Kuviot ja kaaviot Pythonilla
- Matplotlib perusteet
- Matplotlib – osa 1: yksinkertainen pylväskaavio
- Matplotlib – osa 2: usean arvosarjan pylväskaavio
- Matplotlib – osa 3: histogrammi
- Matplotlib – osa 4: värien ja värikarttojen käyttö
- Matplotlib – osa 5: kaavioiden oletusparametrit (fontit ym.)
- Matplotlib – osa 6: kahden arvoakselin kaavio
- Matplotlib – osa 7: usean kaavion kuviot
- Matplotlib – osa 8 – vaikuttavia kaavioita helpolla tavalla seaborn-kirjastoa käyttäen
- sns_count – kategorisen muuttujan lukumääräyhteenveto (seaborn countplot)
- sns_hist – määrällisen muuttujan luokiteltu jakauma (seaborn histplot)
- sns_bar – keskiarvot pylväinä (seaborn barplot)
- sns_box – tilastollisia tunnuslukuja grafiikkana (seaborn boxplot)
- sns_scatter – kahden määrällisen muuttujan välinen riippuvuus (seaborn scatterplot/jointplot/pairplot)
- Kaaviot: opettavainen kokoelma esimerkkejä
- Kuvailevan ja selittävän analytiikan perustapaukset (Colab-muistio)
Aikasarjat
- Aikaleimat – tekstimuotoisten aikatietojen avaaminen ja aikatietojen luominen
- Aikasarjat (myös videona) – aikasarjojen käsittely ja esittäminen
- Aikasarjaennustaminen 1 – yksinkertainen eksponentiaalinen tasoitus
- Aikasarjaennustaminen 2 – kaksinkertainen eksponentiaalinen tasoitus eli Holtin malli
- Aikasarjaennustaminen 3 – kolminkertainen eksponentiaalinen tasoitus eli Holt-Winterin malli (myös videona)
- Ennustemallin automaattinen valinta – Nixtla – statsforecast -kirjasto mahdollistaa kehittyneiden ennustemenetelmien käytön myös aloittelevalle ennustajalle
- Aikasarjan korjaus – puuttuvat aikaleimat, puuttuvat ja/tai päällekkäiset havainnot
Ennakoiva analytiikka
- Artikkeli: Koneoppimisen käsitteitä
- Artikkeli: Koneoppiminen ja scikit-learn -kirjasto
- Diasarja: Ohjattu oppiminen
- Datan valmistelu koneoppimisen malleja varten
Kategorisen muuttujan ennakointi (luokittelu)
- Luokittelu 1 – klassinen esimerkki kurjenmiekkojen luokittelusta menetelmänä päätöspuu (decision tree) (myös videona)
- Luokittelu 2 – sydämen kunnon ennakointi menetelminä logistinen regressio, päätöspuu, satunnaismetsä (RandomForestClassifier) ja gradienttitehostus (GradientBoostingClassifier) (myös videona)
- Luokittelu 3 – luottokorttipetosten ennakointi, mukana myös datan tasapainottaminen (myös videona)
- Luokittelu 4 – ohjaamaton luokittelualgoritmi KMeans
- Esimerkki sopivien hyperparametrien etsimisestä
Määrällisen muuttujan ennakointi
- Lineaarinen regressio 1 – lineaarinen regressio – yksi selittävä muuttuja (myös videona)
- Lineaarinen regressio 2 – lineaarinen regressio – useampi selittävä muuttuja (myös videona)
- Myynnin ennustaminen – lineaarinen regressio, satunnaismetsä (RandomForestRegressor), gradienttitehostus (GradientBoostingRegressor) (myös videona)
- Käytetyn auton hinnan ennustaminen – mukana myös kategoristen muuttujien muuttaminen dummy-muuttujiksi
Muuttujarakenteen yksinkertaistaminen
Syväoppiminen (esimerkit Colabissä)
Syväoppimisen esimerkit olen kirjoittanut ja suorittanut Googlen Colabissa. Esimerkit aukenevat Colabiin ja voi halutessasi tallentaa ne omaan Google Driveen ja kokeilla niitä Colabissa.
Esimerkit kannattaa käydä läpi alla mainitussa järjestyksessä:
- Syväoppimisen ”Hello World” – Tiheä neuroverkko käsinkirjoitettujen numeroiden tunnistamiseen
- Ensimmäinen esimerkki konvoluutioneuroverkosta – Konvoluutioneuroverkko käsinkirjoitettujen numeroiden tunnistamiseen
- Tekstien luokittelu positiivisiin ja negatiivisiin – Tiheä neuroverkko
- Uutisartikkelien luokittelu aihealueisiin – Tiheä neuroverkko
- Asuntojen hintojen ennustaminen – Tiheä neuroverkko
- Koirien ja kissojen tunnistaminen, 1. yritys – Konvoluutioneuroverkko
- Koirien ja kissojen tunnistaminen, 2. yritys – Konvoluutioneuroverkko + augmentation & dropout ylisovittamisen vähentämiseen
- Koirien ja kissojen tunnistaminen, 3. yritys – Isolla datalla valmiiksi esiopetetun mallin hyödyntäminen + dropout ylisovittamisen vähentämiseen
- Koirien ja kissojen tunnistaminen, 4. yritys – Isolla datalla valmiiksi esiopetetun mallin hyödyntäminen + dropout ja augmentation ylisovittamisen vähentämiseen
- Koirien ja kissojen tunnistaminen, 5. yritys – Isolla datalla valmiiksi esiopetetun mallin ensimmäisten kerroksien hyödyntäminen, viimeiset kerrokset opetetaan omalla datalla
Lisämateriaali
- Lisää koodiesimerkkejä: Data-analytiikka Pythonilla – extrat
- Videoita