05.05.2016

Katsaus IBM Watson Analyticsiin – Mitä sain irti ensimmäisellä käyttökerralla

Näin Vapun jälkeisissä simoissa ja munkkipöhnässä ajattelin kirjoittaa uudehkosta analytiikan pilvipalvelusta, Watson Analyticsistä. Miksi? Sana Watson on kantautunut näkö- ja kuuloaisteihini hyvin rytinällä viime kuukausien aikana: Koulutuksissa, Linkedin:ssä, vapputivolissa, nakkikioskin jonossa, referenssitarinoissa, lähes kaikkialla.

Tässä kirjoituksessa ei syvennytä palvelun infrastruktuuriin tai luetella kattavaa listaa kaikista nyansseista vaan kerrotaan rehdisti mikä oli näppituntuma ensimmäisen käyttökerran jälkeen, mikä ihastutti, mikä mätti, mitä jäi avoimeksi.

Analytics Watsonista on saatavilla 3 eri versiota: Free edition, Plus ja Professional. Karkeat erot eri versioiden välillä löytyvät täältä, https://www.ibm.com/marketplace/cloud/watson-analytics/purchase/us/en-us#product-header-top. Testasin palvelua Free editionilla, sillä lähteenä testissä oli csv-tiedosto, jonka koko ei päätä huimannut (~5000 riviä, 25 saraketta). Testiaineistoni ominaispiirteet ja mallintamisen ongelmakohdat tunsin entuudestaan, joten mielenkiintoista oli nähdä se, että onko Watsonilla data-analyytikon aivot. Seuraavat tarkastelut ja huomiot koskevat luokittelu-aineiston/ongelman mallintamista (esimerkkiaineiston mielenkiinnon kohteena 2-luokkainen vaste).

 

1) Tutustuminen Watson Analyticsiin esittelyvideon avulla

Ennen palvelun hands-on-testaamista katsoin youtubesta esittelyvideon, jotta varmistuin siitä, että minun todella kannattaa tutustua palveluun. Olin melko vakuuttunut ”myyntivideon” annista, joten seuraavaksi menin ja loin tilin (IBM-id) osoitteessa http://www.ibm.com/analytics/watson-analytics/us-en/. Tilin luominen oli suoraviivaista ja pian olin jo kirjautumassa palveluun. Sivuhuomiona mainittakoon, että sähköpostiini ei ole tullut yhtään spämmiä tilin luomisen johdosta, pisteet siitä IBM:lle.

 

2) Welcome to Watson Analytics – eli Mitä Watsonilla voi tehdä?

Palveluun kirjautuessa avautuu selkeä Welcome-näkymä, josta näkee pääpiirteittäin mitä eri asiakokonaisuuksia Watson Analyticistä löytyy:

(+) Add – Lataa aineistosi tai jokin Watsonin esimerkkiaineistoista tarkasteltavaksi (tai sovella jotain seuraavista komponenteista jo ladattuun aineistoon)

Explore – Tutki aineiston rakennetta: Aineiston laatu, metatiedot, jakaumat, korrelaatiot, aggregoidut jakaumat, …

Predict – Muodosta automaattisesti ennustemalli aineiston pohjalta: Ennustemalli, tulkinnat, merkittävät tekijät, korrelaatiiviset suhteet, …

Assemble – Rakenna oma raporttinäkymä löydöksistäsi (ei käsitellä kirjoituksessa)

Social Media – Hae sosiaalisen median generoimaa tietoa (Twitter) hakusanojen avulla vrt. Google Trends

Refine – Muokkaa palveluun lähettämääsi aineistoa

1_Watson

Lähtökohtaisesti näytti siltä, että Watson Analyticssä on kaikki mitä tarvitsen, kuinka sitten Watson onnistui toteuttamaan fantasiani aineiston tarkastelun ja mallintamisen suhteen? Seuraavassa askel askeleelta testisession eteneminen:

 

3) Refine – Latasin aineistoni palveluun, halusin kuitenkin tehdä pieniä muokkauksia ennen aineiston syvällisempää analysointia ja mallintamista

