Machine learning makkelijk beschikbaar met SQL in BigQuery

BigQuery ML (BQML) maakt machine learning direct beschikbaar vanuit het data warehouse van Google, met alleen SQL als code. Modellen worden in BigQuery gebouwd en geëvalueerd en opgeslagen in tabellen, waar je direct voorspellingen kunt doen op data in het data warehouse. Veel modeltypes worden ondersteund, waaronder deep neural networks, tijdreeksanalyse, K-means-clustering en lineaire en logistische regressie. TensorFlow-modellen kun je importeren om mee te scoren of om nieuwe modellen in BigQuery te ontwikkelen. Er is ook een AutoML-functie die uit alternatieve modellen een goed model voor jouw situatie kan vinden.
Met andere woorden: BQML brengt machine learning naar het data warehouse, in plaats van data naar een machine learning-platform. Dat versnelt het ontwikkelen van modellen aanzienlijk. Data hoeft niet verplaatst of omgezet te worden voor ML-frameworks in Python, en omdat je van minder tools afhankelijk bent, wordt het proces minder complex.
Voorbeeld van een use case: conversie-intentie voorspellen
We kunnen de conversie van websitebezoekers voorspellen en conversie-intentie gebruiken voor online doelgroepen, bijvoorbeeld om advertentiebudget beter in te zetten. Mijn blog richt zich vooral op de functionaliteit en het "hoe" in BQML. Voor een uitgebreider voorbeeld van het voorspellen van conversie-intentie kun je de blogs van mijn collega Lotte over hetzelfde onderwerp lezen.
De volgende SQL-statements helpen je een model te vinden om conversie-intentie te voorspellen:
Een eerste SQL-statement wijst de tabel aan waarin het getrainde model wordt opgeslagen, geeft de modelparameters op (in dit geval logistische regressie), selecteert de trainingsdata zoals elke SQL-query dat zou doen (in dit geval bijvoorbeeld land, mobiel apparaat, besturingssysteem en paginaweergaven), wijst de labeldata aan (conversie) en start het trainen.

Een volgend statement met de functie ML.EVALUATE start de evaluatie van het model, geeft de locatie van het eerder opgeslagen model op en selecteert opnieuw data voor de evaluatie, zoals elke query dat zou doen. De evaluatiecijfers van het model verschijnen in BigQuery zodra de query klaar is.

- Heb je een goed model gevonden, dan gebruikt het volgende statement de functie ML.PREDICT. Dat geeft de locatie van het model op en selecteert direct uit het data warehouse de invoerdata van de websitebezoekers voor wie we de conversie willen voorspellen.
Voor deze use case heb je alleen wat basiskennis van SQL nodig om machine learning toe te passen, en geen kennis van ML-frameworks. Data-analisten die het data warehouse kennen, kunnen zelf ML-modellen bouwen. Met SQL bereiden ze de data voor, geven ze de modelparameters en de training op en evalueren ze het model. Zo wordt BQML beschikbaar voor meer mensen in een organisatie en gaat het ontwikkelen ook sneller.
Er staat een video van een minuut over BQML op YouTube.
Wil je BQML gebruiken voor jouw use case? We laten je graag de mogelijkheden zien en begeleiden je bij je eerste BQML-project.
OVER CRYSTALLOIDS
Crystalloids helpt bedrijven hun klantervaring te verbeteren en marketingtechnologie te bouwen. Crystalloids is in 2006 in Nederland opgericht en bouwt heldere oplossingen die klantdata omzetten in informatie en kennis in wijsheid. Als toonaangevende Google Cloud Partner combineert Crystalloids ervaring in softwareontwikkeling, data science en marketing, wat het tot een uniek IT-bedrijf maakt. Met een agile aanpak zorgt Crystalloids ervoor dat use cases direct waarde laten zien voor klanten, zodat die hun tijd meer aan besluitvorming en minder aan programmeren kunnen besteden.
