Processing math: 100%

Google Cloud Platform IT

【GCP】BigQueryのBQML

2021年7月8日

BQML

BQMLとはBigQuery Machine Learningの略で、要はBigQueryのデータに対して機械学習ができるよ!ということですね!
BigQueryでできるので、sql文のような形で書いて気軽に機械学習を実行することのできる優れものです。

ただまだ機能としては、
回帰分析、ロジスティック回帰分析、クラスター分析しかできないためそこまでメジャーなものではないので、
試験的にやってみるくらいで試してみるのがいいかなと思います。

早速コード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// これで分析モデルの構築
CREATE or REPLACE MODEL
'分析モデル名'
TRANSFORM
OPTIONS
(model_type=' 回帰分析なのか、ロジスティックなのかを指定')
AS
SELECT
data1,
data2,
data3,
目的変数 as LABEL
FROM
どのテーブル?
WHERE
=== 分析結果のパラメータを取得 ===
SELECT
*
FROM
ML.WEIGHTS(model `dataset.sample_model` )
=== 分析精度を見たい場合 ===
SELECT
*
FROM
ML.EVALUATE( model `dataset.sample_model`,
(
SELECT
feature1,
feature2,
feature3,
feature4,
price AS label
FROM
`dataset.table1`))
=== 予測結果を見たい場合 ===
SELECT
*
FROM
ML.PREDICT( model `dataset.sample_model`,
(
SELECT
feature1,
feature2,
feature3,
feature4,
price AS label
FROM
`dataset.table2`))
// これで分析モデルの構築 CREATE or REPLACE MODEL '分析モデル名' TRANSFORM OPTIONS (model_type=' 回帰分析なのか、ロジスティックなのかを指定') AS SELECT data1, data2, data3, 目的変数 as LABEL FROM どのテーブル? WHERE === 分析結果のパラメータを取得 === SELECT * FROM ML.WEIGHTS(model `dataset.sample_model` ) === 分析精度を見たい場合 === SELECT * FROM ML.EVALUATE( model `dataset.sample_model`, ( SELECT feature1, feature2, feature3, feature4, price AS label FROM `dataset.table1`)) === 予測結果を見たい場合 === SELECT * FROM ML.PREDICT( model `dataset.sample_model`, ( SELECT feature1, feature2, feature3, feature4, price AS label FROM `dataset.table2`))
// これで分析モデルの構築
CREATE or REPLACE MODEL
'分析モデル名'
TRANSFORM

OPTIONS
    (model_type=' 回帰分析なのか、ロジスティックなのかを指定')
AS
    SELECT
        data1,
        data2,
        data3,
        目的変数 as LABEL
    FROM 
        どのテーブル?
    WHERE

=== 分析結果のパラメータを取得 ===
SELECT
    *
FROM
    ML.WEIGHTS(model `dataset.sample_model` )

=== 分析精度を見たい場合 ===
SELECT
  *
FROM
  ML.EVALUATE( model `dataset.sample_model`,
    (
    SELECT
      feature1,
      feature2,
      feature3,
      feature4,
      price AS label
    FROM
      `dataset.table1`))

=== 予測結果を見たい場合 ===
SELECT
  *
FROM
  ML.PREDICT( model `dataset.sample_model`,
    (
    SELECT
      feature1,
      feature2,
      feature3,
      feature4,
      price AS label
    FROM
      `dataset.table2`))

CREATE MODELをすると、左のデータセットの表示の箇所に作成したMODELの一覧が表示されます。

分析モデル

View 説明
CREATE MODEL --
CREATE MODEL IF NOT EXISTS --
CREATE OR REPLACE 新規で分析モデルを構築する

model_type

View 説明
LINEAR_REG 回帰分析
LOGISTIC_REG ロジスティック回帰分析
KMEANS クラスター分析(k-means)
TENSORFLOW テンソルフロー
0

-Google Cloud Platform, IT
-,

S