Watsonissa pystyi helposti luomaan rivi- ja saraketason filtteröintejä aineistoon, sekä luomaan uusia laskennallisia sarakkeita. Esimerkkinä loin 4 uutta saraketta, jotka olivat laskennallisia jo olemassa olevista sarakkeista (jakolasku). Lähdeaineiston muokkaus oli visuaalista ja helppoa, mutta melko rajallista vaativampiin muokkauksiin.

2_Watson3_Watson

6_Watson

 

Pystyykö Refine-komponentilla yhdistelemään aineistoja? Entä aggregoimaan raaka-aineistoa mallinnettavaan muotoon? Pystyykö määrittelemään sarakkeiden tyypit, ts. pystyykö numeerisilla arvoilla täytetyn sarakkeen luokiteltuna? Pienen tutkimisen jälkeen en ainakaan itse löytänyt vastauksia palvelun sisältä.

Pyri siis muokkaamaan mallinnettava aineistosi oikeaan formaattiin ennen Watsoniin lataamista. Kevyet rivi- ja saraketason laskennat voit hoitaa kuitenkin palvelun sisällä, kunhan aineisto on valmiiksi oikeassa formaatissa.

 

4) Explore – Ennen aineiston mallintamista halusin saada ennakkokäsityksen aineiston laadusta ja jakaumista

Explore-komponentissa sai tarkasteltua aineistoa helposti ja nopeasti eri näkökulmista. Explore-ominaisuuteen oli selkeästi panostettu Watsonissa, aineiston pyörittelyä saattoi kutsua jopa taivaalliseksi!. Niin sulavaa ja helppoa, R:ssä samojen tarkasteluiden tekemisessä olisi mennyt useita tunteja, mitä Watsonissa pystyi tekemään muutamissa minuutissa. Fantastico!

Lataa aineistosi Watsoniin tarkastelua varten, elä turhaan pyri laittamaan aineistoasi tiptop kuntoon yhdeltä istumalta Excelissä (tai millä ohjelmalla aineistoa ikinä muokkaatkin). Anna Watsonin kertoa missä kunnossa aineistosi on!

11_Watson

 

5) Predict – Kun oli päästy sinuiksi aineiston kanssa oli aika muodostaa ennustemalli

Ennen mallintamista aineistoon pystyi määrittelemään sarakkeiden roolit, ts. pystyi rajaamaan mitä sarakkeita mallin luomisessa tuli käyttää hyväksi ja mitkä piti jättää huomiotta (esimerkiksi identifioivat sarakkeet). Nopean sarakkeiden roolituksen jälkeen alkoi Watsonin aivot raksuttamaan. Mitä Watson teki ja mihin johtopäätöksiin päädyttiin?

13_Watson

 

14_Watson

 

15_Watson

 

Mallinnusmenetelmä

Mallinnusmenetelmäksi Watson valitsi päätöspuun, tarkemmin ilmaistuna CHAID Decision tree (Chi-squared Automatic Interaction Detection). Watson automaattisesti diskretisoi jatkuvat sarakkeet luokkiin ja muodosti luokitellun aineiston avulla päätöspuun. Entä jos aineistossani olisi ollut enemmän sarakkeita tai vastaavasti rivejä merkittävästi vähemmän, olisiko Watson hylännyt menetelmän ja esittänyt muun mallinnusmenetelmän tulokset? (tilanteet, joissa CHAID ”ajautuu” ongelmiin diskretisoinnista johtuen). Tiedän, että Watson kykenee muodostamaan myös logistisen regression (sisältäen muuttujien diskretisoinnin), ehkä siihen olisi päädytty mainitussa tilanteessa.

16_Watson

 

20_Watson

 

Mallin ennustetarkkuus

Mitä tarkalleen tarkoittaa Predictive strength? Tarkasteltavan aineiston osalta mittari näyttää 90.3%, onko kyseessä suoraan oikein ennustettujen osuus kaikista havaintoriveistä? Kyllä vain. Tämän osalta olisi suotavaa, että valittavana olisi useampia eri mittareita mallin tarkkuuden tarkastelemiseen. Mallin tarkkuus 90.3% kuullostaa melko hyvältä, Watson kuitenkin ilmoittaa, että mallin ”ennustevoima” on heikko. Selkeästi jotain muitakin tarkkuuden mittareita on käytössä, mutta ne pysyvät taustalla. Watsonissa on huomioitu se seikka, että vaste-sarakkeen jakauma voi olla hyvinkin vino, kuten esimerkkiaineistossa (asiakaspoistuma). Tästä johtuen on mahdollista tarkastella mallinnustuloksia myös eri näkökulmista.

