使用進階轉換準備資料 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用進階轉換準備資料

注意

您只能針對以表格式資料集建立的模型使用進階轉換。也會排除多類別文字預測模型。

您的機器學習資料集可能需要資料準備才能建立模型。由於各種問題 (可能包括缺少值或極端值),您可能希望清理資料,並執行特徵工程以提高模型的準確性。Amazon SageMaker Canvas 提供機器學習資料轉換,您可以使用這些資料清理、轉換和準備用於模型建置的資料。您可以在資料集上使用這些轉換,而不需要任何程式碼。 SageMaker Canvas 會將您使用的轉換新增至模型配方,這是在建置模型之前對資料準備的記錄。您使用的任何資料轉換只會修改用於模型建置的輸入資料,而不會修改原始資料來源。

SageMaker Canvas 中提供了以下轉換,供您準備要建立的資料。

注意

資料集的預覽會顯示資料集的前 100 列。如果資料集的列數超過 20,000 個,Canvas 會隨機取樣 20,000 列的樣本,並預覽該樣本中的前 100 列。您只能搜尋和指定預覽資料列中的數值,而篩選功能只會篩選預覽的資料列,而不非整個資料集。

卸除資料欄

您可以在 SageMaker Canvas 應用程式的 [建置] 索引標籤中將資料行從模型建置中排除。取消選取要放置的資料欄柱,建置模型時不會包含該資料欄。

注意

如果您刪除資料欄,然後使用模型進行批次預測, SageMaker Canvas 會將拖放的資料欄新增回可供您下載的輸出資料集。但是, SageMaker Canvas 不會將刪除的資料欄新增回時間序列模型。

篩選資料列

篩選功能會根據您指定的條件篩選預覽的資料列 (資料集的前 100 個資料列)。篩選列可建立資料的暫時預覽,不會影響模型建置。您可以篩選以預覽缺少值、包含極端值或符合所選欄中的自訂條件的列。

依缺少值篩選資料列

缺少值是機器學習資料集中常見的情況。如果某些欄中有 Null 或空值的資料列,您可能會想要篩選並預覽這些資料列。

若要從預覽資料中篩選缺少值,請執行下列動作。

  1. 在「 SageMaker 畫布」應用程式的「建置」索引標籤中,選擇「依列篩選」( Filter icon in the SageMaker Canvas application. )。

  2. 選擇要確認缺少值的資料欄

  3. 針對作業,選擇遺失

SageMaker 針對在您選取的 欄」中包含缺少值的列進行畫布篩選,並提供篩選列的預覽。

在 SageMaker Canvas 應用程序中缺少值操作的過濾器的屏幕截圖。

依極端值篩選資料列

離群值或資料分佈和範圍中的罕見值可能會對模型準確性產生負面影響,並導致更長的建置時間。 SageMaker Canvas 可讓您偵測和篩選數值欄中包含異常值的列。您可以選擇使用標準偏差或自訂範圍來定義極端值。

若要篩選資料中的極端值,請執行以下操作。

  1. 在「 SageMaker 畫布」應用程式的「建置」索引標籤中,選擇「依列篩選」( Filter icon in the SageMaker Canvas application. )。

  2. 選擇您要檢查極端值的資料欄

  3. 針對作業,選擇遺失

  4. 極端值範圍設定為標準偏差自訂範圍

  5. 如果您選擇標準偏差,請指定從 1 - 3 開始的 SD (標準偏差) 值。如果您選擇自訂範圍,請選取百分位數數字,然後指定下限上限

標準偏差選項會使用平均值和標準偏差來偵測並篩選數值欄中的極端值。您也可以指定標準偏差的數值,其值必須與平均值不同,才能被視為極端值。例如,如果您指定 3SD,則值必須與平均值的標準偏差必須超過 3,才能被視為極端值。

自訂範圍選項會使用最小值和最大值偵測並篩選數值欄中的極端值。如果您知道可分隔極端值的閾值,請使用此方法。您可以將範圍的類型設定為百分位數數字。如果您選擇百分位數,則 下限上限值應為您要允許的百分位數範圍 (0-100) 的最小值和最大值。如果您選擇數字,則下限上限值應為您要在資料中篩選的最小和最大數值。

Canvas 應用程式中依異常值作業篩選的螢幕擷取 SageMaker 畫面。

按自訂值篩選資料列

您可以篩選具有符合自訂條件數值的資料列。例如,您可能希望在刪除之前預覽價格值大於 100 的資料列。您可以使用此功能,篩選超出所設定閾值的列,並預覽所篩選的資料。

