Blog

Giới thiệu về Machine Learning trong Google BigQuery (BigQuery ML)

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:
IRIS DataSet
  • 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
Tải tệp IRIS DataSet lên Nhóm GCS
WebUI BigQuery
Tạo DataSet
  • Click vào “irisdataet” và sau đó click vào “Create Table” trong BigQuery WebUI.
Tạo bảng trong DataSet

Đặ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”
Tạo thuộc tính bảng
Đặt Header rows to skip là “1”
  • 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

Kết quả trả về
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`
Truy vấn tạo mô hình học máy
  • 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
Chi tiết mô hình
  • 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.
Thông tin đào tạo mô hình
  • 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.
Thông tin Đánh giá Mô hình
  • 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.
Chi tiết lược đồ mô hình
  • 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 ) )
Dự đoán cho dữ liệu đầu vào
  • 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 ) )
Dự đoán cho dữ liệu trong BigQuery
  • 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

    Xin vui lòng điền vào form dưới đây. Chúng tôi sẽ liên hệ lại ngay cho bạn khi nhận được thông tin:


    Trả lời

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *