如何通过API或SQL查询获取模型元数据

时间:2019-03-31 08:56:19

标签: google-bigquery

我有一个具有以下属性的ML表

enter image description here

我尝试使用BigQuery ML Inspection API

SELECT
  *
FROM
  ML.TRAINING_INFO(MODEL `partitionTables.sample_model`)

但没有一个明确的方式提供所需的模型类型和训练选项信息,例如:模型类型或损失类型

关于如何解决此问题的任何想法

1 个答案:

答案 0 :(得分:1)

您在UI中看到的所有模型信息以前都可以在Tables.get API中使用到2018年底。自2019年初以来就不是这种情况,据我所知,BigQuery团队正在BigQuery Models API上开展工作,这将允许获取此类信息。我希望BigQuery小组的某人可以提供此项目的Alpha链接(如果已经处于Beta版,则可以提供Beta版)-如果没有,您可以联系支持人员以进入

该API似乎已经可用-您可以在https://developers.google.com/apis-explorer/#p/bigquery/v2/bigquery.models.get

进行检查

如果您在API下运行

GET https://www.googleapis.com/bigquery/v2/projects/cloud-training-demos/datasets/flights/models/ontime?key={YOUR_API_KEY}  

您将获得包含预期详细信息的回复

200

- Show headers -

{
 "etag": "DJnL9iOElEx0e+GH/lX4uA==",
 "modelReference": {
  "projectId": "cloud-training-demos",
  "datasetId": "flights",
  "modelId": "ontime"
 },
 "creationTime": "1528900048363",
 "lastModifiedTime": "1528901292504",
 "modelType": "LOGISTIC_REGRESSION",
 "trainingRuns": [
  {
   "trainingOptions": {
    "maxIterations": "20",
    "lossType": "MEAN_LOG_LOSS",
    "learnRate": 0.1,
    "l1Regularization": 0,
    "l2Regularization": 0,
    "minRelativeProgress": 0.01,
    "warmStart": false,
    "earlyStop": true,
    "learnRateStrategy": "LINE_SEARCH"
   },
   "results": [
    ...
   ],
   "evaluationMetrics": {
    ...
   },
   "startTime": "2018-06-13T14:24:22.620Z"
  }
 ],
 "featureColumns": [
  ...
 ],
 "labelColumns": [
  ...
 ]
}