

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

# 使用 Amazon SageMaker Studio Classic 筆記本中的互動式資料準備小工具取得資料洞見
<a name="data-wrangler-interactively-prepare-data-notebook"></a>

使用 Data Wrangler 資料準備小工具與您的資料互動、取得視覺效果、探索可行的洞見，以及修正資料品質問題。

您可以從 Amazon SageMaker Studio Classic 筆記本存取資料準備小工具。小工具會為每一欄建立視覺效果，協助您進一步了解其分佈情況。如果欄有資料品質問題，該欄標題會顯示警告。

若要查看資料品質問題，請選取顯示警告的欄標題。您可以使用從洞見和視覺效果取得的資訊，套用小工具的內建轉換，協助您解決問題。

例如，小工具可能會偵測到欄只有一個唯一值，並顯示警告。警告提供從資料集捨棄欄的選項。

## 立即開始執行小工具
<a name="data-wrangler-interactively-prepare-data-notebook-getting-started"></a>

使用以下資訊，協助您開始執行筆記本。

在 Amazon SageMaker Studio Classic 開啟筆記本。如需開啟筆記本的相關資訊，請參閱[建立或開啟 Amazon SageMaker Studio Classic 筆記本](notebooks-create-open.md)。

**重要**  
若要執行小工具，筆記本必須使用下列其中一個映像：  
Python 3 (資料科學)，配備 Python 3.7
Python 3 (資料科學 2.0)，配備 Python 3.8
Python 3 (資料科學 3.0)，配備 Python 3.10
SparkAnalytics 1.0
SparkAnalytics 2.0
如需基礎映像的更多相關資訊，請參閱[Amazon SageMaker 映像可與 Studio Classic 筆記本搭配使用](notebooks-available-images.md)。

使用以下程式碼匯入資料準備小工具和 Pandas。小工具使用 Pandas DataFrames 分析您的資料。

```
import pandas as pd
import sagemaker_datawrangler
```

以下程式碼範例會將檔案載入名為 `df` 的資料框。

```
df = pd.read_csv("example-dataset.csv")
```

您可以使用任何格式的資料集，並且當成 Pandas DataFrames 物件載入。如需 Pandas 格式的更多相關資訊，請參閱 [IO 工具 (文字、CSV、HDF5…)](https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html)。

下列儲存格會執行 `df` 變數，啟動小工具。

```
df
```

資料框的最上方有以下選項：
+ **檢視 Pandas 表格** — 在互動式視覺效果與 Pandas 表格之間切換。
+ **使用資料集中的所有列計算洞見。使用整個資料集可能會增加產生洞見所需的時間。**— 如果您未選取此選項，Data Wrangler 會計算資料集前 10,000 列的洞見。

資料框會顯示資料集的前 1000 行。每個欄標題都有一個堆疊長條圖，顯示欄的特性。標頭會顯示有效值、無效值和缺少值的比例。您可以將游標暫留在堆疊長條圖的不同部分，取得計算出來的百分比。

每欄標題都有視覺化。以下顯示欄可以有的視覺化類型：
+ 分類 - 長條圖
+ 數值 - 長條圖
+ 日期時間 - 長條圖
+ 文字 - 長條圖

針對每個視覺化，資料準備小工具會以橘色強調顯示極端值。

當您選擇欄時，它會開啟一個側面板。側面板會顯示**洞見**索引標籤。窗格提供下列值類型的計數：
+ 無效值 — 類型與欄類型不符的值。
+ 缺少值 — 缺少的值，例如 `NaN` 或 `None`。
+ 有效值 — 既非缺少也不是無效的值。

針對數值欄，**洞見**索引標籤會顯示下列總結統計資料：
+ 下限 — 最小值。
+ 上限 — 最大值。
+ 平均值 – 值的平均值。
+ 模式 — 最常顯示的值。
+ 標準偏差 — 值的標準差。

針對分類欄，**洞見**索引標籤會顯示下列總結統計資料：
+ 唯一值 — 欄中唯一值的數量。
+ 模式 — 最常顯示的值。

標題中有警告圖示的欄存在資料品質問題。選擇欄會開啟**資料品質**索引標籤，您可以使用該標籤尋找轉換資料，協助您修正問題。警告有下列其中一個嚴重性等級：
+ 低 — 可能不會影響您的分析，但可能有助於修復的問題。
+ 中 — 可能會影響您的分析，但可能並不重要的問題。
+ 高 — 我們強烈建議修復的嚴重問題。

**注意**  
小工具會對欄進行排序，在資料框最上方顯示存在資料品質問題的值。它也會強調顯示造成問題的值。強調顯示的顏色對應嚴重性等級。

在**建議的轉換**下，您可以選擇轉換，修復資料品質問題。該小工具可以提供多個修復此問題的轉換。它可以為最適合該問題的轉換提供建議。您可以將游標移到轉換上，取得該轉換的更多相關資訊。