若要使用自訂篩選器功能,請執行下列動作。

  1. 在「 SageMaker 畫布」應用程式的「建置」索引標籤中,選擇「依列篩選」( Filter icon in the SageMaker Canvas application. )。

  2. 選擇您要檢查的資料欄

  3. 選取您要使用的作業類型,然後指定選取條件的數值。

針對作業,您可以選擇以下其中一個選項。請注意,可用的作業取決於您選擇的資料欄的資料類型。例如,您無法為包含文字值的資料欄建立 is greater than 作業。

作業 支援的資料類型 支援的功能類型 函式

等於

數值、文字

二進位、分類

篩選資料欄中數值等於您指定數值的資料列。

不等於

數值、文字

二進位、分類

篩選資料欄中數值不等於您指定數值的資料列。

少於

數值

N/A

篩選資料欄中數值少於您指定數值的資料列。

小於或等於

數值

N/A

篩選資料欄中數值小於或等於您指定數值的資料列。

大於

數值

N/A

篩選資料欄中數值大於您指定數值的資料列。

大於或等於

數值

N/A

篩選資料欄中數值大於或等於您指定數值的資料列。

介於

數值

N/A

篩選資料欄中數值介於您指定的兩個數值之間的資料列。

包含

文字

分類

篩選資料欄中數值包含您指定數值的資料列。

開頭為

文字

分類

篩選資料欄中數值開始於您指定數值的資料列。

結尾為

分類

分類

篩選資料欄中數值結尾為您指定數值的資料列。

設定篩選作業後, SageMaker Canvas 會更新資料集的預覽,以顯示篩選的資料。

在 SageMaker Canvas 應用程序中按自定義值操作過濾器的屏幕截圖。

函式和運算子

您可以使用數學函式和運算子來探索和發佈資料。您可以使用 SageMaker Canvas 支持的函數或使用現有數據創建自己的公式,並使用公式的結果創建一個新列。例如,您可以新增兩欄的對應值,並將結果儲存至新資料欄。

您可以巢狀化陳述式來建立更複雜的函式。以下是一些您可能使用的巢狀化函式範例。

  • 若要計算 BMI,您可以使用 weight / (height ^ 2) 函式。

  • 若要分類年齡,您可以使用 Case(age < 18, 'child', age < 65, 'adult', 'senior') 函式。

您可以在建置模型之前,在資料準備階段指定函式。若要使用函式,請執行下列動作。

  • 在 SageMaker 畫布應用程式的 [建置] 索引標籤中,選擇 [檢視全部],然後選擇 [自訂公式] 以開啟 [自訂公式] 面板。

  • 自訂公式面板中,您可以選擇要新增至模型配方公式。每個公式都會套用至您指定的欄中的所有值。對於接受兩個或多個欄作為引數的公式,請使用具有相符資料類型的欄;否則,新欄會出現一或多個錯誤null值。

  • 指定公式後,請在「新欄名稱」欄位中新增欄名稱。 SageMaker 畫布將此名稱用於所創建的新列。

  • (選用) 選擇預覽以預覽轉換。

  • 若要將函式新增至模型配方,請選擇新增

SageMaker Canvas 會使用您在「新欄名稱」中指定的名稱,將函數的結果儲存到新資料欄中。您可以從模型配方面板中檢視或移除函式。

SageMaker 畫布支持功能以下運營商。您可以使用文字格式或內嵌格式來指定函式。

運算子 描述 支援的資料類型 文字格式 內嵌格式

傳回值的總和

數值

Add(sales1, sales2)

sales1 + sales2

傳回值之間的差異

數值

Subtract(sales1, sales2)

sales1 ‐ sales2

傳回值的產品

數值

Multiply(sales1, sales2)

sales1 * sales2

傳回值的商數

數值

Divide(sales1, sales2)

sales1 / sales2

MOD

傳回模數運算子的結果 (除以兩個值後的餘數)

數值

Mod(sales1, sales2)

sales1 % sales2

Abs

傳回數值的絕對值。

數值

Abs(sales1)

N/A

傳回值的負數

數值

Negate(c1)

-c1

EXP

傳回 e (尤拉數) 的該值次方

數值

Exp(sales1)

N/A

Log

傳回值的對數 (以 10 為底)

數值

Log(sales1)

N/A

Ln

傳回值的自然對數 (以 e 為底)

數值

Ln(sales1)

N/A

Pow

傳回值的冪

數值

Pow(sales1, 2)

sales1 ^ 2

If

根據您指定的條件傳回真或偽標籤

布林值、數值、文字

