機器學習概述 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

機器學習概述

透過 Amazon Redshift,您就可以利用機器學習功能從資料中獲得寶貴的深入分析。此機器學習 (ML) 概觀說明如何探索、視覺化和準備資料,以供 ML 模型訓練和部署使用。下列各節將引導您完成使用 Amazon Redshift ML 的程序,協助您透過機器學習充分發揮資料的潛力。

透過使用 Amazon Redshift ML,您可以使用 SQL 陳述式訓練機器學習模型,並在 SQL 查詢中調用它們以進行預測。

若要協助您學習如何使用 Amazon Redshift ML,您可以觀看下列影片。

若要了解設定 Redshift 叢集或 Serverless 工作群組、許可和擁有權以使用 Amazon Redshift ML 的先決條件,請閱讀以下各節。這些章節也會說明簡單訓練和預測在 Amazon Redshift ML 中的運作方式。

機器學習如何解決問題

機器學習模型會在訓練資料中尋找模式,然後將這些模式套用至新資料,以產生預測。在機器學習中,您可以透過學習最能解釋您資料的模式來訓練這些模型。然後,您可以使用模型對新資料進行預測 (也稱為推論)。機器學習通常是一個反覆的過程,您可以透過變更參數和改進訓練資料來繼續提高預測的準確性。如果資料變更,則會使用新資料集重新訓練新模型。

為了解決各種業務目標,有不同的基本機器學習方法可用。

在 Amazon Redshift ML 中進行監督式學習

Amazon Redshift 支援受監督式學習,這是進階企業分析最常用的方法。當您擁有一組已建立的資料並了解特定輸入資料如何預測各種業務成果時,監督式學習是首選的機器學習方法。這些結果有時稱為標籤。特別是,如果您的資料集是一個包含特徵 (輸入) 和目標 (輸出) 的屬性資料表。例如,假設您有一個提供過去和現在客戶的年齡和郵遞區號的資料表。假設您還有一個「作用中」欄位,而此欄位對於現在的客戶而言是 true,對於已暫停其會員資格的客戶來說是 false。監督式機器學習的目標是發現導致客戶流失的年齡和郵遞區號模式,以其目標為 “False” 的客戶表示。您可以使用此模型來預測可能流失的客戶,例如暫停其會員資格,並可能提供保留獎勵。

Amazon Redshift 支援監督式學習,其中包括迴歸、二進制分類和多類別分類。迴歸是指預測連續值的問題,例如客戶的總支出。二進制分類指的是預測兩個結果之一的問題,例如預測客戶是否會流失。多類別分類是指預測許多結果之一的問題,例如預測客戶可能感興趣的項目。資料分析師和資料科學家可以使用它來執行監督式學習,以解決諸如預測、個性化或客戶流失預測等問題。您還可以在諸如預測哪些銷售會結束、收入預測、詐騙偵測和客戶終身價值預測等問題中使用監督式學習。

在 Amazon Redshift ML 中進行非監督式學習

非監督式學習會使用機器學習演算法來分析和分組未標籤的訓練資料。演算法會發現隱藏的模式或分組。目標是為資料中的基礎結構或分佈建立模型,以進一步了解資料。

Amazon Redshift 支援 K 平均值叢集演算法,以解決非監督式學習問題。此演算法可解決您想在資料中探索分組的叢集問題。K 平均值演算法會嘗試尋找資料中的離散群組。未分類的資料會根據其相似性和差異進行分組和分割。透過分組,K 平均值演算法會反覆決定最佳質心,並將每個成員指派給最接近的質心。最接近屬於同一群組的相同質心的成員。群組的成員會盡可能地與相同群組中的其他成員相似,並盡可能地和其他群組的成員不同。例如,K 平均值叢集演算法可用於對受到流行病影響的城市進行分類,或根據消費品產品的受歡迎程度對城市進行分類。

使用 K 平均值演算法時,您可以指定輸入 k,指定要在資料中尋找的叢集數目。該演算法的輸出是 k 個質心的集合。每個資料點都屬於 k 個叢集中最接近它的其中一個叢集。每個叢集都會由其質心描述。質心可以被認為是叢集的多維平均值。K 平均值演算法會比較距離,以了解叢集彼此之間有多不同。較大的距離通常表示叢集之間的差異較大。

