Lập mô hình hồi quy trong Ads Data Hub

Đường hồi quy tuyến tính và hồi quy logistic là các mô hình học máy giúp bạn tạo ra thông tin dự đoán có ý nghĩa từ dữ liệu quảng cáo.

  • Phương pháp hồi quy tuyến tính tạo một hàm để điều chỉnh một đường thẳng cho phù hợp với dữ liệu sao cho khoảng cách giữa các điểm dữ liệu và đường thẳng được giảm thiểu. Sau đó, bạn có thể sử dụng mô hình này để dự đoán giá trị số dựa trên dữ liệu đầu vào, chẳng hạn như dự đoán giá trị vòng đời của người dùng dựa trên giao dịch mua, lượt tương tác trước đó, v.v.
  • Hồi quy logistic được dùng cho các vấn đề phân loại dự đoán. Mô hình có thể là một trong 2 loại tuỳ thuộc vào số lượng biến mà bạn cung cấp:
    • Phương pháp hồi quy logistic nhị phân trả lời các câu hỏi "có/không", chẳng hạn như xác suất xảy ra sự kiện chuyển đổi.
    • Phương pháp hồi quy logistic nhiều lớp được dùng để dự đoán nhiều giá trị có thể có, chẳng hạn như xác định xem khách hàng là "có giá trị thấp", "có giá trị trung bình" hay "có giá trị cao".

Cả hồi quy tuyến tính và hồi quy logistic đều học từ dữ liệu huấn luyện (trong trường hợp này là dữ liệu quảng cáo của bạn), cung cấp cho bạn một mô hình dự đoán để đưa ra quyết định quảng cáo. Nhìn chung, việc cung cấp nhiều dữ liệu hơn và đảm bảo rằng dữ liệu bạn cung cấp có chất lượng cao sẽ giúp cải thiện độ chính xác của mô hình. Cả hai mô hình đều hoạt động hiệu quả hơn khi được cung cấp dữ liệu huấn luyện được nhóm chặt chẽ.

Sự riêng tư biệt lập

Cả hồi quy tuyến tính và hồi quy logistic đều sử dụng quyền riêng tư biệt lập. Đây là một hệ thống kiểm tra quyền riêng tư khác với hệ thống mà các hoạt động khác trong Trung tâm dữ liệu quảng cáo sử dụng. Tính năng sự riêng tư biệt lập đảm bảo quyền riêng tư của người dùng cuối bằng cách chèn nhiễu vào kết quả của bạn trong quá trình huấn luyện. Mức độ nhiễu này vẫn đủ thấp để kết quả cuối cùng vẫn hữu ích, nhưng đủ cao để không thể xác định người dùng cuối. Ngoài ra, mức độ nhiễu không xác định, do đó kết quả có mức độ nhiễu không nhất quán, giúp đảm bảo hơn nữa quyền riêng tư của người dùng cuối.

Giới hạn truy vấn

Bạn chỉ được phép thực hiện 100 truy vấn lập mô hình hồi quy tuyến tính và hồi quy logistic mỗi "ngày dữ liệu" khi sử dụng EPSILON_PER_MODEL mặc định. Ngày dữ liệu đề cập đến các sự kiện được tạo vào một ngày nhất định. Các sự kiện này tương ứng với ngày bắt đầu và ngày kết thúc mà bạn cung cấp khi chạy truy vấn, cũng như ngày bắt đầu và ngày kết thúc được dùng khi tạo bất kỳ bảng nào mà truy vấn của bạn sử dụng, chẳng hạn như bảng tạm thời dùng để huấn luyện. Điều này có nghĩa là dữ liệu của 1 ngày chỉ có thể được sử dụng trong tối đa 100 mô hình. Nếu chọn chỉ định giá trị EPSILON_PER_MODEL lớn hơn giá trị mặc định, bạn sẽ có thể tạo ít mô hình hơn nhưng các mô hình đó sẽ có chất lượng cao hơn. Và nếu chọn các giá trị EPSILON_PER_MODEL nhỏ hơn, bạn có thể huấn luyện nhiều mô hình hơn, nhưng các mô hình đó sẽ có chất lượng thấp hơn.

Cách hoạt động

Quy trình công việc tuân theo các bước thiết yếu sau:

  1. Chuẩn bị dữ liệu huấn luyện.
  2. Tạo mô hình.
  3. Thu thập thông tin chi tiết từ mô hình.