If(sales1>7000, 'truelabel, 'falselabel')

N/A

返回一個布爾值是否指定的值或條件之一為真與否

Boolean

Or(fullprice, discount)

fullprice || discount

返回一個布爾值是否兩個指定的值或條件為真與否

Boolean

And(sales1,sales2)

sales1 && sales2

Not

返回一個布爾值,該值與指定的一個或多個條件相反

Boolean

Not(sales1)

!sales1

案例

返回基於條件語句的布爾值(返回 c1,如果 cond1 為真,返回 c2 如果 cond2 為真,否則返回 C3)

布林值、數值、文字

Case(cond1, c1, cond2, c2, c3)

N/A

等於

返回兩個值是否相等的布爾值

布林值、數值、文字

N/A

C1 = C2

C1 == C2

不等於

返回兩個值是否不相等的布爾值

布林值、數值、文字

N/A

c1 != c2

小於

返回 c1 是否小於 c2 的布爾值

布林值、數值、文字

N/A

c1 < c2

大於

返回 C1 是否大於 C2 的布爾值

布林值、數值、文字

N/A

c1 > c2

小於或等於

返回 C1 是否小於或等於 c2 的布爾值

布林值、數值、文字

N/A

c1 <= c2

大於或等於

返回 C1 是否大於或等於 C2 的布爾值

布林值、數值、文字

N/A

c1 >= c2

SageMaker Canvas 還支持聚合運算符,它可以執行諸如計算所有值的總和或查找列中的最小值的操作。您可以將彙總運算子與函式中的標準運算子結合使用。例如,要計算與平均值的差異,您可以使用該函數Abs(height – avg(height))。 SageMaker 畫布支持以下聚合運算符。

彙總運算子 描述 格式 範例

sum

傳回資料欄中所有值的總和

sum

sum(c1)

minimum

傳回資料欄的最小值

min

min(c2)

maximum

傳回資料欄的最大值

max

max(c3)

average

傳回資料欄的平均值

avg

avg(c4)

std

傳回資料欄的範例標準偏差

std

std(c1)

stddev

傳回資料欄值的標準偏差

stddev

stddev(c1)

variance

傳回資料欄中的無偏差變異數

variance

variance(c1)

approx_count_distinct

傳回資料欄中不同項目的近似數

approx_count_distinct

approx_count_distinct(c1)

count

傳回資料欄中項目的數字

count

count(c1)

first

傳回資料欄的第一個值

first

first(c1)

last

傳回資料欄的最後一個值

last

last(c1)

stddev_pop

傳回資料欄的人口標準偏差

stddev_pop

stddev_pop(c1)

variance_pop

傳回資料欄中值的人口變異數

variance_pop

variance_pop(c1)

管理資料列

透過管理資料列轉換,您可以執行排序、隨機顯示,以及從資料集中移除資料列。

排序列

若要依指定資料欄排序資料集中的資料列,請執行下列動作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理列],然後選擇 [排序列]。

  2. 對資料欄進行排序中,選擇要當作排序依據的資料欄。

  3. 針對排序順序,請選取遞增遞減

  4. 選擇新增,將轉換新增至模型配方

隨機顯示資料列

若要隨機顯示資料集中的資料列,請執行下列動作。

  1. 在「 SageMaker 畫布」應用程式的「建置」索引標籤中,選擇「管理列」,然後選擇「隨機排列」。

  2. 選擇新增,將轉換新增至模型配方

捨棄重複的資料列

若要移除資料集中重複的資料列,請執行下列動作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理列],然後選擇 [刪除重複的列]。

  2. 選擇新增,將轉換新增至模型配方

按缺少值刪除資料行

缺少值是機器學習資料集中常見的情況,且會影響模型準確度。如果您想要捨棄特定資料欄中含有 Null 或空值的資料列,請使用此轉換。

若要移除指定欄中包含缺少值的列,請執行下列動作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理列]。

  2. 選擇按缺少值刪除資料行

  3. 選擇新增,將轉換新增至模型配方

SageMaker Canvas 會在您選取的 欄」中刪除包含缺少值的列。從資料集中移除資料列之後, SageMaker Canvas 會在「模型配方」區段中新增轉換。如果您從模型配方區段移除轉換,則資料列會傳回資料集。

SageMaker 畫布應用程序中缺少值操作刪除行的屏幕截圖。

按極端值刪除資料行

極端值或資料分佈和範圍中的罕見值可能會對模型準確性產生負面影響,並導致更長的建置時間。使用 SageMaker Canvas,您可以偵測並移除數值欄中包含異常值的列。您可以選擇使用標準偏差或自訂範圍來定義極端值。