28_Watson

 

27_Watson

 

Merkittävät selittävät tekijät ja mallin tulkinta

Watson antaa ainakin päätöspuun tapauksessa kaikki tarvittavat yksityiskohdat mallin tulosten tulkitsemisesta, jopa siten, että Watson tulkitsee sinulle valmiiksi kaikki oleellisimmat säännöt ja huomiot mallintamisen yksityiskohdista. Esimerkkiaineiston tapauksessa tulee selkeästi esille mitkä ovat poistumaan eniten vaikuttavat tekijät. Ihailtavan kattava yhteenveto!

 

18_Watson

 

Mitä muuta sain irti Predict-komponentista

22_Watson

 

Watsonin luoma kokonaisuus mallinnuksen tuloksista on todella kattava, jopa niin kattava, että suurin osa testisession ajasta meni ihmetellessä tuloksia. Tämä on tietysti palvelun tarkoituskin. Kattavuudesta huolimatta minulle jäi joitakin kysymysmerkkejä ilmaan:

Mistä saa esille aineiston poistumatodennäköisyyksineen? Miten Watson otti huomioon ylioppimisen, käyttikö se hyväkseen testi-/opetusaineisto ideologiaa? Tuleeko Watsoniin ominaisuus, jolla luotua mallia voidaan käyttää ennustamiseen vai onko tarkoitus vain selvittää mitkä tekijät vaikuttavat vasteeseen ja millä tavalla?

Kaiken kaikkiaan olen melko vakuuttunut Watsonin kyvyistä mallintamisen suhteen, päädyin itse hyvin samankaltaiseen malliin tehdessäni vertailuanalyysin Rapidminerillä. Vaikuttaa siltä, että Watson analytics on rakennettu Explore-komponentti edellä ja Predict-komponentti tulee kehittymään vielä tulevaisuudessa, jotta päästään todella ennustamaan muodostetulla mallilla. Voin suositella kokeilemaan Watsonin luomaa mallia referenssimallina, vaikka lopullisen mallin tekisitkin jollain muulla välineellä, sillä Watson voi paljastaa jotain, jota et ehkä ole itse huomioinut.

 

5) Yhteenveto:

Watsonin vahvuudet:

Helppokäyttöinen – Matala oppimiskynnys

Visuaalisuus – Näyttävät ja monipuoliset graafit, sekä raportointimahdollisuudet pelkästään hiirtä klikkailemalla

Nopeus – Watson toimii yllättävän stabiilisti ja nopeasti pilvipalveluksi (ainakin testin aikana)

Tulosten tulkinta – Tuloksia tulkitaan valmiiksi käyttäjälle ja tuloksien auki perkaaminen on toteutettu todella kattavaksi

Watsonin heikkoudet:

Datan muokkaus – Vähänkään vaativammat datan muokkaukset eivät onnistu? (esim. datan yhdistäminen)

Itse ennustaminen – Ennustamisessa saadaan selville mitkä tekijät vaikuttavat kiinnostuksen kohteena olevaan sarakkeeseen, mutta muodostetulla mallilla ei ilmeisesti pysty (ainakaan vielä) ennustamaan uuttaa aineistoa (esim. nykyasiakkaita)

Ei räätälöitävissä – Ennustemallin toteuttaminen on tehty liiankin automaattiseksi, ei kauheasti mahdollisuuksia vaikuttaa siihen mitä mallinnuksessa tapahtuu

 

Entä miten Watson Analytics pärjää taistelussa Azure ML:n kanssa? Siitä seuraavassa kirjoituksessa lisää. Laitettiin nimittäin Niemijärvi mallintamaan, jotta palveluiden vertaaminen olisi tasavertaista. Päihittääkö Watson “ei-niin-kokeneen” datakemistin?

Share
Contact Person

Blog writer

Lasse Liukkonen

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!