Kategoriat
Yleinen

Seaborn-opas aloittelijoille

DataLabiin suoritettavana syventävänä harjoitteluna tehtäväkseni valikoitui Seaborn-oppaan luominen. Tarkoituksena oli luoda selkeä ohjeistus, jonka avulla Python-ohjelmointikielellä tehtäviä visualisointeja pystyisi tekemään myös sellaiset, joilla ei ole aiempaa ohjelmointiosaamista. Oppaassa käytettiin tekoälytyökalu Copilotin apua Python-koodien kirjoittamiseen.

Toteutus

Ensin piti valita missä ympäristössä työ haluttiin toteuttaa. Kokeiltiin Google Colabia sekä Jupyter Notebookia, valittiin Jupyter. Vaikka Colab oli monien netistä löytyvien oppaiden suositus, Notebook koettiin helppokäyttöisemmäksi, erityisesti aloittelijan näkökulmasta. Työssä pyrittiin pitämään mielessä miten data-analytiikan muilla kursseilla, kuten Power BI, käsiteltiin datan visualisointia ja haluttiin kokeilla miten samantyyppinen toteutettaisiin Seaborn-kirjaston avulla. Seabornin virallinen opas oli merkittävä apuväline työn toteutukseen, mutta vaatii lukijalta jonkin verran pohjatietoa aiheesta. Oppaassa käytettiin ERP-simulaatiopelistä saatua kaupallista dataa.

Visualisoinnit

Visualisointien koodit pyydettiin tekoälyltä Python-koodina. Usein koodissa oli jotain muokattavaa, jotta se saatiin halutunlaiseksi ja tekoälyn kanssa jouduttiinkin keskustelemaan pitkään halutun lopputuloksen saamiseksi.

Visualisoinnit jaettiin seuraaviin osioihin:

  • Tilastolliset visualisoinnit
  • Relaatiokaaviot
  • Kategoriset kaaviot
  • Jakaumien visualisointi
  • Moniulotteiset visualisoinnit
  • Lineaariset regressiomallit

Opas aloitettiin melko yksinkertaisilla Python-koodilla tehtävillä kuvaajilla, joista edettiin koko ajan vaativampiin visualisointeihin. Viimeisin osio lineaarisista regressiomalleista vaatiikin jo hieman taustatietoa tilastotieteestä. Esimerkeissä pyrittiin käyttämään sellaisia muuttujia, jotka ovat kaupallista dataa analysoitaessa tärkeitä. Oppaassa käytetyn datasetin Sales-välilehti sisälsi merkityksellisimmän osan tiedosta tähän liittyen.

Kun kyseessä on suuri datamäärä kuvaajien muodostuminen saattaa kestää kauan. Tällaisissa tilanteissa voidaan harkita otoksen ottamista datasta, jolloin oppaan esimerkin mukaan koodi: data=df_sales.sample(300) valitsee datasta 300 satunnaista havaintoa. Oppaassa on myös suodatettu dataa esimerkiksi suurimpien ja pienimpien arvojen mukaan, jolloin voidaan verrata esimerkiksi hyvin ja huonosti menestyvien eroja.

Seaborn-visualisointeja pääse helposti kokeilemaan, koska se sisältää valmiita datasettejä. Esimerkiksi Titanic-dataa sisältävä datasetti saadaan työkirjaan koodilla titanic = sns.load_dataset(”titanic”). Näin pääsee heti kokeilemaan miltä Seaborn-visualisoinnit näyttävät eikä tarvitse pohtia, mistä löytyisi sopiva ja puhdas data harjoitteluun. Tässä esimerkki ikäjakaumasta sukupuolen mukaan.

Linkki oppaaseen Opas Seaborn-kirjaston hyödyntämiseen bisnesdatan visualisoimisessa — Kirja

Visualisointien tyyli

Seabornin avulla saadaan ammattimaisen näköisiä visualisointeja lähes automaattisesti, se luotiinkin juuri ajatuksena, että käyttäjä voisi keskittyä kuvaajan analysointiin ei sen piirtämiseen. Kuvaajia voi kuitenkin halutessaan muokata monin tavoin. Tämän esimerkin oikeanpuoleinen kuvaaja on ilman tyylimuotoiluja tehty pylväsdiagrammi ja vasemmalla olevaan on muokattu otsikoita ja väritystä.