Chuẩn bị dữ liệu huấn luyện

Như đã đề cập ở trên, việc sử dụng các tập dữ liệu lớn hơn và có chất lượng cao thường sẽ mang lại kết quả tốt hơn. Ngoài ra, vì dữ liệu đầu vào được điều chỉnh theo tỷ lệ bằng cách sử dụng tỷ lệ tối thiểu-tối đa, nên dữ liệu được nhóm lại thưa thớt hoặc dữ liệu có giá trị ngoại lai đáng kể có thể ảnh hưởng bất lợi đến mô hình bằng cách di chuyển giá trị trung bình.

Theo mặc định, Ads Data Hub sẽ chọn ngẫu nhiên 18% dữ liệu huấn luyện để sử dụng cho việc xác thực. Bạn có thể kiểm soát tỷ lệ phần trăm dữ liệu dùng để xác thực bằng tuỳ chọn data_split_eval_fraction.

Tạo mô hình

Chỉ định các tham số và dữ liệu đầu vào để huấn luyện mô hình.

Các phương pháp hay nhất

Một trong những yếu tố quan trọng nhất đối với chất lượng của mô hình là kích thước của tập huấn luyện. Tuy nhiên, sự đánh đổi giữa kích thước/chất lượng sẽ khác nhau tuỳ thuộc vào vấn đề và các yếu tố được liệt kê bên dưới. Vui lòng cho chúng tôi biết trải nghiệm của bạn.

  • Chúng tôi nhận thấy độ chính xác > 0,70 đối với các mô hình hồi quy logistic được tạo từ các tập huấn luyện có ít nhất 100.000 người dùng.
  • Chúng tôi đã thấy r-squared > 0,70 đối với các mô hình hồi quy tuyến tính được tạo từ các tập huấn luyện có ít nhất 800.000 người dùng.

Có những yếu tố khác có thể làm giảm chất lượng của mô hình.

  • Mô hình logistic trong đó một lớp được thể hiện nhiều hơn nhiều so với các lớp khác. Cụ thể, khi một nhãn có ít người dùng trong tập huấn luyện, việc có nhiều người dùng trong tập huấn luyện với các nhãn khác có thể sẽ không giúp ích nhiều cho độ chính xác của mô hình trên nhãn nhỏ. Ví dụ: 20.000 và 1.000 người dùng trong tập huấn luyện cho hai nhãn sẽ kém hiệu quả hơn so với 10.000 và 2.000.
  • Dữ liệu tính năng không cung cấp tín hiệu mạnh cho nhãn.
  • Dữ liệu thô cần kỹ thuật xử lý tính năng chuyên sâu hơn. Ví dụ: một số trường có thể có rất nhiều giá trị có thể có. Một cách để cải thiện dữ liệu loại này là chuyển đổi các giá trị thành một đặc điểm có ít danh mục hoặc nhóm hơn.

Thu thập thông tin chi tiết

Bạn có thể gọi các hàm để đánh giá hiệu suất của mô hình trên dữ liệu xác thực, kiểm tra các tính năng và thông tin về các lần lặp lại của quá trình huấn luyện (chẳng hạn như trọng số cơ bản mà mô hình sử dụng trong quá trình dự đoán) và dự đoán trên dữ liệu chưa thấy.

Câu lệnh CREATE MODEL

Câu lệnh CREATE MODEL tạo một mô hình có tên và tập dữ liệu mà bạn chỉ định. Nếu tên mô hình đã tồn tại, CREATE MODEL sẽ thay thế mô hình hiện có.

Cú pháp CREATE MODEL

