選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

準備資料集

焦點模式
準備資料集 - Amazon SageMaker AI

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

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

在此步驟中,您可以使用 SHAP (SHapley Additive exPlanations) 程式庫將成人人口普查資料集載入您的筆記本執行個體、檢閱資料集、轉換,然後將其上傳到 Amazon S3。SHAP 是一種遊戲理論方法,用於解釋任何機器學習模型的輸出。如需有關 SHAP 的更多相關資訊,請參閱歡迎使用 SHAP 文件

若要執行下列範例,請將範例程式碼貼到筆記本執行個體的儲存格中。

使用 SHAP 載入成人人口普查資料集

使用 SHAP 圖書館匯入成人人口普查資料集,如下所示:

import shap X, y = shap.datasets.adult() X_display, y_display = shap.datasets.adult(display=True) feature_names = list(X.columns) feature_names
注意

如果目前的 Jupyter 核心沒有 SHAP 程式庫,請執行下列命令進行安裝:conda

%conda install -c conda-forge shap

如果您使用 JupyterLab,則必須在安裝和更新完成後手動重新整理核心。執行以下 IPython 指令碼關閉核心 (核心將自動重新啟動):

import IPython IPython.Application.instance().kernel.do_shutdown(True)

feature_names 列出物件應傳回以下功能清單:

['Age', 'Workclass', 'Education-Num', 'Marital Status', 'Occupation', 'Relationship', 'Race', 'Sex', 'Capital Gain', 'Capital Loss', 'Hours per week', 'Country']
提示

如果您從未標籤的資料開始,可以使用 Amazon SageMaker Ground Truth 相在幾分鐘內建立資料標籤工作流程。要瞭解更多資料,請參閱標籤資料

資料集概觀

執行下列指令碼,以顯示數值圖徵之資料集和長條圖的統計概觀。

display(X.describe()) hist = X.hist(bins=30, sharey=True, figsize=(20, 10))
成人人口普查資料集概述。
提示

如果您想要使用需要清理和轉換的資料集,可以使用 Amazon SageMaker Data Wrangler 簡化和簡化資料預處理和功能工程。要深入瞭解,請參閱使用 Amazon SageMaker Data Wrangler 準備機器學習 (ML) 資料

將資料分割為訓練、測試和驗證資料集。

使用 Sklearn 將資料集拆分為訓練集和測試集。訓練集用於訓練模型,而測試集則用於評估最終訓練模型的效能。資料集會以固定隨機種子隨機排序:訓練集的 80% 資料集,而測試集則為 20%。

from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1) X_train_display = X_display.loc[X_train.index]

拆分訓練集以分離出驗證集。驗證集用於評估訓練模型的效能,同時調整模型的超參數。75% 的訓練集成為最後的訓練集,其餘的則是驗證集。

X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.25, random_state=1) X_train_display = X_display.loc[X_train.index] X_val_display = X_display.loc[X_val.index]

使用 pandas 套件,透過將數字特徵與真實標籤串連,明確對齊每個資料集。

import pandas as pd train = pd.concat([pd.Series(y_train, index=X_train.index, name='Income>50K', dtype=int), X_train], axis=1) validation = pd.concat([pd.Series(y_val, index=X_val.index, name='Income>50K', dtype=int), X_val], axis=1) test = pd.concat([pd.Series(y_test, index=X_test.index, name='Income>50K', dtype=int), X_test], axis=1)

檢查資料集是否按預期拆分和結構:

train
訓練資料集範例。
validation
驗證資料集範例。
test
範例測試資料集。

將訓練和驗證資料集轉換為 CSV 檔案

trainvalidation 資料框物件轉換為 CSV 檔案,以符合 XGBoost 演算法的輸入檔案格式。

# Use 'csv' format to store the data # The first column is expected to be the output column train.to_csv('train.csv', index=False, header=False) validation.to_csv('validation.csv', index=False, header=False)

將資料集上傳到 Amazon S3

使用 SageMaker AI 和 Boto3,將訓練和驗證資料集上傳至預設的 Amazon S3 儲存貯體。Amazon EC2 上的運算最佳化 SageMaker 執行個體將使用 S3 儲存貯體中的資料集進行訓練。

下列程式碼會為您目前的 SageMaker AI 工作階段設定預設 S3 儲存貯體 URI、建立新的demo-sagemaker-xgboost-adult-income-prediction資料夾,並將訓練和驗證資料集上傳至data子資料夾。

import sagemaker, boto3, os bucket = sagemaker.Session().default_bucket() prefix = "demo-sagemaker-xgboost-adult-income-prediction" boto3.Session().resource('s3').Bucket(bucket).Object( os.path.join(prefix, 'data/train.csv')).upload_file('train.csv') boto3.Session().resource('s3').Bucket(bucket).Object( os.path.join(prefix, 'data/validation.csv')).upload_file('validation.csv')

執行下列 AWS CLI 動作,檢查 CSV 檔案是否已成功上傳至 S3 儲存貯體。

! aws s3 ls {bucket}/{prefix}/data --recursive

輸出應該會傳回以下內容:

用於檢查 S3 儲存貯體中資料集的 CLI 命令輸出。
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。