Tekoälyn avulla kirjoitetut koodit kannattaa aina tarkistaa ennen niiden ajamista erityisesti jos on tarkka millaisen visuaalisen muodon haluaa kuvaajalle. Microsoftin Copilot lisää usein pyydettyyn koodiin omia muokkauksia, välillä vaikka koodi pyydettäisiin ilman niitä.

Lopuksi

DataLabille suoritettuna harjoittelu vaatii opiskelijalta erityisesti ajankäytön hallintaa sekä motivaatiota saavuttaa itselleen asetetut tavoitteet. Aiheen olisi hyvä olla opiskelijalle aidosti mielenkiintoinen, sillä itsenäinen työskentely edellyttää todellista kiinnostusta ja halua oppia enemmän. Pythonin ja Seabornin lisäksi opin myös paljon erilaisia tapoja hyödyntää Jupyter-ympäristöä, jonka uskon tulevan hyödyksi vielä myöhemmin.

Kategoriat
Yleinen

Xamk on mukana AIRA-hankkeessa – Power BI -raportin avulla riskit näkyviksi

Xamkin DataLAB:ssa on käynnissä mielenkiintoinen projekti osana AIRA-hanketta, ja sen tuloksena on syntynyt visuaalinen Power BI -raportti hätäkeskusdatasta. Mutta mistä tässä kaikessa on oikein kyse?

AIRA-hanke

Pelastustoimen ja alueellisen varautumisen tehtävänä on parantaa valmiutta uhkiin ja ennakoida riskejä jo ennen kuin ne konkretisoituvat. Tämä työ on tällä hetkellä pitkälti manuaalista ja hajanaista sekä vaatii jatkuvaa yhteistyötä eri toimijoiden välillä, sillä käytössä ei ole yhteistä tietopankkia tai analyysityökalua.

AIRA hyödyntää tekoälyä ja data-analytiikkaa tehostaakseen riskianalyysien tekoa ja tiedolla johtamista. Tavoitteena on vähentää manuaalista työtaakkaa ja parantaa yhteistyötä sidosryhmien välillä. Lisäksi tarkastelussa on, kuinka riskejä voisi tunnistaa aiempaa tehokkaammin, ja suunnitella alueellista kokonaisturvallisuutta parantavia toimenpiteitä.

Hanke hyödyttää konkreettisesti eri toimijoita, kuten pelastustoimia ja poliisia, jotka tarvitsevat työssään tarkkaa ja ajantasaista tietoa päätöksenteon tueksi ja yleisen turvallisuuden ylläpitämiseksi.

Täältä voit lukea aiheesta lisää: https://www.xamk.fi/hanke/aira/

DataLAB-projekti

Tiesitkö, että Suomessa eniten hälytyksiä tulee kesäkuussa ja perjantaisin? Xamkin DataLAB:ssa käynnissä olevassa projektissa on hyödynnetty hätäkeskusdataa, joka kattaa tiedot siitä, mitä on tapahtunut ja missä, ajanjaksolla tammikuu 2015 – helmikuu 2025. Rivimuotoista dataa on kuitenkin hankalaa hahmottaa nopealla vilkaisulla. Siksi sen pohjalta rakennettiin kolmisivuinen Power BI -raportti, joka havainnollistaa hälytysten määrää, ajankohtia ja alueellista jakautumista visuaalisesti ja helposti tulkittavassa muodossa. 

Projektin datan valmistelu

Hätäkeskusdata sisältää sarakkeet paikkakunnasta, kellonajasta ja päivämäärästä, tehtävän kuvauksen, yksityiskohdat, linkin uutiseen ja hätäkeskuskoodin. Projektia varten myös hätäkeskuksen nimen sisältävä sarake oli tarpeen, ja se luotiin hyödyntämällä SQL-kyselyä Microsoft Visual Studiossa. Azuren tietokannassa oleva data yhdistettiin Power BI:hin, jossa raportin teko alkoi. Raportin visuaalinen ilme on rakennettu Xamkin brändivärien ympärille hyödyntämällä HEX-värikoodeja, ja DAX-kaavojen luomisessa apuna ovat olleet ChatGPT ja Claude.ai.