若要移除資料中的極端值,請執行以下操作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理列]。

  2. 選擇按極端值刪除資料列

  3. 選擇您要檢查極端值的資料欄

  4. 運算子設定為標準偏差自訂數值範圍自訂分位數範圍

  5. 如果您選擇 Standard deviation (標準偏差),請指定從 1 - 3 開始的 Standard deviations (標準偏差) 值。如果您選擇 Custom numeric range (自訂數值範圍) 或 Custom quantile range (自訂分位數範圍),請指定 Min (下限) 與 Max (上限) (數值範圍的數字,或若為分位數範圍,則指定介於 0 - 100% 之間的百分位數)。

  6. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

Standard deviation (標準偏差) 選項會使用平均值和標準偏差來偵測並移除數值欄中的極端值。您也可以指定標準偏差的數值,其值必須與平均值不同,才能被視為極端值。例如,如果您指定 3標準偏差,則該值必須與平均值的標準偏差必須超過 3,才能被視為極端值。

Custom numeric range (自訂數值範圍) 和 Custom quantile range (自訂分位數範圍) 選項會使用最小值和最大值偵測並移除數值欄中的極端值。如果您知道可分隔極端值的閾值,請使用此方法。如果您選擇數值範圍,則 Min (下限) 和 Max (上限) 值應為您要在資料中允許的最小和最大數值。如果您選擇分位數範圍,則 Min (下限) 與 Max (上限) 值應為您要允許的百分位數範圍 (0-100) 的最小值和最大值。

從資料集中移除資料列之後, SageMaker Canvas 會在「模型配方」區段中新增轉換。如果您從模型配方區段移除轉換,則資料列會傳回資料集。

在 SageMaker Canvas 應用程序中通過異常值操作刪除行的屏幕截圖。

依自訂值刪除資料列

您可以移除 具有符合自訂條件數值的資料列。例如建置模型時,您可能想要排除價格值大於 100 的所有列。透過此轉換,您可以建立一個規則,以移除超出所設定閾值的所有資料列。

若要使用自訂移除轉換,請執行下列動作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理列]。

  2. 選擇 Drop rows by formula (按公式捨棄資料列)。

  3. 選擇您要檢查的 Column (資料欄)。

  4. 選取您要使用的 Operation (作業) 類型,然後指定選取條件的數值。

  5. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

針對 Operation (作業),您可以選擇以下其中一個選項。請注意,可用的作業取決於您選擇的資料欄的資料類型。例如,您無法為包含文字值的資料欄建立 is greater than 作業。

作業 支援的資料類型 支援的功能類型 函式

等於

數值、文字

二進位、分類

移除 Column (資料欄) 中數值等於您指定數值的資料列。

不等於

數值、文字

二進位、分類

移除 Column (資料欄) 中數值不等於您指定數值的資料列。

少於

數值

N/A

移除 Column (資料欄) 中數值少於您指定數值的資料列。

小於或等於

數值

N/A

移除 Column (資料欄) 中數值小於或等於您指定數值的資料列。

大於

數值

N/A

移除 Column (資料欄) 中數值大於您指定數值的資料列。

大於或等於

數值

N/A

移除 Column (資料欄) 中數值大於或等於您指定數值的資料列。

介於

數值

N/A

刪除 Column (資料欄) 中數值介於您指定的兩個數值之間的資料列。

包含

文字

分類

移除 Column (資料欄) 中數值包含您指定數值的資料列。

開頭為

文字

分類

移除 Column (資料欄) 中數值開始於您指定數值的資料列。

結尾為

文字

分類

移除 Column (資料欄) 中數值結尾為您指定數值的資料列。

從資料集中移除資料列之後, SageMaker Canvas 會在「模型配方」區段中新增轉換。如果您從模型配方區段移除轉換,則資料列會傳回資料集。

Canvas 應用程式中透過自訂值作業移除資料列的螢幕擷取 SageMaker 畫面。

重新命名欄

透過重新命名資料欄轉換,您可以重新命名資料中的欄。當您重新命名資料行時, SageMaker Canvas 會變更模型輸入中的資料行名稱。

您可以重新命名資料集中的資料欄,方法是連按兩下 SageMaker Canvas 應用程式的 [建置] 索引標籤中的資料欄名稱,然後輸入新名稱。按 Enter Key (輸入索引鍵) 可提交變更,按一下輸入外的任意位置可取消變更。您也可以按一下位於清單檢視中列末端或在網格檢視中標題儲存格結尾處的的 More options (更多選項) 圖示 ( More options icon at the end of a row. ),然後選擇 Rename (重新命名) 來重新命名資料欄。

您的資料欄名稱不得超過 32 個字元,或有雙底線 (__),也無法將資料欄重新命名為與另一資料欄相同的名稱。您也無法重新命名捨棄的資料欄。

