Google mô tả BigQuery là “ Kho dữ liệu đám mây không máy chủ, có khả năng mở rộng cao và tiết kiệm chi phí được thiết kế để giúp bạn nhanh chóng đưa ra quyết định, vì vậy bạn có thể chuyển đổi doanh nghiệp của mình một cách dễ dàng ”
>>Đọc thêm:
Khoá học Truy vấn và thao tác dữ liệu (SQL) từ cơ bản đến nâng cao
LỘ TRÌNH TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU
DATA ENGINEER LÀ GÌ? CÔNG VIỆC CHÍNH CỦA DATA ENGINEER? CÁC KỸ NĂNG CẦN THIẾT
Tuy nhiên, có nhiều điều mà BigQuery cung cấp khi nói đến Học máy. Nền tảng BigQuery cung cấp khả năng học máy dựa trên dữ liệu đang được lưu trữ trong BigQuery bằng cách sử dụng cú pháp SQL chuẩn.
Chúng ta sẽ xem xét việc xây dựng mô hình Học máy trong BigQuery dễ dàng như thế nào bằng cách sử dụng tập dữ liệu mẫu IRIS dataset.
UseCase : Chúng ta sẽ xây dựng một mô hình để dự đoán loài hoa dựa trên 4 đặc điểm đầu vào là chiều dài đài hoa, chiều rộng đài hoa, chiều dài cánh hoa, chiều rộng cánh hoa.
DataSet : https://gist.github.com/387878da45a36d32e4ccced3c6cad3ef.git
- Tạo một dự án mới có tên “machinelearning” trong nền tảng GCP.
- Tải xuống bộ dữ liệu IRIS. Dữ liêu của tập dữ liệu có dạng như sau:
- Tạo bucket trong GCS và upload dữ liệu (định dạng CSV) lên bucket . Bạn có thể đọc thêm về Google Cloud Storage tại https://cloud.google.com/storage
- Truy cập vào BigQuery Web UI. Bạn có thể đọc thêm về BigQuery tại https://cloud.google.com/bigquery
- Tạo một dataset mới có tên là “irisdataset” trong project mới được. Bạn có thể đọc thêm về Tập dữ liệu BigQuery tại https://cloud.google.com/bigquery/docs/datasets-intro
- Click vào “irisdataet” và sau đó click vào “Create Table” trong BigQuery WebUI.
Đặt thuộc tính Tạo bảng như sau:
- “Create Table From” -> “Google Cloud Storage” ,
- “Select file from GCS Bucket” -> “Chọn đường dẫn tới File” ,
- “File Format” -> “CSV” ,
- “Project Name” -> “<<Tên của project>>” ,
- “Dataset Name” -> “irisdateset” ,
- “Table Type” -> “Native table” ,
- “Table Name” -> “irisdata” ,
- “Schema and Input Parameters” -> “Enable the check box”
- Trong Tùy chọn nâng cao, hãy đặt giá trị của “Header rows to skip” là 1. Bạn có thể đọc thêm về Bảng BigQuery tại https://cloud.google.com/bigquery/docs/tables-intro
- Xác thực rằng bảng “irisdata” đã insert dữ liệu bằng cách chạy truy vấn sau:
SELECT
*
FROM
`<<ProjectID>>.irisdataset.irisdata`
LIMIT
1000
- Bây giờ chúng ta sẽ tạo một mô hình học máy trên dữ liệu này. Bạn có thể đọc thêm về BigQuery Machine Learning tại https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
- Vui lòng thực hiện câu lệnh dưới đây để tạo mô hình học máy. Sau khi được thực thi, nó sẽ tạo ra một mô hình được đào tạo tên “irisdata_model” trong irisdataset. Liên kết trên cũng cung cấp các mô hình học máy được BigQuery hỗ trợ. Bạn có thể đọc thêm về câu lệnh CREATE MODEL tại https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#model_option_list
CREATE OR REPLACE MODEL
`irisdataset.irisdata_model`
OPTIONS
( model_type='LOGISTIC_REG',
auto_class_weights=TRUE,
data_split_method='NO_SPLIT',
input_label_cols=['species'],
max_iterations=10) AS
SELECT
*
FROM
`irisdataset.irisdata`
- Chúng ta có thể lấy thông tin chi tiết về mô hình bằng cách nhấp vào tab Details để xem thông tin về mô hình học máy
- Chúng ta có thể xem thông tin đào tạo của mô hình bằng cách nhấp vào tab Training để xem thông tin đào tạo về mô hình học máy.
- Chúng ta có thể xem thông tin đánh giá của mô hình bằng cách nhấp vào tab Evaluation để xem thông tin đào tạo về mô hình học máy.
- Chúng ta có thể lấy thông tin lược đồ của mô hình bằng cách nhấp vào tab Schema để xem thông tin đào tạo về mô hình học máy.
- Bây giờ mô hình đã được tạo, chúng ta có thể sử dụng mô hình tương tự để dự đoán loài cho bất kỳ dữ liệu đầu vào nào hoặc cho dữ liệu được lưu trữ trong Big Query.
Hãy xem cách làm dự đoán ngay bây giờ. Hãy xem cách chúng ta có thể làm điều đó đối với bất kỳ dữ liệu đầu vào nào.
SELECT
*
FROM
ML.PREDICT (MODEL `irisdataset.irisdata_model`,
(
SELECT
5.1 AS sepal_length,
2.5 AS sepal_width,
3 AS petal_length,
1.1 AS petal_width ) )
- Như bạn thấy ở trên, nó đã dự đoán cả 3 lớp với xác suất. Giá trị xác suất lớn nhất có thể được xem xét.
- Bây giờ chúng ta hãy dự đoán cho dữ liệu được lưu trữ trong chính BigQuery. Chúng ta sẽ sử dụng cùng một tập dữ liệu với 5 bản ghi đầu tiên làm đầu vào. Tuy nhiên, bạn có thể sử dụng bất kỳ tập dữ liệu nào miễn là đầu vào vẫn giữ nguyên.
SELECT
*
FROM
ML.PREDICT (MODEL `irisdataset.irisdata_model`,
(
SELECT
*
FROM
`irisdataset.irisdata`
LIMIT
5 ) )
- Hy vọng bài viết này đã cung cấp cho bạn phần giới thiệu về Khả năng học máy của BigQuery. Nếu bạn có bất kỳ thắc mắc hoặc vướng mắc nào, hãy bình luận bên dưới.
>>Đọc thêm:
Khoá học Truy vấn và thao tác dữ liệu (SQL) từ cơ bản đến nâng cao
LỘ TRÌNH TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU
DATA ENGINEER LÀ GÌ? CÔNG VIỆC CHÍNH CỦA DATA ENGINEER? CÁC KỸ NĂNG CẦN THIẾT