準備訓練資料

本頁面說明如何準備表格資料,以便訓練預測模型。

涵蓋以下主題:

  1. 資料結構規定
  2. 準備匯入來源
  3. 為訓練資料新增權重

根據預設,Vertex AI 會使用時間軸分割演算法,將預測資料分割成三個資料分割。或者,您也可以使用手動分割,但這需要您準備資料分割欄。進一步瞭解資料分割。

資料結構規定

對於預測模型,訓練資料必須符合下列基本條件:

需求類型 需求
大小 資料集大小不得超過 100 GB。
欄數 資料集至少須有 3 個欄,最多 100 個欄。資料集中的每個觀測值都必須有目標和時間,這兩者都會做為特徵。此外,每個觀測值都必須有時間序列 ID,用於識別觀測值所屬的時間序列。理想情況下,訓練資料應具備 3 個以上的資料欄。欄數上限包含地圖項目欄和非地圖項目欄。
目標欄 您必須指定目標欄。目標欄可讓 Vertex AI 將訓練資料與所需結果建立關聯。不得包含空值,且必須是數值。
時間欄 您必須指定時間欄,且每個資料列都必須有值。「時間」欄會指出特定觀察時間。
時間序列 ID 欄 您必須指定時間序列 ID 欄,且每個資料列都必須有值。預測訓練資料通常包含多個時間序列,而 ID 會告訴 Vertex AI 訓練資料中的特定觀測值屬於哪個時間序列。在特定時間序列中,所有資料列的時間序列 ID 欄都會顯示相同的值。常見的時間序列 ID 包括產品 ID、商店 ID 或區域。您可以針對單一時間序列訓練預測模型,只要時間序列 ID 欄中所有資料列的值都相同即可。不過,如果訓練資料包含兩個或更多時序,Vertex AI 會更適合。為求最佳成效,請為每個用於訓練模型的資料欄使用至少 10 個時序資料。
資料欄名稱格式 資料欄名稱可以包含英數字元或底線 (_),但不得以底線為開頭。
列數 資料集列數必須介於 1,000 列至 100,000,000 列之間。視資料集提供的特徵數量而定,1,000 列可能不足以訓練高效能模型。瞭解詳情
資料格式 使用窄格式 (有時稱為長格式) 資料格式。在精簡格式中,每個資料列代表時間序列 ID 在特定時間點指定的項目,以及該項目在該時間點的所有資料。瞭解如何選擇資料格式
資料列間隔 訓練資料列之間的間隔必須一致。這就是資料的精細程度;這會影響模型的訓練方式和預測結果的頻率。瞭解如何選擇資料精細程度
時間序列長度 時間序列的長度不得超過 3000 個時間步長。

準備匯入來源

您可以透過兩種格式將模型訓練資料提供給 Vertex AI:

  • BigQuery 資料表
  • 逗號分隔值 (CSV)

您使用的來源取決於資料的儲存方式、大小和複雜度。在資料集規模不大,且您不需使用較複雜資料類型的情況下,選擇 CSV 是比較簡單的做法。若是包含陣列和結構的大型資料集,請務必使用 BigQuery。

BigQuery

BigQuery 資料表或檢視表必須符合 BigQuery 位置規定

如果 BigQuery 資料表或檢視畫面位於您建立 Vertex AI 資料集的專案以外的專案,或是 BigQuery 資料表或檢視畫面由外部資料來源支援,您可能需要在 Vertex AI 服務代理中新增一或多個角色。請參閱 BigQuery 的角色新增規定

您不必為 BigQuery 資料表指定結構定義,Vertex AI 會在您匯入資料時,自動推測該資料表的結構定義。

BigQuery uri (指定訓練資料的位置) 必須符合下列格式:

bq://<project_id>.<dataset_id>.<table_id>

此 URI 不得包含任何其他特殊字元。

如要瞭解 BigQuery 資料類型,以及這些類型對應至 Vertex AI 的方式,請參閱「BigQuery 資料表」一節。如要進一步瞭解如何使用 BigQuery 外部資料來源,請參閱「外部資料來源簡介」。

CSV

CSV 檔案可以儲存在 Cloud Storage 或本機電腦上。並須符合下列規定:

  • 第一個檔案的第一行必須是標頭,並且須包含資料欄名稱。如果後續檔案的第一列與標頭相同,系統同樣會將其視為標頭;如果不同,則會視為資料。
  • 資料欄名稱可以使用英數字元或底線 (_),但不得以底線為開頭。
  • 每個檔案不得超過 10 GB。

    您可以加入多個檔案,容量上限為 100 GB。

  • 分隔符號必須是半形逗號 (,)。

您不需要為 CSV 資料指定結構定義,Vertex AI 會在您匯入資料時,自動推測資料表的結構定義,並使用標題列做為資料欄名稱。

如要進一步瞭解 CSV 檔案格式和資料類型,請參閱 CSV 檔案一節。

如果您要從 Cloud Storage 匯入資料,資料必須位於符合下列要求的值區:

如果您要從本機電腦匯入資料,必須擁有符合下列需求的 Cloud Storage 值區:

為訓練資料新增權重

根據預設,Vertex AI 會平均分配訓練資料每個資料列的權重。在訓練期間,系統不會將任何資料列視為比其他資料列更重要。

有時候,您可能希望系統在訓練模型時能更頻繁地使用部分資料列。例如,如果您正在使用支出資料,可能會希望與支出較高者相關聯的資料對模型產生較大影響。若您特別想避免缺少特定結果的情況,則可針對包含這個結果的資料列增加其權重。

如要提供資料列的相對權重,您可以在資料集中新增權重欄。權重欄必須是數字欄,權重值可為 0 到 10,000。值越高,則表示在訓練模型時,這個資料列較為重要。權重為 0 會導致系統忽略該列。如果您加入了重量資料欄,則每個資料列都必須包含一個值。

您稍後訓練模型時,可以將這個欄指定為 Weight 欄。

系統唯有在訓練模型時會使用自訂權重配置,因此這些配置不會影響用於模型評估的測試集。

後續步驟