下列螢幕擷取畫面顯示如何按兩下欄位名稱來重新命名資料欄。

使用 Canvas 應用程式中的按兩下方法重新命名欄的螢幕擷取 SageMaker 畫面。

當您重新命名欄時, SageMaker Canvas 會在「模型配方」區段中新增轉換。如果您從 Model recipe (模型配方) 區段中移除轉換,則該欄會還原為其原始名稱。

管理欄

透過下列轉換指令,您可以變更資料欄的資料類型,並取代特定資料行的遺漏值或異常值。 SageMaker Canvas 會在建立模型時使用更新的資料類型或值,但不會變更原始資料集。請注意,如果您使用 卸除資料欄 轉換從資料集中捨棄資料欄,就無法取代該資料欄中的值。

取代遺失值

缺少值是機器學習資料集中常見的情況,且會影響模型準確度。您可以選擇捨棄具有缺少值的列,但如果您選擇取代遺失值,則模型會更準確。透過此轉換,您可以將數值欄中遺失值取代為欄中資料的平均值或中間值,或者可以指定自訂值取代遺失值。針對非數字欄,您可以使用欄的模式 (最常用的值) 或自訂值來取代遺失值。

如果您想要取代特定資料欄中含有的 Null 或空值,請使用此轉換。若要在指定欄中取代遺失值,請執行下列動作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理欄]。

  2. 選擇 Replace missing values (取代遺失值)。

  3. 選擇要取代遺失值的 Column (資料欄)。

  4. Mode (模式) 設定為 Manual (手動),以您指定的值取代遺失值。使用「自動」(預設) 設定, SageMaker Canvas 會以最適合您資料的輸入值取代遺失的值。除非您指定 Manual (手動) 模式,否則每個模型建置都會自動完成此推算方法。

  5. 設定取代為值:

    • 如果您的欄是數值,請選取 Mean (平均值)、Median (中間值) 或 Custom (自訂)。Mean (平均值) 會以欄的平均值取代遺失值,而 Median (中間值) 則以欄的中間值取代遺失值。如果您選擇 Custom (自訂),則必須指定要用來取代遺失值的自訂值。

    • 如果您的欄是數值,請選取 Mode (模式) 或 Custom (自訂)。Mode (模式) 會以資料欄的模式或最常用的值取代遺失值。針對 Custom (自訂),則請指定要用來取代遺失值的自訂值。

  6. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

取代資料集中遺失的值之後, SageMaker Canvas 會在「模型配方」區段中新增轉換。如果您從 Model recipe (模型配方) 區段移除轉換,則缺少值會傳回資料集。

Canvas 應用程式中取代遺失值作業的螢幕擷取 SageMaker 畫面。

取代極端值

離群值或資料分佈和範圍中的罕見值可能會對模型準確性產生負面影響,並導致更長的建置時間。 SageMaker Canvas 可讓您偵測數值欄中的異常值,並以資料中可接受範圍內的值取代異常值。您可以選擇使用標準偏差或自訂範圍來定義極端值,也可以使用接受範圍內的最小值和最大值來取代極端值。

若要取代資料中的極端值,請執行以下操作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [管理欄]。

  2. 選擇 Replace outlier values (取代極端值)。

  3. 選擇要取代極端值的 Column (資料欄)。

  4. 針對 Define outliers (定義極端值),請選擇 Standard deviation (標準偏差)、Custom numeric range (自訂數值範圍) 或 Custom quantile range (自訂分位數範圍)。

  5. 如果您選擇 Standard deviation (標準偏差),請指定從 1 - 3 開始的 Standard deviations (標準偏差) 值。如果您選擇 Custom numeric range (自訂數值範圍) 或 Custom quantile range (自訂分位數範圍),請指定 Min (下限) 與 Max (上限) (數值範圍的數字,或若為分位數範圍,則指定介於 0 - 100% 之間的百分位數)。

  6. 針對 Replace with (取代為),選取 Min/max range (最小/最大範圍)。

  7. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

Standard deviation (標準偏差) 選項會使用平均值和標準偏差來偵測數值欄中的極端值。您也可以指定標準偏差的數值,其值必須與平均值不同,才能被視為極端值。例如,如果您為「標準差」指定 3,則值必須與平均值落在 3 個以上的標準差,才能被視為離群值。 SageMaker Canvas 會以接受範圍內的最小值或最大值取代離群值。例如,如果您將標準差配置為僅包含 200—300 之間的值,則「 SageMaker 畫布」會將 198 的值變更為 200 (最小值)。