Raportti sivu kerrallaan

Kuva 1. Raportin ensimmäinen sivu, jossa muun muassa karttavisuaali.

Ensimmäisellä sivulla voi tarkastella hälytyksiä paikkakuntakohtaisesti. Sivulla on kartta, slicer, taulukko ja kortteja. Kartassa näkyy valitun paikkakunnan sijainti, ja paikkakunnan voi valita viereisestä slicer-visuaalista. Kaikki sivun visuaalit reagoivat sliceriin, joten tietoja voi tarkastella paikkakuntakohtaisesti. Korteissa näkyy hälytysten yhteismäärä sekä yleisin tehtävänimike ja sen määrä. Yleisin tehtävä koko Suomessa on ollut palohälytys, joita on ollut vuosien varrella yhteensä 175 630 kappaletta. Kaikenlaisia hälytyksiä on ollut yhteensä 766 923, joka tarkoittaa keskiarvollisesti yli 200 hälytystä joka päivä noin kymmenen vuoden tarkastelujakson aikana.

Kuva 2. Raportin toinen sivu, jossa hälytyksiä voi tarkastella ajallisesti.

Toisella sivulla pureudutaan hälytyksiin ajallisesti. Hälytysten määrää voi tarkastella vuosittain, kuukausittain, tunneittain, viikonpäivittäin ja viikottain, joille jokaiselle löytyy oma visuaali tai slicer sivulta. Esimerkiksi valittaessa slicerista vuodeksi 2018, voidaan huomata tehtävien määrän olleen korkeimmillaan kesäkuussa (9426 tehtävää) ja eniten tehtäviä on tullut kello 16 aikaan. Tehtäviä on tullut eniten perjantaisin, ja selkeästi eniten hälytyksiä koko vuonna on tullut viikolla 25. Tämä on ollut juhannusviikko, jossa tehtävät ovat myös pitkälti keskittyneet perjantaihin eli juhannusaattoon.

Kuva 3. Raportin kolmas sivu näyttää Top 10 -listat ja vilkkaimmat ajankohdat.

Sivulta kolme löytää raportin Top 10 -listat. Määrällisesti eniten hälytyksiä on ollut Helsingissä, yhteensä 77 632 tehtävää. Helsinki vie myös top 1 sijan kaikista hätäkeskuksista hälytysmäärien perusteella, sijalla kaksi on Pirkanmaan hätäkeskus ja kolmannella Itä- ja Keski-Uudenmaan hätäkeskus. Eniten hälytystehtävissä törmää palohälytyksiin, tieliikenneonnettomuuksiin ja pieniin rakennuspaloihin. Vilkkain tunti vuosien varrella on ollut kello 15, eniten hälytyksiä on tullut perjantaisin, kesäkuut ovat olleet tapahtuma-alttiimpia kuukausia, ja hälytysmäärien perusteella eniten on tapahtunut vuonna 2018.

Lopuksi

Kuten huomata saattaa, hälytykset pitävät ammattilaiset kiireisinä päivittäin, mutta data paljastaa erityisen tapahtuma-alttiit kuukaudet, viikonpäivät, viikot, tunnit ja alueet. Lisäksi hälytykset voidaan lajitella tyypin yleisyyden mukaan. Raportin avulla voidaan helposti nähdä, millaisia hälytyksiä voidaan odottaa tulevan eniten ja milloin. Tämä auttaa keskittämään voimavarat sinne, missä niitä milloinkin eniten tarvitaan.

Linkki raporttiin: https://app.powerbi.com/groups/3d571500-7ded-46fd-99a2-a6399208b83b/reports/899f056b-ee1a-41d8-89ae-df2e3b76e09a/edfb6b0ddd1840ca89b8?experience=power-bi

Huomaa, että raportti näkyy vain Xamkilaisille.