準備訓練資料

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

本頁面涵蓋下列主題:

  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 億筆,請考慮進行向下取樣。詳情請參閱「滾動週期策略」。視資料集提供的特徵數量而定,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 bucket:

為訓練資料新增權重

根據預設,Vertex AI 會為訓練資料中的每個資料列設定相同的權重。進行訓練時,每個資料列都一樣重要。

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

在資料集中新增權重欄,即可提供資料列的相對權重。權重欄必須是數字欄。權重值可介於 0 到 10,000 之間。 值越高,代表訓練模型時該資料列越重要。權重為 0 的資料列會遭到忽略。如果加入權重資料欄,則每列都必須包含值。

稍後訓練模型時,請將這個資料欄指定為Weight欄。

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

後續步驟