如何使用 Python 从 Vertex AI 上的训练模型访问特征重要性的文本数据(值)

Posted

技术标签:

【中文标题】如何使用 Python 从 Vertex AI 上的训练模型访问特征重要性的文本数据(值)【英文标题】:How can I access to text data (value) of feature importance from a traiend model on Vertex AI with Python 【发布时间】:2021-11-28 05:46:27 【问题描述】:

我正在 Vertex AI 上使用 AutoML 进行预测建模,并获得了经过训练的模型。我在 Vertex AI 的模型选项卡中以图形方式检查了它的特征重要性,然后我想用下面的代码获得其特征重要性的文本数据,但只能看到它,无法将每个项目作为值。

------------ Python代码

from google.cloud import aiplatform_v1 as aiplatform2
api_endpoint = 'us-central1-aiplatform.googleapis.com'
client_options = "api_endpoint": api_endpoint # api_endpoint is required for client_options
client_model = aiplatform2.services.model_service.ModelServiceClient(client_options=client_options)
project_id = 'this is my project id'
location = 'us-central1'
model_id = 'my trained id'
model_name = f'projects/project_id/locations/location/models/model_id'

list_eval_request = aiplatform2.types.ListModelEvaluationsRequest(parent=model_name)
list_eval = client_model.list_model_evaluations(request=list_eval_request)
list_eval.model_evaluations

------------------------ 在 Notebook 上直观地获取此内容

[name: "projects/*********/locations/us-central1/models/*********/evaluations/*********"
metrics_schema_uri: "gs://google-cloud-aiplatform/schema/modelevaluation/regression_metrics_1.0.0.yaml"
metrics 
  struct_value 
    fields 
      key: "meanAbsoluteError"
      value 
        number_value: 2863.7043
      
    
    fields 
      key: "meanAbsolutePercentageError"
      value 
        number_value: 197.63817
      

------------问题

如何访问“键”及其“值”。 示例键:“meanAbsoluteError”/值:number_value:2863.7043

【问题讨论】:

【参考方案1】:

我是这样理解的

for a in list_eval.model_evaluations[0].metrics:
    b = str(list_eval.model_evaluations[0].metrics[a])
    v_str = a + ' : ' + b
    print(v_str)

rootMeanSquaredLogError : 1.2712421
rootMeanSquaredError : 26191.564
rSquared : 0.31798086
meanAbsoluteError : 5698.832
meanAbsolutePercentageError : 262.9534

“metrics”只是一个字典

【讨论】:

以上是关于如何使用 Python 从 Vertex AI 上的训练模型访问特征重要性的文本数据(值)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vertex AI 中构建容器日志?

Google Cloud Platform Vertex AI 日志未显示在自定义作业中

发送 http 请求 Google Vertex AI 端点

在 Google Cloud Vertex AI 上使用客户处理程序进行部署

在 Vertex AI Predict 上指定签名名称

在 Google vertex ai 上创建自定义模型