Custom numeric range (自訂數值範圍) 和 Custom quantile range (自訂分位數範圍)選項會使用最小值和最大值偵測數值欄中的極端值。如果您知道可分隔極端值的閾值,請使用此方法。如果您選擇數值範圍,則「最小」和「大」值應該是您要允許的最小和最大數值。 SageMaker 畫布替換落在最小值和最大值之外的最小值和最大值的任何值。例如,如果您的範圍僅允許 1-100 之間的值,則「 SageMaker 畫布」會將值 102 變更為 100 (最大值)。如果您選擇分位數範圍,則 Min (下限) 與 Max (上限) 值應為您要允許的百分位數範圍 (0-100) 的最小值和最大值。

取代資料集中的值之後, SageMaker Canvas 會在「模型配方」區段中新增轉換。如果您從 Model recipe (模型配方) 區段移除轉換,則原始值會傳回資料集。

Canvas 應用程式中取代異常值作業的螢幕擷取 SageMaker 畫面。

變更資料類型

SageMaker Canvas 可讓您在數字、文字和日期時間之間變更欄的資料類型,同時還能顯示該資料類型的關聯特徵類型。資料類型是指資料的格式及其儲存方式,而特徵類型則是指機器學習演算法 (例如二進位或分類) 中所使用之資料的特性。這使您可以有彈性地根據功能手動更改資料欄中的資料類型。在建置模型之前,選擇正確的資料類型可確保資料完整性和準確性。建置模型時會使用這些資料類型。

注意

目前不支援變更功能類型 (例如從二進位變更為分類)。

下表列出了所有 Canvas 支援的資料類型。

資料類型 描述 範例

數值

數字資料代表數值

一、二、三

一、一點二 1.3

文字

文字資料代表字元序列,如名稱或描述

A, B, C, D

蘋果,香蕉,柳橙

1A!, 2A!, 3A!

日期時間

日期時間資料代表時間戳記格式格式的日期和時間

2019-07-01 01:00:00, 2019-07-01 02:00:00, 2019-07-01 03:00:00

下表列出了所有 Canvas 支援的特徵類型。

特徵類型 描述 範例

二進位

二進位特徵代表兩個可能的值

0, 1, 0, 1, 0 (2 個相異值)

真,偽,真 (2 個相異值)

分類

分類特徵代表不同的類別或群組

蘋果,香蕉,柳橙,蘋果 (3 個相異值)

A,B,C,D,E,A,D,C (5 個相異值)

若要修改資料集中資料欄的資料類型,請執行下列動作。

  1. 在「 SageMaker 畫布」應用程序的「成」選項卡中,轉到「列」視圖或「網格」視圖,然後為特定列選擇「數據類型」下拉列表。

  2. 資料類型 (資料類型) 下拉式清單中,選擇要轉換的目的資料類型。下列螢幕擷取畫面顯示下拉式清單功能表。

    在 Canvas 中建立模型的建置索引標籤資料欄的資料類型轉換下拉式清單功能表螢幕擷取畫面。
  3. Column (資料欄),選擇或驗證您要變更其資料類型的欄。

  4. 針對 New data type (新資料類型),選擇或驗證要轉換成的新資料類型。

  5. 如果 New data type (新資料類型) 為 DatetimeNumeric,請在 Handle invalid values (處理無效值)下選擇下列其中一個選項:

    1. Replace with empty value (以空白值取代) - 將無效值取代為空值

    2. Delete rows (刪除列) - 具有無效值的資料列會從資料集中移除

    3. Replace with custom value (以自訂值取代) - 無效值會以您指定的 Custom Value (自訂值) 取代。

  6. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

您的資料欄資料類型現在應該被更新。

準備時間序列資料

使用下列功能來準備時間序列資料,以建立時間序列預測模型。

重新取樣時間序列資料

透過重新取樣時間序列資料,您可以為時間序列資料集中的觀察建立固定的間隔。這在處理包含不規則間隔觀察值的時間序列資料時特別有用。例如您可以使用重新取樣,將每隔一小時、兩小時和三小時間隔記錄一次觀察值的資料集,轉換為每次觀測之間固定一小時間隔。預測演算法需要定期取樣觀察值。

若要重新取樣時間序列資料,請執行下列動作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇 [時間序列]。

  2. 選擇 Resample (重新取樣)。

  3. Timestamp column (時間戳記欄),選擇要套用轉換作業的資料欄。您只能選取 Datetime (日期時間) 類型的資料欄。

  4. Frequency settings (頻率設定) 區段中,選擇 Frequency (頻率) 和 Rate (比率)。Frequency (頻率) 是頻率的單位,Rate (比率) 是要套用至資料欄的頻率單位的間隔。例如,在 Frequency value (頻率值) 選擇 Calendar Day,在 Rate (比率) 選擇 1 會設定每 1 個行事曆日增加的間隔,例如 2023-03-26 00:00:002023-03-27 00:00:002023-03-28 00:00:00。如需 Frequency value (頻率值) 的完整清單,請參閱此程序之後的資料表。

  5. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

