Logo Zephyrnet

Đề xuất phim với SQL bằng Google Cloud Platform

Ngày:

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.

Giới thiệu

Đã bao giờ tự hỏi làm thế nào Netflix biết lựa chọn của bạn và chiếu bộ phim bạn quan tâm? Hay bạn đã bao giờ nghĩ như thế nào chưa đàn bà gan dạ hiển thị sản phẩm được đề xuất của bạn dựa trên mục tìm kiếm của bạn? Vì vậy, điều kỳ diệu đằng sau những công nghệ này được gọi là "Động cơ khuyến nghị". 

Ảnh của Peter Herrmann trên Unsplash

Vì vậy, trong bài viết, chúng ta hãy xây dựng một cái bằng GCP (Google Cloud Platform).

BigQuery ML là gì?

Truy vấn lớn ML

https://www.cloudskillsboost.google/

Google BigQuery là hệ thống kho dữ liệu không cần phục vụ, tiết kiệm chi phí và có khả năng mở rộng cao, BigQuery ML cho phép bạn tạo và thực thi các mô hình học máy trong BigQuery chỉ bằng các truy vấn SQL chuẩn.

BigQuery ML cho phép các nhà khoa học dữ liệu, Kỹ sư ML và Kỹ sư dữ liệu nhanh chóng xây dựng và phân tích các mô hình Máy học trực tiếp bằng cách sử dụng SQL

BigQuery ML hỗ trợ những loại mô hình nào?

  • Mô hình hồi quy

  • Hồi quy tuyến tính, Hồi quy logistic nhị phân, Phân cụm hồi quy logistic đa lớp

  • K-có nghĩa là phân cụm

  • Mô hình Chuỗi thời gian để dự báo

  • Mô hình cây tăng cường -> XGBoost (Phân loại và hồi quy)

  • Mạng thần kinh sâu (DNN) -> Phân loại và hồi quy

https://cloud.google.com/bigquery-ml/docs/introduction

Truy vấn lớn nào đằng sau cảnh?

  • Tận dụng sức mạnh xử lý của BigQuery để xây dựng mô hình

  • Tốc độ học tự động điều chỉnh

  • Tự động phân chia dữ liệu thành đào tạo và kiểm tra

  • Chính quy hóa L1 / L2

  • Phân tách dữ liệu đào tạo / phân tách thử nghiệm: Ngẫu nhiên, Tuần tự, Tùy chỉnh

  • Đặt tỷ lệ học tập

Thiết lập GCP BigQuery ML

Chuyển đến tài khoản GCP của bạn, Điều hướng đến -> BigQuery, chấp nhận các điều khoản và điều kiện và nhấp vào Hoàn tất.

Máy học BigQuery

Tải tập dữ liệu

Chúng tôi có 2 tùy chọn để tạo và tải tập dữ liệu của mình

  1. Chúng tôi có thể sử dụng giao diện người dùng để tạo và tải tập dữ liệu của mình

  2. Chúng tôi có thể sử dụng các Lệnh BigQuery đơn giản để tạo và tải tập dữ liệu của mình

Tôi sẽ chỉ cho bạn cách thứ hai vì tôi thích cách thứ hai hơn.

  1. Chạy lệnh này để tạo tập dữ liệu BigQuery có tên phim:

bq - - location = EU mk - - phim tập dữ liệu

Những gì chúng tôi đang làm ở đây là chúng tôi đang chọn một vị trí và tạo một tập dữ liệu

  1. Chạy lệnh sau để tải tập dữ liệu ở định dạng CSV, Chúng tôi cũng có thể tải lên tập dữ liệu của riêng mình để tạo mô hình nhưng tôi sẽ sử dụng tập dữ liệu mở do BigQuery cung cấp.

# để tải xếp hạng

bq load --source_format = CSV --location = EU --autodetect movies.movielens_ratings gs: //dataeng-movielens/ratings.csv

# để tải phim

bq load --source_format = CSV --location = EU --autodetect movies.movielens_movies_raw gs: //dataeng-movielens/movies.csv

Sau khi chạy tất cả các lệnh trên bảng điều khiển GCP, bạn sẽ thấy dữ liệu phim

Tập dữ liệu | Google

Khám phá tập dữ liệu (EDA)

Hãy xem nhanh tập dữ liệu của chúng tôi:

Vì vậy, chúng ta có thể thấy rằng chúng ta có một thư mục tên là "phim" chứa "phimmovies" và "phimsexon_dung" bỏ qua "phimmovies_raw" ngay bây giờ