CREATE MODEL
model_name
OPTIONS
(
  // model_option_list:
  // Required parameter.
  MODEL_TYPE = { 'ADH_LINEAR_REGRESSION' | 'ADH_LOGISTIC_REGRESSION'}

  // Optional tuning parameters.
  [, L1_REG = float64_value ]
  [, L2_REG = float64_value ]
  [, DATA_SPLIT_EVAL_FRACTION = float64_value ]
  [, OPTIMIZE_STRATEGY = { 'AUTO_STRATEGY' | 'BATCH_GRADIENT_DESCENT' |
                           'NORMAL_EQUATION' } ]
  [, MAX_ITERATIONS = int64_value ]
  [, LEARN_RATE_STRATEGY = { 'LINE_SEARCH' | 'CONSTANT' } ]
  [, LEARN_RATE = float64_value ]
  [, EARLY_STOP = { TRUE | FALSE } ]
  [, MIN_REL_PROGRESS = float64_value ]
  [, LS_INIT_LEARN_RATE = float64_value ]
  [, EPSILON_PER_MODEL = float64_value ]
  [, AUTOMATIC_IMPUT_SCALING = bool_value ]
  [, MIN_MAX_SCALED_COLS = [string_value, string_value... ] ]
  [, STANDARD_SCALED_COLS = [string_value, string_value... ] ]
  [, QUANTILE_BUCKETIZED_COLS = [
        STRUCT(string_value AS col_name, int64_value AS num_buckets), 
       STRUCT(string_value AS col_name, int64_value AS num_buckets)... ] ]
)
AS query_statement

model_name

Tên gồm chữ và số, bao gồm cả dấu gạch dưới và dấu gạch ngang. Không được chứa dấu chấm. Nếu tên mô hình mà bạn cung cấp đã tồn tại, thì mô hình cũ sẽ bị ghi đè.

query_statement

Chỉ định truy vấn SQL chuẩn được dùng để tạo dữ liệu huấn luyện. Nếu bạn đang tạo nhiều mô hình bằng cùng một dữ liệu huấn luyện, hãy tạo một bảng tạm thời chứa dữ liệu huấn luyện và tham chiếu bảng đó tại đây. Chiến thuật này giúp tránh các lỗi kiểm tra chênh lệch tiềm ẩn do xoá sạch hoặc thư rác muộn.

model_option_list

model_type

(Bắt buộc) Tuỳ chọn bắt buộc duy nhất. Có thể là "adh_linear_regression" hoặc "adh_logistic_regression"

l1_reg

(Không bắt buộc) Mức độ điều chỉnh L1 được áp dụng. Phương pháp chuẩn hoá L1 sẽ phạt các trọng số theo tỷ lệ với tổng giá trị tuyệt đối của các trọng số. Có thể là bất kỳ số dương nào, mặc định là 0.

l2_reg

(Không bắt buộc) Mức độ điều hoà L2 được áp dụng. Phương pháp chuẩn hoá L2 sẽ phạt các trọng số theo tỷ lệ với căn bậc hai của tổng các bình phương của các trọng số. Có thể là bất kỳ số dương nào, mặc định là 0.

data_split_eval_fraction

(Không bắt buộc) Phải nằm trong khoảng từ 0,01 đến 0,99, mặc định là 0,18. Xác định tỷ lệ phần trăm dữ liệu kết thúc trong tập dữ liệu đánh giá. Điều này ảnh hưởng đến độ chính xác của mô hình bằng cách giảm số lượng hàng kết thúc trong mô hình, nhưng cũng làm tăng số lượng mô hình mà người dùng có thể chạy. Dưới đây là biểu đồ về mối quan hệ đó, giả sử MỌI mô hình trên một tập dữ liệu nhất định đều có cùng một phân số:

Phân số xác thực Truy vấn được phép
0,01 7
0,1 8
0,15 8
0,18 9
0,2 9
0,3 10
0,5 14
0,9 50

optimize_strategy

(Không bắt buộc) Chiến lược huấn luyện mô hình hồi quy tuyến tính.

Đối số

"AUTO_STRATEGY" xác định chiến lược huấn luyện như sau:

  • Nếu bạn chỉ định l1_reg hoặc warm_start, thì chiến lược batch_gradient_descent sẽ được sử dụng.
  • Nếu tổng số lượng giá trị riêng biệt của các tính năng huấn luyện lớn hơn 10.000, thì chiến lược batch_gradient_descent sẽ được sử dụng.
  • Nếu có vấn đề về việc điều chỉnh quá mức (số ví dụ huấn luyện ít hơn 10 • tổng số lượng giá trị riêng biệt), thì chiến lược batch_gradient_descent sẽ được sử dụng.
  • Chiến lược NORMAL_EQUATION được dùng cho tất cả các trường hợp khác.

"BATCH_GRADIENT_DESCENT" (chỉ logistic) huấn luyện mô hình bằng phương pháp giảm dần theo gradient theo lô, giúp tối ưu hoá hàm tổn thất bằng hàm gradient.