下表列出重新取樣時間序列資料時可選取的所有 Frequency (頻率) 類型。

頻率 描述 範例值 (假設比率為 1)

工作日

將日期時間資料欄中的觀察重新採樣為一週的 5 個工作日 (星期一、星期二、星期三、星期四、星期五)

2023-03-24

2023-03-27

2023-03-28

2023-03-29

2023-03-30

2023-03-31 00:00:00

2023-04-03 00:00:00

行事曆日

將日期時間資料欄中的觀察重新採樣為一週的 7 個工作日 (星期一、星期二、星期三、星期四、星期五、星期六、星期日)

2023-03-26

2023-03-27

2023-03-28

2023-03-29 00:00:00

2023-03-30

2023-03-31 00:00:00

2023-04-01 00:00:00

將日期時間欄中的觀察重新採樣到每週的第一天

2023-03-13 00:00:00

2023-03-20

2023-03-27

2023-04-03 00:00:00

將日期時間欄中的觀察重新採樣到每月的第一天

2023-03-01 00:00:00

2023-04-01 00:00:00

2023-05-01 00:00:00

2023-06-01 00:00:00

每年季度

將日期時間欄中的觀察重新採樣到每季的最後一天

2023-03-31 00:00:00

2023-06-30

2023-09-30

2023-12-31 00:00:00

將日期時間欄中的觀察重新採樣到每年的最後一天

2022-12-31 0:00:00

2023-12-31 00:00:00

2024-12-31 00:00:00

小時

將日期時間欄中的觀察重新採樣到每天的每小時

2023-03-24

2023-03-24 01:00:00

2023-03-24

2023-03-24

分鐘

將日期時間欄中的觀察重新採樣到每小時的每分鐘

2023-03-24

2023-03-24 00:01

2023-03-24 00:02

2023-03-24 00:03

將日期時間欄中的觀察重新採樣到每分鐘的每秒

2023-03-24

2023-03-24 00:01

2023-03-24 00:02

2023-03-24 00:03

套用重新取樣轉換時,您可以使用進階選項,指定如何修改資料集中其餘資料欄 (時間戳記欄除外) 的結果值。這可以透過指定重新取樣方法來實現,該方法可以是數值和非數值欄的縮減取樣或向上取樣。

縮減取樣會增加資料集中觀察值取樣的間隔時間。例如,如果您縮減取樣每小時或每兩個小時取樣一次的觀察值,則資料集中的每個觀察值會每兩小時取樣一次。每小時觀察值的其他資料欄的值使用組合方法,被彙總為單一值。下表顯示使用均值作為組合方法以縮減取樣時間序列資料的範例。資料會從每兩個小時縮減取樣到每小時一次。

下表顯示縮減取樣前一天的每小時溫度讀數。

時間戳記 溫度 (攝氏)

12:00 PM

30

1:00 am

32

2:00 am

35

3:00 am

32

4:00 am

30

下表顯示縮減取樣至每兩小時的溫度讀數。

時間戳記 溫度 (攝氏)

12:00 PM

30

2:00 am

33.5

2:00 am

35

4:00 am

32.5

若要縮減時間序列資料的取樣,請執行下列動作:

  1. 展開 Resample (重新取樣) 轉換下的 Advanced (進階) 區段。

  2. 選擇 Non-numeric combination (非數值組合),以指定非數值資料欄的組合方式。如需組合方法的完整清單,請參閱下列資料表。

  3. 選擇 Numeric combination (數值組合),以指定數值資料欄的組合方式。如需組合方法的完整清單,請參閱下列資料表。

如果未指定組合方法,則 Non-numeric combination (非數字組合) 為 Most CommonNumeric combination (數字組合) 為 Mean。下表列出了數值和非數值組合的方法清單。

縮減取樣方法 組合方法 描述

非數字組合

最常見

依最常見的數值彙總非數值資料欄中的值

非數字組合

Last

依資料欄最後一個值彙總非數值資料欄中的值

非數字組合

First

依資料欄第一個值彙總非數值資料欄中的值

數字組合

Mean

透過取資料欄中所有值的平均值,來彙總數值列中的值

數字組合

Median

透過取資料欄中所有值的中間值,來彙總數值列中的值

數字組合

最少

透過取資料欄中所有值的最小值,來彙總數值列中的值

數字組合

最多

透過取資料欄中所有值的最大值,來彙總數值列中的值