Hãy kiểm tra xem chúng tôi có loại dữ liệu nào trong tập dữ liệu “phimmovies”, vì bạn có thể thấy chúng tôi có “phimId”, “tiêu đề” và “thể loại” mà chúng tôi sẽ sử dụng trong phần xây dựng mô hình của mình.

EDA | Google

Hãy cùng xem tập dữ liệu “phimmolens_ratings” của chúng tôi

Google Cloud

Trong đó chúng tôi có “userId”, “movieId”, “rating” và timestamp

Kiểm tra tổng kích thước dữ liệu

Trên BigQuery Query Editor, hãy viết truy vấn này và thực thi:

`` `SELECT COUNT (DISTINCT userId) numUsers, COUNT (DISTINCT movieId) numMovies, COUNT (*) totalRatings FROM movies.movielens_ratings
Google đám mây
`` `CHỌN * TỪ movies.movielens_movies_raw WHERE movieId <3
`` `CHỌN * TỪ movies.movielens_movies_raw WHERE movieId <5

SQL tùy chỉnh BigQuery
Google

Như bạn có thể thấy tên cột 'thể loại' có một chuỗi được định dạng, vì vậy hãy tách (|) và lưu nó vào bảng mới.

`` `TẠO HOẶC THAY THẾ BẢNG phim.movielens_movies NHƯ CHỌN * THAY THẾ (SPLIT (thể loại," | ") NHƯ các thể loại) TỪ phim.movielens_movies_raw` ``

Chúng tôi có thể thực hiện các tranh luận bổ sung về dữ liệu khác để làm cho mô hình của chúng tôi tốt hơn.

Tạo mô hình lọc cộng tác (Dữ liệu hóa ma trận)

Để xây dựng hệ thống đề xuất của chúng tôi trong BigQueryML, chúng tôi cần chuyển model_type và chúng tôi cần xác định cột nào quan trọng đối với lọc cộng tác.

Tạo mô hình:

`` `
TẠO HOẶC THAY THẾ MÔ HÌNH movies.movie_recommender TÙY CHỌN (model_type = 'matrix_factorization', user_col = 'userId', item_col = 'movieId', rating_col = 'rating', l2_reg = 0.2, num_factors = 16) NHƯ CHỌN userId, movieId, xếp hạng TỪ phim .movielens_ratings
`` `
Google

Để xem mô hình được đào tạo của chúng tôi. Chạy truy vấn này vào trình chỉnh sửa BigQuery

CHỌN * TỪ ML.EVALUATE (MODEL `path_to_your_model.movies.movie_recommender`)

Dự đoán

Thực thi truy vấn này vào trình chỉnh sửa BigQuery

`` `CHỌN * TỪ ML.PREDICT (MODEL` path_to_your_model.movie_recommender`, (CHỌN movieId, title, 102 AS userId FROM `movies.movielens_movies`, UNNEST (sports) g WHERE g =" Romance ")) ĐẶT HÀNG THEO DESC GIỚI HẠN 5 ''

- Hãy tìm bộ phim Lãng mạn hay nhất cho userID 402.

Thực thi truy vấn này vào trình chỉnh sửa BigQuery

`` `CHỌN * TỪ ML.PREDICT (MODEL` path_to_your_model.movie_recommender`, (CHỌN movieId, title, 402 AS userId FROM `movies.movielens_movies`, UNNEST (sports) g WHERE g =" Comedy ")) ĐẶT HÀNG THEO DESC GIỚI HẠN 5 ''

Kết luận

Trong bài viết này, chúng ta đã học cách sử dụng BigQueryML để tạo Mô hình ML bằng SQL. Những điều rút ra chính từ bài báo là:

  • Cách tải dữ liệu vào khung GCP của bạn.
  • Cách xử lý trước dữ liệu bằng các lệnh SQL.
  • Cách trực quan hóa dữ liệu bằng Google Data Studio.
  • Cách sử dụng BigQueryML để tạo mô hình trực tiếp vào Đám mây và đưa ra đề xuất về nó.

Vậy là xong, tôi hy vọng bạn đã học được điều gì đó từ bài viết này, hẹn gặp lại bạn trong bài viết tiếp theo.

Nếu bạn muốn biết làm thế nào để xây dựng và chạy mô hình Học máy với SQL xem blog Học máy với SQL của tôi: - https://iamhimanshutripathi0.medium.com/machine-learning-with-sql-30e942c75240

Tôi đã cung cấp các liên kết hình ảnh cho những hình ảnh không phải của tôi.

Hãy kết nối trên Linkedin, Twitter, Instagram, GithubFacebook.

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?