'NORMAL_EQUATION' (chỉ tuyến tính) trực tiếp tính toán giải pháp bình phương tối thiểu của bài toán hồi quy tuyến tính bằng công thức phân tích. Bạn không thể sử dụng phương trình chuẩn trong các trường hợp sau:

  • l1_reg được chỉ định.
  • warm_start được chỉ định.
  • Tổng số lượng giá trị riêng biệt của các tính năng huấn luyện là hơn 10.000.
  • Giá trị mặc định là "AUTO_STRATEGY".

max_iterations

(Không bắt buộc) Số lần lặp lại hoặc số bước huấn luyện. Vì truy vấn này tạo một cây cho mỗi lần lặp, nên đây cũng là số lượng cây. Phải là số nguyên lớn hơn 1. Giá trị mặc định là 20.

learn_rate_strategy

(Không bắt buộc, chỉ dành cho logistic) Chiến lược chỉ định tốc độ học trong quá trình huấn luyện.

Đối số

'LINE_SEARCH' sử dụng phương thức tìm kiếm đường để tính tốc độ học. Tốc độ học ban đầu của tính năng tìm kiếm đường là giá trị được chỉ định cho LS_INIT_LEARN_RATE .

  • Tìm kiếm dòng làm chậm quá trình huấn luyện và tăng số lượng byte được xử lý, nhưng thường hội tụ ngay cả khi tốc độ học được chỉ định ban đầu lớn hơn.

"CONSTANT" đặt tốc độ học thành giá trị được chỉ định cho LEARN_RATE.

Giá trị mặc định là "LINE_SEARCH".

learn_rate

(Không bắt buộc, chỉ dành cho logistic) Tốc độ học cho phương pháp hạ gradient khi LEARN_RATE_STRATEGY được đặt thành CONSTANT. Nếu bạn đặt LEARN_RATE_STRATEGY thành "LINE_SEARCH", hệ thống sẽ trả về lỗi.

Đối số

float64_value có thể là bất kỳ số dấu phẩy động 64 bit nào. Giá trị mặc định là 0,1 (10%).

early_stop

(Không bắt buộc) Liệu quá trình huấn luyện có nên dừng sau lần lặp đầu tiên mà mức cải thiện tổn thất tương đối nhỏ hơn giá trị được chỉ định cho MIN_REL_PROGRESS hay không.

Đối số

TRUE cho "có", FALSE cho "không". Mặc định là TRUE.

min_rel_progress

(Không bắt buộc) Mức cải thiện tổn thất tương đối tối thiểu cần thiết để tiếp tục huấn luyện khi EARLY_STOP được đặt thành true. Ví dụ: giá trị 0, 01 cho biết rằng mỗi lần lặp lại phải giảm tổn thất đi 1% để quá trình huấn luyện tiếp tục.

Đối số

float64_value có thể là bất kỳ số dấu phẩy động 64 bit nào. Giá trị mặc định là 0,1 (10%).

ls_init_learn_rate

(Không bắt buộc) Đặt tốc độ học ban đầu mà LEARN_RATE_STRATEGY='LINE_SEARCH' sử dụng. Bạn chỉ có thể sử dụng tuỳ chọn này nếu chỉ định LINE_SEARCH.

Nếu LEARN_RATE của mô hình có vẻ như tăng gấp đôi mỗi lần lặp lại như được ML.TRAINING_INFO cho biết, hãy thử đặt LS_INIT_LEARN_RATE thành tốc độ học tăng gấp đôi gần đây nhất. Tốc độ học ban đầu tối ưu khác nhau tuỳ theo từng mô hình. Tốc độ học ban đầu phù hợp cho một mô hình có thể không phù hợp với một mô hình khác.

Đối số

float64_value có thể là bất kỳ số dấu phẩy động 64 bit nào.

epsilon_per_model

(Không bắt buộc) Chỉ định mức ngân sách quyền riêng tư sẽ được dùng để huấn luyện mô hình này. Mỗi khách hàng dữ liệu quảng cáo được cấp ngân sách quyền riêng tư là 10.0 cho mỗi ngày dữ liệu. Mô hình được huấn luyện thành công sẽ chi tiêu EPSILON_PER_MODEL của ngân sách cho mỗi ngày dữ liệu trong phạm vi ngày được chỉ định khi chạy truy vấn. Việc sử dụng giá trị mặc định ln(3)/10 sẽ cho phép tạo khoảng 100 mô hình. Nếu sử dụng giá trị cao hơn, bạn sẽ tạo được ít mô hình hơn nhưng chất lượng sẽ cao hơn. Nếu sử dụng giá trị nhỏ hơn, bạn sẽ có thể tạo nhiều mô hình hơn với chất lượng thấp hơn.