數字組合

總和

將資料欄所有值相加,彙總數值資料欄中的值

數字組合

分位數

透過取資料欄中所有值的分位數值,來彙總數值列中的值

擴大取樣會縮減資料集中觀察取樣的間隔時間。例如,如果您將每兩個小時採樣一次的觀測值擴大取樣為每一小時取樣一次,則每小時觀察的其他資料欄的值是從每兩小時獲得的值內插入的。

若要向上取樣時間序列資料,請執行下列動作:

  1. 展開 Resample (重新取樣) 轉換下的 Advanced (進階) 區段。

  2. 選擇 Non-numeric estimation (非數值估算),以指定非數值欄的估算方法。如需方法的完整清單,請參閱此程序之後的資料表。

  3. 選擇 Numeric estimation (數值估算),以指定數值欄的估算方法。如需方法的完整清單,請參閱下列資料表。

  4. (選用) 選擇 ID Column (ID 欄) 以指定具有時間序列觀察 ID 的資料欄。如果您的資料集有兩個時間序列,請指定此選項。如果您的資料欄僅代表一個時間序列,請不要指定此欄位的值。例如,您可以擁有包含資料欄 idpurchase 的資料集。該 id 資料欄列具有以下值:[1, 2, 2, 1]。該 purchase 資料欄列具有以下值 [$2, $3, $4, $1]。因此該資料集有兩個時間序列 - 一個時間序列是:1: [$2, $1],另一個時間序列為 2: [$3, $4]

如果未指定估算方法,則預設值 Forward Fill適用於 Non-numeric estimation (非數值估算) 和 Linear適用於 Numeric estimation (數值估算)。下表會列出用於估算的方法。

向上取樣方法 估算方法 描述

非數值估算

向前填充

透過在欄中的所有值之後取連續值,在非數字資料欄中插入數值

非數值估算

向後填充

透過在欄中的所有值之前取連續值,在非數字資料欄中插入數值

非數值估算

保持缺少

藉由顯示空值,在非數值資料欄中插入數值

數值估算

Linear, Time, Index, Zero, S-Linear, Nearest, Quadratic, Cubic, Barycentric, Polynomial, Krogh, Piecewise Polynomial, Spline, P-chip, Akima, Cubic Spline, From Derivatives

使用指定的插補器在數值欄中插入值。有關插值方法的信息,請參閱熊貓。 DataFrame. 在熊貓文檔中插入。

下列螢幕擷取畫面顯示 Advanced (進階) 設定,其中已填寫縮減取樣和向上取樣欄位。

Canvas 應用程式的螢幕擷取畫面,其時間序列重新取樣側邊面板顯示進階選項。

使用日期時間擷取

透過日期時間擷取轉換,您可以將日期時間資料欄中的值擷取至不同的資料欄。例如,如果您有一個包含購買日期的欄,則可以將月份值擷取至單獨的欄,並在建置模型時使用新欄。您也可以透過單一轉換來擷取多個值至不同的資料欄。

您的日期時間欄必須使用支援的時間戳記格式。如需 SageMaker Canvas 支援的格式清單,請參閱Amazon SageMaker 畫布中的時間序列預測。如果您的資料集未使用其中一種支援的格式,請在建立模型之前更新資料集以使用支援的時間戳記格式,並將其重新匯入 Amazon SageMaker Canvas。

要執行日期時間擷取,請執行以下操作。

  1. 在 SageMaker Canvas 應用程式的 [建置] 索引標籤中,選擇變形列上的 [檢視全部]。

  2. 選擇 Extract features (擷取功能)。

  3. 選擇要從中擷取值的 Timestamp column (時間戳記欄)。

  4. 針對 Values (值),選取一個或多個要從欄擷取的值。您可以從時間戳記欄擷取的值包括 Year (年)、Month (月)、Day (日)、Hour (小時)、Week of year (年份中的週數)、Day of year (該年的第幾日) 以及 Quarter (季)。

  5. (選用) 選擇 Preview (預覽) 以預覽轉換結果。

  6. 選擇 Add (新增),將轉換新增至 Model recipe (模型配方)。

SageMaker Canvas 會在資料集中為您擷取的每個值建立新資料欄。除了年度值外, SageMaker Canvas 對提取的值使用基於 0 的編碼。例如,如果您擷取 Month (月) 值,則一月會擷取為 0,而二月則為 1。

Canvas 應用程式中日期時間擷取方塊的螢幕擷取 SageMaker 畫面。

您可以在 Model recipe (模型配方) 區段中看到列出的轉換。如果您從 Model recipe (模型配方) 區段移除轉換,則新資料欄會從資料集中移除。