Mendapatkan insight data dari model analisis kontribusi menggunakan metrik yang dapat dijumlahkan
Dalam tutorial ini, Anda akan menggunakan model analisis kontribusi untuk menganalisis perubahan tarif taksi antara tahun 2011 dan 2012 di New York City. Tutorial ini akan memandu Anda melakukan tugas-tugas berikut:
- Membuat tabel input berdasarkan data taksi yang tersedia untuk publik.
- Membuat model analisis kontribusi yang menggunakan metrik yang dapat dijumlahkan. Jenis model ini meringkas metrik tertentu untuk kombinasi satu atau beberapa dimensi dalam data, untuk menentukan kontribusi dimensi tersebut terhadap nilai metrik.
- Dapatkan insight metrik dari model menggunakan
fungsi
ML.GET_INSIGHTS
.
Sebelum memulai tutorial ini, Anda harus memahami kasus penggunaan analisis kontribusi.
Izin yang diperlukan
Untuk membuat set data, Anda memerlukan izin Identity and Access Management (IAM)
bigquery.datasets.create
.Untuk membuat model, Anda memerlukan izin berikut:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Untuk menjalankan inferensi, Anda memerlukan izin berikut:
bigquery.models.getData
bigquery.jobs.create
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Untuk mengetahui informasi selengkapnya tentang harga BigQuery, lihat harga BigQuery dalam dokumentasi BigQuery.
Sebelum memulai
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API BigQuery.
Membuat set data
Buat set data BigQuery untuk menyimpan model ML Anda:
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, klik nama project Anda.
Klik
View actions > Create dataset.Di halaman Create dataset, lakukan hal berikut:
Untuk Dataset ID, masukkan
bqml_tutorial
.Untuk Location type, pilih Multi-region, lalu pilih US (multiple regions in United States).
Set data publik disimpan di
US
multi-region. Untuk mempermudah, simpan set data Anda di lokasi yang sama.Jangan ubah setelan default yang tersisa, lalu klik Create dataset.
Membuat tabel data input
Buat tabel yang berisi data pengujian dan kontrol untuk dianalisis. Kueri berikut membuat dua tabel perantara, tabel pengujian dengan data taksi dari tahun 2012 dan tabel kontrol dengan data taksi dari tahun 2011, lalu melakukan penggabungan tabel perantara untuk membuat tabel dengan baris pengujian dan kontrol serta kumpulan kolom yang sama.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, jalankan pernyataan berikut:
CREATE OR REPLACE TABLE bqml_tutorial.taxi_control_and_test AS ( SELECT vendor_id, passenger_count, payment_type, pickup_location_id, EXTRACT(MONTH FROM pickup_datetime) AS month, AVG(total_amount) AS avg_total_fare, FALSE AS is_test FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2011` WHERE total_amount > 0 GROUP BY vendor_id, passenger_count, payment_type, pickup_location_id, month, is_test ) UNION ALL ( SELECT vendor_id, passenger_count, payment_type, pickup_location_id, EXTRACT(MONTH FROM pickup_datetime) AS month, AVG(total_amount) AS avg_total_fare, TRUE AS is_test FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2012` WHERE total_amount > 0 GROUP BY vendor_id, passenger_count, payment_type, pickup_location_id, month, is_test );
Membuat model
Buat model analisis kontribusi:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, jalankan pernyataan berikut:
CREATE OR REPLACE MODEL `bqml_tutorial.taxi_contribution_analysis_model` OPTIONS ( MODEL_TYPE = 'CONTRIBUTION_ANALYSIS', CONTRIBUTION_METRIC = 'SUM(avg_total_fare)', DIMENSION_ID_COLS = ['vendor_id', 'passenger_count', 'pickup_location_id', 'payment_type', 'month'], IS_TEST_COL = 'is_test', MIN_APRIORI_SUPPORT = 0.05) AS SELECT * FROM bqml_tutorial.taxi_control_and_test;
Kueri ini selesai dalam waktu sekitar 20 detik, setelah itu model
taxi_contribution_analysis_model
akan muncul di set data bqml_tutorial
di
panel Explorer. Karena kueri menggunakan pernyataan CREATE MODEL
untuk
membuat model, tidak akan ada hasil kueri.
Mendapatkan insight dari model
Dapatkan insight yang dihasilkan oleh model analisis kontribusi menggunakan
fungsi ML.GET_INSIGHTS
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, jalankan pernyataan berikut:
SELECT * FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.taxi_contribution_analysis_model`) ORDER BY unexpected_difference DESC;
Beberapa baris pertama output akan terlihat seperti berikut:
+----------------------------------+-----------+-----------------+--------------+--------------------+-------+-------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | contributors | vendor_id | passenger_count | payment_type | pickup_location_id | month | metric_test | metric_control | difference | relative_difference | unexpected_difference | relative_unexpected_difference | apriori_support | +----------------------------------+-----------+-----------------+--------------+--------------------+-------+-------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["all"] | NULL | NULL | NULL | NULL | NULL | 1305121.630946658 | 983978.603443601 | 321143.027503057 | 0.326371962 | 321143.027503057 | 0.326371962 | 1 | | ["payment_type=5","vendor_id=2"] | 2 | NULL | 5 | NULL | NULL | 82996.99307095 | 0 | 82996.99307095 | NULL | 82996.99307095 | NULL | 0.063593301 | | ["payment_type=5"] | NULL | NULL | 5 | NULL | NULL | 82996.99307095 | 138.26 | 82858.73307095 | 599.296492629 | 82825.246757081 | 482.253417818 | 0.063593301 | | ["payment_type=3","vendor_id=1"] | 1 | NULL | 3 | NULL | NULL | 82167.169133767 | 0 | 82167.169133767 | NULL | 82167.169133767 | NULL | 0.06295748 | | ["payment_type=3"] | NULL | NULL | 3 | NULL | NULL | 82167.169133767 | 0 | 82167.169133767 | NULL | 82167.169133767 | NULL | 0.06295748 | | ["payment_type=4","vendor_id=1"] | 1 | NULL | 4 | NULL | NULL | 67418.589902631 | 0 | 67418.589902631 | NULL | 67418.589902631 | NULL | 0.05165694 | +----------------------------------+-----------+-----------------+--------------+--------------------+-------+-------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+
Karena Anda melakukan analisis kontribusi pada metrik yang dapat dijumlahkan, hasilnya berisi kolom output metrik yang dapat dijumlahkan.
Pembersihan
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.