トレーニング
認定資格
Microsoft Certified: Azure Data Scientist Associate - Certifications
Python、Azure Machine Learning、MLflow を使用して、データのインジェストと準備、モデルのトレーニングとデプロイ、機械学習ソリューションの監視を管理します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
適用対象:Azure CLI ml extension v2 (現行)Python SDK azure-ai-ml v2 (現行)
この記事では、Jupyter Notebook で R カーネルを実行するコンピューティング インスタンスにおいて、Azure Machine Learning スタジオで R を使用する方法について説明します。します。
一般的な RStudio IDE を使用することもできます。 RStudio または Posit Workbench は、コンピューティング インスタンスのカスタム コンテナーにインストールできます。 ただし、その場合、Azure Machine Learning ワークスペースに対する読み取りと書き込みに制限があります。
重要
この記事に示されているコードは、Azure Machine Learning コンピューティング インスタンスで動作します。 コンピューティング インスタンスには、コードを正常に実行するために必要な環境と構成ファイルがあります。
コンピューティング インスタンス上の Azure Machine Learning ワークスペースでノートブックを使用します。
Azure Machine Learning Studio にサインインします。
ワークスペースがまだ開いていない場合は開きます
左側のナビゲーションで [ノートブック] を選択します
RunR.ipynb という名前の新しいノートブックを作成します
ヒント
スタジオでノートブックを作成して操作する方法がわからない場合は、「ワークスペースで Jupyter ノートブックを実行する」を参照してください。
このノートブックを選択します。
ノートブックのツール バーで、コンピューティング インスタンスが実行されていることを確認します。 実行されていない場合は、ただちに開始します。
ノートブックのツール バーで、カーネルを [R] に切り替えます。
これで、ノートブックで R コマンドを実行する準備ができました。
ワークスペース ファイル ストレージ リソースにファイルをアップロードし、R でそれらのファイルにアクセスできます。ただし、Azure "データ アセット" または "データストア" からのデータに保存されたファイルの場合、いくつかのパッケージをインストールする必要があります。
このセクションでは、Python と reticulate
パッケージを使用して、対話型セッションからデータ アセットとデータストアを R に読み込む方法について説明します。 azureml-fsspec
Python パッケージと reticulate
R パッケージを使用して、表形式データを Pandas DataFrames として読み取ります。 さらに、このセクションでは、データ資産とデータストアを R data.frame
に読み込む例も取り上げます。
これらのパッケージをインストールするには:
コンピューティング インスタンスで、setup.sh という名前の新しいファイルを作成します。
そのファイルにこのコードをコピーします。
#!/bin/bash
set -e
# Installs azureml-fsspec in default conda environment
# Does not need to run as sudo
eval "$(conda shell.bash hook)"
conda activate azureml_py310_sdkv2
pip install azureml-fsspec
conda deactivate
# Checks that version 1.26 of reticulate is installed (needs to be done as sudo)
sudo -u azureuser -i <<'EOF'
R -e "if (packageVersion('reticulate') >= 1.26) message('Version OK') else install.packages('reticulate')"
EOF
[ターミナルでスクリプトを保存して実行する] を選択してスクリプトを実行します
インストール スクリプトでは、こちらの手順が実行されます。
pip
により、コンピューティング インスタンスの既定の conda 環境に azureml-fsspec
がインストールされますreticulate
パッケージがインストールされます (バージョンは 1.26 以上である必要があります)Azure Machine Learning で作成されたデータ アセットにデータが保存されている場合、こちらの手順を使用して、その表形式ファイルを Pandas DataFrame または R の data.frame
に読み込みます。
注意
reticulate
を使用したファイルの読み取りは、表形式のデータでのみ機能します。
reticulate
の正しいバージョンがあることを確認します。 バージョンが 1.26 未満の場合、新しいコンピューティング インスタンスを使用してみてください。
packageVersion("reticulate")
reticulate
を読み込み、azureml-fsspec
がインストールされた conda 環境を設定します
library(reticulate)
use_condaenv("azureml_py310_sdkv2")
print("Environment is set")
データ ファイルへの URI パスを見つけます。
最初に、ワークスペースのハンドルを取得します
py_code <- "from azure.identity import DefaultAzureCredential
from azure.ai.ml import MLClient
credential = DefaultAzureCredential()
ml_client = MLClient.from_config(credential=credential)"
py_run_string(py_code)
print("ml_client is configured")
このコードを使用してアセットを取得します。 <MY_NAME>
と <MY_VERSION>
は、実際のデータ アセットの名前と番号に置き換えてください。
ヒント
スタジオの左側のナビゲーションで [データ] を選択して、データ アセットの名前とバージョン番号を見つけます。
# Replace <MY_NAME> and <MY_VERSION> with your values
py_code <- "my_name = '<MY_NAME>'
my_version = '<MY_VERSION>'
data_asset = ml_client.data.get(name=my_name, version=my_version)
data_uri = data_asset.path"
URI を取得するには、コードを実行します。
py_run_string(py_code)
print(paste("URI path is", py$data_uri))
Pandas 読み取り関数を使用してファイルを R 環境に読み込みます。
pd <- import("pandas")
cc <- pd$read_csv(py$data_uri)
head(cc)
または、データストアの URI を使用して、登録済みのデータストア上のさまざまなファイルにアクセスし、それらのリソースを R data.frame
に読み込むこともできます。
この形式で、独自の値を使用してデータストア URI を作成します。
subscription <- '<subscription_id>'
resource_group <- '<resource_group>'
workspace <- '<workspace>'
datastore_name <- '<datastore>'
path_on_datastore <- '<path>'
uri <- paste0("azureml://subscriptions/", subscription, "/resourcegroups/", resource_group, "/workspaces/", workspace, "/datastores/", datastore_name, "/paths/", path_on_datastore)
ヒント
データストア URI の形式を覚える代わりに、ファイルがあるデータストアがわかっている場合は、スタジオ UI からデータストア URI をコピーして貼り付けることができます。
<path>
の変数はコード内で作成する必要がある点に注意してください。
前述の URI を使用して filestore オブジェクトを作成します。
fs <- azureml.fsspec$AzureMachineLearningFileSystem(uri, sep = "")
data.frame
に読み込みます。df <- with(fs$open("<path>)", "r") %as% f, {
x <- as.character(f$read(), encoding = "utf-8")
read.csv(textConnection(x), header = TRUE, sep = ",", stringsAsFactors = FALSE)
})
print(df)
コンピューティング インスタンスには、R パッケージが数多くプレインストールされています。
他のパッケージをインストールするには、場所と依存関係を明示的に指定する必要があります。
ヒント
別のコンピューティング インスタンスを作成または使用する場合は、インストールしたパッケージをすべて再インストールする必要があります。
たとえば、tsibble
パッケージをインストールするには、次のようにします。
install.packages("tsibble",
dependencies = TRUE,
lib = "/home/azureuser")
注意
Jupyter ノートブックで実行される R セッション内でパッケージをインストールする場合、dependencies = TRUE
は必須です。 これを使用しないと、依存パッケージが自動的にインストールされません。 正しいコンピューティング インスタンスの場所にインストールするために、lib の場所も必須です。
/home/azureuser
を R ライブラリ パスに追加します。
.libPaths("/home/azureuser")
ヒント
ユーザーがインストールしたライブラリにアクセスするために、各対話型 R スクリプトで .libPaths
を更新する必要があります。 このコードを各対話型 R スクリプトまたはノートブックの先頭に追加します。
libPath が更新されたら、通常どおりにライブラリを読み込みます。
library('tsibble')
前述の問題以外は、ローカル ワークステーションなど他の環境と同様に R を使用します。 ノートブックまたはスクリプトで、ノートブック/スクリプトが保存されているパスに対する読み取りと書き込みを行うことができます。
注意
トレーニング
認定資格
Microsoft Certified: Azure Data Scientist Associate - Certifications
Python、Azure Machine Learning、MLflow を使用して、データのインジェストと準備、モデルのトレーニングとデプロイ、機械学習ソリューションの監視を管理します。