從 Azure 開放數據集建立 Azure 機器學習 數據集
警告
這篇文章參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引。
在本文中,您將瞭解如何使用 Azure 機器學習 數據集和 Azure 開放數據集,將策劃的擴充數據帶入本機或遠端機器學習實驗。
藉由建立 Azure 機器學習 數據集,您可以建立數據源位置的參考,以及其元數據的複本。 因為資料集會延遲評估,且資料留在現有位置,所以
- 不會產生額外的儲存體成本。
- 沒有意外變更原始資料來源的風險。
- 改善 ML 的工作流程效率。
若要了解資料集安插在 Azure Machine Learning 整體資料存取工作流程中的何處,請參閱安全存取資料一文。
Azure 開放數據集是策劃的公用數據集,可用來新增案例特定功能,以擴充您的預測解決方案並改善其精確度。 請參閱公用網域數據的開放式數據集目錄,以協助您定型機器學習模型,例如:
開放數據集位於 Microsoft Azure 上的雲端中,並同時包含在 Azure 機器學習 Python SDK 和 Azure Machine Learning 工作室 中。
必要條件
在本文中,您需要:
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。 試用免費或付費版本的 Azure Machine Learning。
已安裝適用於 Python 的 Azure 機器學習 SDK,其中包含
azureml-datasets
套件。- 建立 Azure Machine Learning 計算執行個體,此為完整設定和受控的開發環境,其中已安裝整合式筆記本和 SDK。
OR
- 使用您自己的 Python 環境,並使用這些指示自行安裝 SDK。
注意
某些資料集類別對 azureml-dataprep 封裝 (只相容於 64 位元 Python) 具有相依性。 針對 Linux 使用者,這些類別僅支援下列發行版:Red Hat Enterprise Linux (7、8)、Ubuntu (14.04、16.04、18.04)、Fedora (27、28)、Debian (8、9)和 CentOS (7)。
使用 SDK 建立數據集
若要透過 Python SDK 中的 Azure Open Datasets 類別建立 Azure 機器學習 資料集,請確定您已使用 pip install azureml-opendatasets
安裝套件。 每個離散數據集都會以 SDK 中自己的類別表示,而且某些類別可作為 Azure 機器學習 TabularDataset
、 FileDataset
或兩者使用。 如需類別的完整清單opendatasets
,請參閱參考檔。
您可以將特定 opendatasets
類別擷取為 TabularDataset
或 FileDataset
,這可讓您直接操作和/或下載檔案。 其他類別只能使用 Python SDK 中 類別的 或 get_file_dataset()
函式Dataset
來取得數據集get_tabular_dataset()
。
下列程式代碼顯示 MNIST opendatasets
類別可以傳回 TabularDataset
或 FileDataset
。
from azureml.core import Dataset
from azureml.opendatasets import MNIST
# MNIST class can return either TabularDataset or FileDataset
tabular_dataset = MNIST.get_tabular_dataset()
file_dataset = MNIST.get_file_dataset()
在這裡範例中,Diabetes opendatasets
類別只能做為 TabularDataset
,因此會使用 get_tabular_dataset()
。
from azureml.opendatasets import Diabetes
from azureml.core import Dataset
# Diabetes class can return ONLY TabularDataset and must be called from the static function
diabetes_tabular = Diabetes.get_tabular_dataset()
註冊資料集
向工作區註冊 Azure 機器學習 數據集,以便與其他人共用數據集,並在工作區中的實驗間重複使用。 當您註冊從開放式數據集建立的 Azure 機器學習 數據集時,不會立即下載任何數據,但稍後會從中央記憶體位置要求(例如定型期間)存取數據。
若要向工作區註冊數據集,請使用 register()
方法。
titanic_ds = titanic_ds.register(workspace=workspace,
name='titanic_ds',
description='titanic training data')
使用 Studio 建立數據集
您也可以使用 Azure Machine Learning 工作室 從 Azure Open Datasets 建立 Azure 機器學習 數據集,這是包含機器學習工具的合併 Web 介面,可針對所有技能層級的數據科學從業者執行數據科學案例。
注意
透過 Azure Machine Learning 工作室建立的資料集會自動註冊到工作區。
在您的工作區中,選取 [資產] 底下的 [數據集] 索引標籤。 在 [建立數據集] 下拉功能表中,選取 [從開啟數據集]。
選取數據集的圖格,以選取數據集。 (您可以選擇使用搜尋列進行篩選。選取 [ 下一步]。
選擇要註冊數據集的名稱,並選擇性地使用可用的篩選來篩選數據。 在此情況下,針對 公用假日 數據集,您會將時間週期篩選為一年,並將國家/地區代碼只篩選為美國。 如需數據詳細數據,請參閱 Azure 開放數據集目錄,例如字段描述和日期範圍。 選取 建立。
數據集現在可在工作區的 [數據集] 下取得。 您可以使用與您所建立之其他資料集相同的方式使用它。
存取實驗的數據集
在機器學習實驗中使用資料集來定型 ML 模型。 深入了解如何使用資料集進行定型。
Notebook 範例
如需開放數據集功能的範例和示範,請參閱這些 範例筆記本。