Đối số

float64_value có thể là bất kỳ số dấu phẩy động 64 bit dương nào nhỏ hơn ln(3), tức là khoảng 1,0986. Giá trị mặc định là ln(3)/10.

automatic_input_scaling

(Không bắt buộc) Khi TRUE, tất cả cột tính năng dạng số sẽ tự động áp dụng min_max_scaling, như thể tên cột được gọi rõ ràng trong tuỳ chọn min_max_scaled_cols, ngoại trừ mọi cột đã được gọi rõ ràng trong tuỳ chọn standard_scaled_cols hoặc quantile_bucketized_cols.

Đối số

bool_valueBOOL, giá trị mặc định là TRUE.

min_max_scaled_cols

(Không bắt buộc) Điều chỉnh theo tỷ lệ từng cột tính năng numerical_expression đã chỉ định trong phạm vi từ 0 đến 1, giới hạn bằng MINMAX trên tất cả các hàng. Hệ thống sẽ tự động sử dụng cùng một MINMAX trong quá trình dự đoán. Nếu dữ liệu dự đoán nằm ngoài phạm vi MIN, MAX, thì dữ liệu đó sẽ được giới hạn ở mức 0 hoặc 1.

Đối số

Mảng string_value, trong đó mỗi string_value là một STRING đại diện cho tên cột cần chuyển đổi.

standard_scaled_cols

(Không bắt buộc) Tiêu chuẩn hoá các cột tính năng numerical_expression đã chỉ định trên tất cả các hàng. STDDEVMEAN được tính toán để chuẩn hoá biểu thức sẽ tự động được dùng trong quá trình dự đoán.

Đối số

Mảng string_value, trong đó mỗi string_value là một STRING đại diện cho tên cột cần chuyển đổi.

quantile_bucketized_cols

Gộp các cột tính năng số liên tục đã chỉ định vào một STRING, trong đó tên nhóm là giá trị dựa trên các phân vị. Các phân vị tương tự sẽ tự động được sử dụng trong quá trình dự đoán.

Đối số

Mảng STRUCT(string_value AS col_name, int64_value AS num_buckets), trong đó mỗi string_value là một STRING đại diện cho tên cột số liên tục cần chuyển đổi và mỗi int64_value là số lượng bộ chứa để chia các giá trị số thành.

Xác thực

  • Mỗi ngày dữ liệu trong phạm vi ngày được chỉ định cho truy vấn này phải có đủ ngân sách quyền riêng tư, tức là nhiều hơn EPSILON_PER_MODEL, nếu không truy vấn sẽ không thành công.
  • Các tham số điều chỉnh không bắt buộc (nếu được chỉ định) sẽ được xác thực cho các dải được hiển thị ở trên.
  • Bạn chỉ cần chỉ định rõ ràng một tham số model_type bắt buộc.
  • Một cột trong tập huấn luyện phải được đặt tên là "label". Hiện không hỗ trợ nhiều nhãn.
  • Cột nhãn không được chứa giá trị NULL. Nếu cột nhãn chứa giá trị NULL, thì truy vấn sẽ không thành công.
  • Không được lấy cột đặc điểm nào từ user_id.
  • Mỗi hàng phải đại diện cho đúng một người dùng duy nhất. Một hàng không thể đại diện cho dữ liệu của nhiều người dùng. Điều này có thể xảy ra với một số kiểu nối nhất định, ví dụ: CROSS JOIN.
  • Không người dùng nào có thể nằm trong hai hàng riêng biệt.
  • Vì lý do liên quan đến quyền riêng tư, bạn chỉ có thể sử dụng các tuỳ chọn được mô tả trong phần cú pháp. Các tuỳ chọn khác có thể tìm thấy trong tài liệu về truy vấn BQML CREATE MODEL hiện không được hỗ trợ.

Hàm đánh giá

ML.EVALUATE

Sử dụng hàm ML.EVALUATE để đánh giá các chỉ số của mô hình. Bạn có thể sử dụng hàm ML.EVALUATE với các mô hình hồi quy tuyến tính hoặc hồi quy logistic.

