You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery ML中使用PCA模型完成分类任务

解决BigQuery中PCA模型结合分类任务的步骤

PCA是无监督降维模型,本身无法直接完成分类任务,你需要先通过它提取低维特征,再用这些特征训练分类模型,具体步骤如下:

1. 生成PCA降维后的特征表

使用ML.PREDICT函数,基于已训练的PCA模型将原始数据转换为低维特征,同时保留分类任务需要的标签列(target),并保存为新表:

CREATE OR REPLACE TABLE `mydataset.pca_features` AS
SELECT
  target,
  * EXCEPT(target)
FROM
  ML.PREDICT(
    MODEL `mydataset.mymodel`,
    (SELECT * FROM `mydataset.mytable`)
  )

2. 用PCA特征训练分类模型

选择合适的分类模型(比如逻辑回归、随机森林),以生成的PCA特征作为输入,target作为标签进行训练:

-- 示例:训练逻辑回归分类模型
CREATE OR REPLACE MODEL `mydataset.classification_model`
OPTIONS(
  MODEL_TYPE='LOGISTIC_REG',
  INPUT_LABEL_COLS=['target'],
  AUTO_CLASS_WEIGHTS=TRUE
) AS
SELECT
  *
FROM
  `mydataset.pca_features`

3. 评估分类模型

此时就可以使用分类相关的ML函数评估模型效果:

  • 查看整体评估指标:
    SELECT * FROM ML.EVALUATE(MODEL `mydataset.classification_model`, (SELECT * FROM `mydataset.pca_features`))
    
  • 生成混淆矩阵:
    SELECT * FROM ML.CONFUSION_MATRIX(MODEL `mydataset.classification_model`, (SELECT * FROM `mydataset.pca_features`))
    
  • 生成ROC曲线数据:
    SELECT * FROM ML.ROC_CURVE(MODEL `mydataset.classification_model`, (SELECT * FROM `mydataset.pca_features`))
    

补充说明

你之前调用ML.EVALUATE在PCA模型上,只能得到降维效果的评估(比如解释方差比例),但PCA不具备分类能力,因此必须先完成特征转换和分类模型训练,才能使用混淆矩阵、ROC等分类评估工具。

内容的提问来源于stack exchange,提问作者Adam D. Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:05:21