若要將轉換套用至資料集，請選擇**套用並匯出程式碼**。轉換會修改資料集，並以修改後的值更新視覺化。轉換的程式碼會出現在筆記本的下列儲存格中。如果您將其他轉換套用至資料集，小工具會將轉換附加至儲存格。您可以透過小工具產生的程式碼執行下列工作：
+ 自訂後讓它更符合您的需求。
+ 在自己的工作流程使用它。

您可以重新執行筆記本中的所有儲存格，重現已完成所有的轉換。

小工具可以提供目標欄的洞見和警告。目標欄是您嘗試預測的欄。使用以下程序取得目標欄洞見。

若要取得目標欄洞見，請執行下列動作。

1. 選擇您要當成目標欄的欄。

1. 選擇**選擇作為目標欄**。

1. 選擇問題類型。小工具的洞見和警告是針對問題類型量身打造。以下是動作類型：
   + **分類** — 目標欄具有分類資料。
   + **回歸** — 目標欄具有數值資料。

1. 選擇**執行**。

1. (選用) 在**目標欄洞見**下，選擇其中一個建議的轉換。

## 小工具中洞見和轉換的參考
<a name="data-wrangler-notebook-dataprep-assistant-reference"></a>

針對功能欄 (不是目標欄的欄)，您可以取得下列洞見，就資料集的問題警告您。
+ **缺少值** — 欄缺少值，例如 `None`、`NaN` (不是數字) 或 `NaT` (非時間戳記)。許多機器學習演算法不支援輸入資料中的缺少值。因此，在缺少資料的列輸入或捨棄它們，是關鍵的資料準備步驟。如果您看到缺少值警告，您可以使用下列其中一個轉換更正此問題。
  + **刪除缺少** — 捨棄有缺少值的列。我們建議您，如果遺失資料的列百分比較小，而且不適合歸於缺少值，請捨棄列。
  + **以新值取代** — 以 `Other` 取代文字缺少值。您可以在輸出程式碼中，將 `Other` 變更為不同的值。用 0 取代數值缺少值。
  + **以平均值取代** — 以欄的平均值取代缺少值。
  + **以中位數取代** — 以欄的中位數取代缺少值。
  + **捨棄欄** — 從資料集捨棄有缺少值的欄。我們建議，如果有很高百分比的列遺失資料，請捨棄整欄。
+ **偽裝的缺少值** — 此欄具有偽裝缺少值。偽裝的缺少值是未明確編碼為缺少值的值。例如，不要使用 `NaN` 代表缺少值，值可以使用 `Placeholder`。您可以使用下列其中一個轉換處理缺少值：
  + **刪除缺少** — 捨棄有缺少值的列
  + **以新值取代** — 以 `Other` 取代文字缺少值。您可以在輸出程式碼中，將 `Other` 變更為不同的值。用 0 取代數值缺少值。
+ **常數欄** — 欄只有一個值。因此，它沒有預測能力。強烈建議您使用**捨棄欄**轉換，將欄從資料集捨棄。
+ **ID 欄** — 欄沒有重複值。欄中所有的值都是唯一。值可能是 ID 或資料庫金鑰。如果沒有其他資訊，該欄就沒有預測能力。強烈建議您使用**捨棄欄**轉換，將欄從資料集捨棄。
+ **高基數** — 欄具有很高百分比的唯一值。高基數限制了分類欄的預測能力。在分析中檢查欄的重要性，並考慮使用**捨棄欄**轉換將欄捨棄。

針對目標欄，您可以取得下列洞見，就資料集的問題警告您。您可以透過隨附警告的建議轉換更正問題。
+ **目標中的混合資料類型 (迴歸)** — 目標欄中有一些非數值。可能存在資料輸入錯誤。建議您移除具有無法轉換之值的列。
+ **經常標籤** — 目標欄中某些值出現的頻率高於迴歸內容中的正常值。資料收集或處理可能有錯誤。經常出現的類別可能表示，該值被當成預設值，或者它是缺少值的預留位置。我們建議使用**以新值取代**轉換，用 `Other` 取代缺少值。
+ **每個類別的執行個體太少** — 目標欄的類別很少出現。某些類別沒有足夠的列，目標欄無法發揮作用。您可以使用下列其中一個轉換：
  + **捨棄稀有目標** — 將觀察少於十的唯一值捨棄。例如，如果值在欄出現九次，則捨棄 `cat` 這個值。
  + **取代稀有目標** — 以 `Other` 這個值取代資料集中很少出現的類別。
+ **類別過於不平衡 (多類別分類)** — 資料集中有些類別比其他類別出現的頻率高很多。類別不平衡可能影響預測準確性。為了獲得最準確的預測，我們建議使用目前有出現頻率較低之類別的列更新資料集。
+ **大量的類別/過多的類別** - 目標欄中有大量類別。類別多可能導致訓練時間延長，或是預測品質較差。我們建議您執行下列其中一項操作：
  + 將某些類別分組為專屬的類別。例如，如果六個類別密切相關，我們建議您用單一類別代表這些類別。
  + 使用可彈性適應多個類別的機器學習 (ML) 演算法。