SELECT
  *
FROM ML.EVALUATE(MODEL `linear_model_test`);

ML.ROC_CURVE

Sử dụng hàm ML.ROC_CURVE để đánh giá các chỉ số dành riêng cho hồi quy logistic. ML.ROC_CURVE chỉ đánh giá các mô hình hồi quy logistic.

SELECT
  *
FROM ML.ROC_CURVE(MODEL `logistic_model_test`);

Hàm dự đoán

ML.PREDICT

Bạn có thể dùng hàm ML.PREDICT để dự đoán kết quả bằng mô hình. Các kết quả thu được bằng ML.PREDICT phải tuân theo các quy trình kiểm tra quyền riêng tư giống như các kết quả khác trong Ads Data Hub. Tìm hiểu thêm về quy trình kiểm tra quyền riêng tư

Hồi quy tuyến tính

/* This example outputs the average value for labels that the model predicted */
SELECT
  AVG(predicted_label) AS average_predicted_label
FROM
  ML.PREDICT(MODEL `linear_model_test`, TABLE tmp.linear_training_set);

Hồi quy logistic

/* This example outputs the model's prediction and probabilities for said prediction over individual users. It groups by label and prediction, counting the number of users in each prediction */
SELECT
  label,
  predicted_label, /* one of the two input labels, depending on which label has the higher predicted probability */
  COUNT(*) AS num /* a tally of users */
FROM
  ML.PREDICT(MODEL `logistic_model_test`, TABLE tmp.logistic_training_set)
GROUP BY 1, 2;

Hàm kiểm tra mô hình và tính năng

ML.TRAINING_INFO

Hàm ML.TRAINING_INFO cho phép bạn xem thông tin về các vòng lặp huấn luyện của một mô hình.

SELECT
  *
FROM ML.TRAINING_INFO(MODEL `logistic_model_test`);

ML.FEATURE_INFO

Hàm ML.FEATURE_INFO cho phép bạn xem thông tin về các tính năng đầu vào dùng để huấn luyện mô hình

SELECT
  *
FROM ML.FEATURE_INFO(MODEL `logistic_model_test`);

ML.WEIGHTS

Hàm ML.WEIGHTS cho phép bạn xem các trọng số cơ bản mà mô hình sử dụng trong quá trình dự đoán.

SELECT
  *
FROM ML.WEIGHTS(MODEL `linear_model_test`);

Ví dụ

Tạo mô hình

Tất cả ví dụ sau đây đều sử dụng bảng mẫu natality để minh hoạ cách tạo mô hình.

Dữ liệu huấn luyện trong lựa chọn nội bộ (tuyến tính)

Ví dụ sau đây sử dụng trọng lượng lúc sinh, giới tính, tuần mang thai, tuổi mẹ và chủng tộc của mẹ để dự đoán trọng lượng lúc sinh của trẻ.

CREATE MODEL `natality_model`
OPTIONS
  (model_type='adh_linear_regression') AS
SELECT
  weight_pounds as label,
  is_male,
  gestation_weeks,
  mother_age,
  CAST(mother_race AS string) AS mother_race
FROM
  `bigquery-public-data.samples.natality`
WHERE
  weight_pounds IS NOT NULL

Dữ liệu huấn luyện trong lựa chọn nội bộ (logistic)

Ví dụ sau đây sử dụng trọng lượng lúc sinh, giới tính, tuần mang thai, độ tuổi của mẹ và chủng tộc của mẹ để dự đoán giới tính của trẻ.

CREATE MODEL `natality_model`
OPTIONS
  (model_type='adh_logistic_regression') AS
SELECT
  weight_pounds,
  is_male as label,
  gestation_weeks,
  mother_age,
  CAST(mother_race AS string) AS mother_race
FROM
  `bigquery-public-data.samples.natality`
WHERE
  weight_pounds IS NOT NULL

Kích hoạt đối tượng

Bạn có thể đưa ra dự đoán bằng cách sử dụng mô hình hồi quy tuyến tính hiện có (có trọng số đã biết) mà không cần sử dụng ML.PREDICT, thậm chí không cần truy cập vào chính mô hình đó. Để tìm hiểu cách thực hiện, hãy xem Lớp học lập trình về mô hình hồi quy để kích hoạt đối tượng.