資料類別

Vertex AI SDK 包含用於儲存及讀取模型訓練資料的類別。每個資料相關類別都代表具有結構化資料、非結構化資料或 Vertex AI 特徵儲存庫資料的 Vertex AI 代管資料集。建立資料集後,請使用該資料集訓練模型。

下列主題簡要說明 Vertex AI SDK 中的每個資料相關類別。每個類別的主題都包含程式碼範例,說明如何建立該類別的例項。建立資料集後,您可以使用其 ID 擷取資料集:

dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')

結構化資料類別

下列類別適用於以資料列和資料欄形式呈現的結構化資料。結構化資料通常用於儲存數字、日期、值和字串。

TabularDataset

使用這個類別處理表格資料集。您可以使用 CSV 檔案、BigQuery 或 pandas DataFrame 建立表格型資料集。如要進一步瞭解如何透過 BigQuery 資料分頁,請參閱使用 BigQuery API 透過分頁讀取資料。如要進一步瞭解表格型資料,請參閱表格型資料

下列程式碼說明如何匯入 CSV 檔案來建立表格式資料集。

my_dataset = aiplatform.TabularDataset.create(
    display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

下列程式碼顯示如何透過兩個不同的步驟匯入 CSV 檔案,藉此建立表格資料集。

my_dataset = aiplatform.TextDataset.create(
    display_name="my-dataset")

my_dataset.import(
    gcs_source=['gs://path/to/my/dataset.csv']
    import_schema_uri=aiplatform.schema.dataset.ioformat.text.multi_label_classification
)

如果使用 pandas DataFrame 建立表格資料集,您必須使用 BigQuery 資料表暫存 Vertex AI 的資料:

my_dataset = aiplatform.TabularDataset.create_from_dataframe(
    df_source=my_pandas_dataframe,
    staging_path=f"bq://{bq_dataset_id}.table-unique"
)

TimeSeriesDataset

使用這個類別處理時間序列資料集。時間序列是包含以不同時間間隔記錄資料的資料集。資料集包含時間和至少一個與時間相關的變數。您使用時間序列資料集進行預測。詳情請參閱預測總覽

您可以從 Cloud Storage bucket 中的 CSV 檔案或 BigQuery 資料表,建立受管理的時間序列資料集。

下列程式碼顯示如何匯入含有時間序列資料集的 CSV 資料來源檔案,藉此建立 TimeSeriesDataset

my_dataset = aiplatform.TimeSeriesDataset.create(
    display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

下列程式碼說明如何匯入含有時間序列資料集的 BigQuery 表格檔案,藉此建立 TimeSeriesDataset

my_dataset = aiplatform.TimeSeriesDataset.create(
    display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])

非結構化資料類別

下列類別適用於非結構化資料,這類資料無法儲存在傳統關聯式資料庫中。通常會以音訊、文字、影片檔案或 NoSQL 資料庫的形式儲存。

ImageDataset

使用這個類別處理代管圖片資料集。如要建立受管理圖片資料集,您需要 CSV 格式的資料來源檔案,以及 YAML 格式的結構定義檔案。自訂模型可選擇是否要使用結構定義。系統會從 Cloud Storage 值區存取 CSV 檔案和結構定義。

使用圖片資料達成下列目標:

下列程式碼說明如何匯入 CSV 資料來源檔案和 YAML 結構定義檔案,建立圖片資料集。使用的結構定義檔案取決於圖片資料集是否用於單一標籤分類、多標籤分類或物件偵測。

my_dataset = aiplatform.ImageDataset.create(
    display_name="my-image-dataset",
    gcs_source=['gs://path/to/my/image-dataset.csv'],
    import_schema_uri=['gs://path/to/my/schema.yaml']
    )

Vertex AI 特徵儲存庫資料類別

Vertex AI 特徵儲存庫是一項代管服務,可用來大規模儲存、提供、管理及共用機器學習特徵。

Vertex AI 特徵儲存庫使用由三個類別組成的時間序列資料模型,可維護隨時間變化的特徵。這三個類別會依下列階層順序排列:

Vertex AI 特徵儲存庫類別階層

如要進一步瞭解 Vertex AI 特徵儲存庫資料模型,請參閱「資料模型和資源」。如要瞭解 Vertex AI 特徵儲存庫資料來源規定,請參閱「來源資料規定」。

下列類別會與 Vertex AI 特徵儲存庫資料搭配使用:

Featurestore

Featurestore 類別表示的 featurestore 資源,是 Vertex AI 特徵儲存庫資料模型階層中的頂層類別。資料模型中的下一個層級資源是實體類型,這是您建立的一組語意相關特徵。以下列舉一些適用於實體類型的方法:Featurestore

建立實體類型

使用 Featurestorecreate_entity_type 方法,並使用 entity_type_id 建立實體類型資源。實體型別資源由 EntityType 類別表示。entity_type_id 為英數字元,且在特徵商店中不得重複。以下範例說明如何建立實體型別:

entity_type = aiplatform.featurestore.create_entity_type(
        entity_type_id=my_entity_type_name, description=my_entity_type_description
        )

放送實體類型

使用三種 Featurestore 方法之一,提供實體資料項目:

EntityType

EntityType 類別代表實體型別資源,也就是您定義的一組語意相關特徵。舉例來說,音樂服務可能具有 musical_artistuser 實體類型。您可以使用 FeatureStore.create_entity_type 方法或 EntityType.create 方法建立實體型別。下列程式碼顯示如何使用 EntityType.create

entity_type = aiplatform.EntityType.create(
        entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
    )

Feature

Feature 類別代表特徵資源,也就是實體類型的可量化屬性。舉例來說,musical_artist 實體類型可能具有 date_of_birthlast_name 等特徵,可追蹤音樂藝人的各種屬性。特徵必須是實體類型專屬,但不需要是全域專屬。

建立 Feature 時,必須指定值類型 (例如 BOOL_ARRAYDOUBLEDOUBLE_ARRAYSTRING)。下列程式碼範例說明如何建立特徵:

my_feature = aiplatform.Feature.create(
    feature_id='my_feature_id',
    value_type='INT64',
    entity_type_name='my_entity_type_id',
    featurestore_id='my_featurestore_id',
)

後續步驟