預處理資料對 K 平均值來說很重要,因為可確保模型的特徵保持相同的比例並產生可靠的結果。Amazon Redshift 支援將一些 K 平均值預處理器用於 CREATE MODEL 陳述式,例如 StandardScaler、MinMax 和 NumericPassthrough。如果您不想對 K 平均值套用任何預處理,請明確選擇 NumericPassthrough 作為轉換器。如需 K 平均值的相關資訊,請參閱 CREATE MODEL 與 K-MEANS 參數

若要協助您了解如何使用 K 平均值叢集執行非監督式訓練,您可以觀看以下影片。

Amazon Redshift ML 的術語和概念

下列術語用來描述 Amazon Redshift ML 的一些概念。

  • Amazon Redshift 中的機器學習會使用一個 SQL 命令來訓練模型。Amazon Redshift ML 和 Amazon SageMaker AI 會管理適當模型的所有資料轉換、許可、資源使用情況和探索。

  • 訓練是 Amazon Redshift 透過在模型中執行指定的資料子集來建立機器學習模型的階段。Amazon Redshift 會在 Amazon SageMaker AI 中自動啟動訓練任務,並產生一個模型。

  • 預測 (也稱為推論) 是在 Amazon Redshift SQL 查詢中使用模型來預測結果。在推論時,Amazon Redshift 會使用以模型為基礎的預測函數做為較大查詢的一部分來產生預測。預測是在 Redshift 叢集本機上計算的,因此可提供高輸送量、低延遲和零額外成本。

  • 透過使用自有模型 (BYOM),您可以使用在 Amazon Redshift 外部訓練的模型搭配 Amazon SageMaker AI,以便在 Amazon Redshift 本機上進行資料庫內推論。Amazon Redshift ML 支援使用 BYOM 進行本機推論。

  • 當模型在 Amazon SageMaker AI 中進行預先訓練、經由 Amazon SageMaker AI Neo 編譯,並在 Amazon Redshift ML 中進行本地化時,就會使用本機推論。若要將支援本機推論的模型匯入 Amazon Redshift,請使用 CREATE MODEL 命令。Amazon Redshift 會透過呼叫 Amazon SageMaker AI Neo 匯入預先訓練的 SageMaker AI 模型。您可以在那裡編譯模型,然後將編譯後的模型匯入 Amazon Redshift。使用本機推論以加快速度並降低成本。

  • 當 Amazon Redshift 調用 SageMaker AI 中部署的模型端點時,就會使用遠端推論。遠端推論為調用所有類型的自訂模型和深度學習模型提供了靈活性,例如您在 Amazon SageMaker AI 中建立和部署的 TensorFlow 模型。

同樣重要的是以下各項:

  • Amazon SageMaker AI 是一種全受管機器學習服務。使用 Amazon SageMaker AI,資料科學家和開發人員可輕鬆建置、訓練模型,然後直接將模型部署至生產就緒的託管環境。如需 Amazon SageMaker AI 的詳細資訊,請參閱《Amazon SageMaker AI 開發人員指南》中的什麼是 Amazon SageMaker AI

  • Amazon SageMaker AI Autopilot 是一個功能集,可根據您的資料自動訓練和調整最佳機器學習模型,以進行分類或迴歸。您可以保持完整的控制權和可見性。Amazon SageMaker AI Autopilot 支援以資料表格式輸入資料。Amazon SageMaker AI Autopilot 提供自動資料清理和預處理、線性迴歸的自動演算法選擇、二進制分類和多類別分類。也支援自動超參數最佳化 (HPO)、分散式訓練、自動執行個體和叢集大小選擇。如需有關 Amazon SageMaker AI Autopilot 的詳細資訊,請參閱《Amazon SageMaker AI 開發人員指南》中的使用 Amazon SageMaker AI Autopilot 自動化模型開發

  • Amazon Bedrock 是一項全受管服務,透過單一 API 提供 AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon 等領先 AI 公司精選的高效能基礎模型 (FM),以及建置生成式 AI 應用程式所需的廣泛功能。