Katso myös https://data-analytiikka.github.io/
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!
- Voit ladata koodiesimerkkien Jupyter-muistiot omalle koneelle: Github – lataa koodiesimerkit omalle koneelle
- Artikkeli: Miksi Python?
- Artikkeli: Data-analytiikka Pythonilla
Dataan tutustuminen ja datan valmistelu
- Lataa esimerkit githubista
- 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
- Datan muunnokset 2 (asteikon kääntäminen, logaritmimuunnos, normittaminen)
- Puuttuvien (missing) arvojen käsittely (poistaminen tai korvaaminen)
- Poikkeavien arvojen käsittely (poistaminen tai korvaaminen)
- Kategorinen dummy-muuttujiksi
- Dataframen viimeistely style-ominaisuuden avulla
- Desimaalipisteet pilkuiksi
- Näin poimit traficomin yli 5 miljoonan rivin datasta viime vuosina rekisteröidyt autot
- Yhteys tietokantaan ja sql-kyselyt – esimerkkejä tietokannan tietojen analysoinnista
Kuvaileva analytiikka
- Lataa esimerkit githubista
- Diasarja: Kuvaileva analytiikka – keskeiset menetelmät
- Frekvenssitaulukko (myös videona)
- Luokiteltu jakauma (myös videona)
- Tilastollisia tunnuslukuja (myös videona)
- Dummy-muuttujien kuvailu
- value_counts() – monitoimityökalu lukumäärien ja prosenttien laskemiseen (myös videona)
- Kuvaileva analytiikka – parhaat käytänteet
- Artikkeli: Lukumäärä- ja prosenttiyhteenvedot Pythonilla
Selittävä analytiikka
- Lataa esimerkit githubista
- 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)
- Lukumääriä ja prosentteja eri tilanteissa
- Merkitsevyystestausta (p-arvot) Pythonilla – yleisimmät testit tilastollisen merkitsevyyden testaamiseen
- Selittävä analytiikka – parhaat käytänteet
Grafiikka
- Lataa esimerkit githubista
- Artikkeli: Kuviot ja kaaviot Pythonilla
- Johdanto matplotlib-grafiikkaan
- 1/7 Yksinkertainen pylväskaavio
- 2/7 Usean arvosarjan pylväskaaviot
- 3/7 Kahden arvoakselin kaavio
- 4/7 Usean kaavion yhdistelmä
- 5/7 Johdanto seaborn-grafiikkaan
- 6/7 Värit ja värikartat
- 7/7 Kaavioiden oletusparametrit ja niiden vaihtaminen
- sns_count – Seaborn countplot (kategorisen muuttujan lukumäärä- ja prosenttiyhteenvedot)
- sns_hist – Seaborn histplot (määrällisen muuttujan luokiteltu jakauma)
- sns_bar – Seaborn barplot (määrällisten muuttujien yhteenvetoja pylväinä)
- sns_box – Seaborn boxplot (tilastollisia tunnuslukuja grafiikkana)
- sns_scatter – Seaborn scatterplot (kahden määrällisen muuttujan välinen riippuvuus)
- Kaavio: Excelin grafiikkaesimerkkini vertailun vuoksi matplotlibillä toteutettuna
Tuloksia suoraan Exceliin
- Lataa esimerkit githubista
- Video Excelin ja Pythonin yhteiskäytöstä
- Pythonilla lasketut tulokset Exceliin – Neljä erilaista tapaa kirjoittaa Pythonilla laskettuja tuloksia Exceliin.
- Datan pika-analyysi Pythonilla 1 – frekvenssitaulukot, ristiintaulukoinnit, tunnusluvut ja korrelaatiot Exceliin (tunnistaa automaattisesti määrälliset ja kategoriset muuttujat). Edellyttää, että koneelle on asennettu Excel.
- Datan pika-analyysi Pythonilla 2 – frekvenssitaulukot, ristiintaulukoinnit, tunnusluvut ja korrelaatiot Excel-tiedostoon (tunnistaa automaattisesti määrälliset ja kategoriset muuttujat). Koneella ei tarvitse olla Exceliä asennettuna.
- Datan automaattinen analysointi – käyttäjä määrittelee aluksi muuttujatyypit ja mahdolliset tekstimuotoiset arvot kategorisille muuttujille; laskee frekvenssitaulukot, ristiintaulukoinnit, dikotomisten muuttujien yhteenvedot, tilastolliset tunnusluvut, korrelaatiot, khiin neliö -testit, t-testit, korrelaatioiden merkitsevyydet ja kirjoittaa kaikki tulokset Excel-tiedostoon.
- UUTTA: Helppokäyttöisiä funktioita kuvailevaan ja selittävään analytiikkaan
Aikasarjat
- Lataa esimerkit githubista
- Aikaleimat – tekstimuotoisten aikatietojen avaaminen ja aikatietojen luominen
- Aikasarjat (myös videona) – aikasarjojen käsittely ja esittäminen
- Automaattisesti päivittyvä linkki tilastokeskuksen tietokantaan
- yfinance-paketin avulla löydät monipuolista tietoa pörssiosakkeista
- 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
- Bollingerin nauhat
- RSI = Relative Strength Index – laskentamenetelmien vertailua
- Kynttiläkaavioita ja liukuvia keskiarvoja mplfinance-paketin avulla
Ennakoiva analytiikka
- Lataa esimerkit githubista
- 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, koska siellä on tarpeelliset paketit valmiiksi asennettu. Esimerkit aukenevat Colabiin ja voit 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
Todennäköisyyslaskentaa ja -jakaumia
- Lataa esimerkit githubista
- Kombinaatio-oppia – tuloperiaate, permutaatiot, kombinaatiot
- Todennäköisyyksien laskusääntöjä – yhteenlaskusääntö, kertolaskusääntö, komplementtisääntö
- Todennäköisyysjakumien peruskäsitteet – todennäköisyysjakauma, kertymätodennäköisyys, odotusarvo
- Binomijakauma
- Poisson-jakauma
- Normaalijakuma
- Simulaatioita – kolikoiden ja noppien heittoa
- Simulaatioita – asiakaspalvelupisteen jonon muodostuksen simulointi
- Simulaatioita – tuotantolinjan simulointi
- Simulaatioita – lehtikauppiaan ongelman tarkastelu simuloimalla
- Monte Carlo – myyntiprovision ennustaminen Monte Carlo -menetelmällä