MicrosoftML (SQL Server Machine Learning Services の R パッケージ)

適用対象: SQL Server 2016 (13.x) 以降のバージョン

MicrosoftML は、Microsoft が提供する R パッケージであり、ハイパフォーマンスの機械学習アルゴリズムを備えています。 トレーニング、変換、スコアリング、テキストと画像の分析、既存のデータから値を派生させるための特徴抽出を行うための関数が含まれています。 このパッケージは、SQL Server Machine Learning ServicesSQL Server 2016 R Services に含まれており、マルチコア処理を使用したビッグ データでのハイパフォーマンス、および高速データ ストリーミングをサポートしています。 また、MicrosoftML には、テキストと画像処理のための変換も多数含まれています。

完全なリファレンス ドキュメント

MicrosoftML パッケージは、複数の Microsoft 製品で配布されていますが、このパッケージを SQL Server または別の製品のどちらで取得しても、使用方法は同じです。 これらの関数は同じであるため、個々の RevoScaleR 関数のドキュメントR リファレンスの下の 1 つの場所でのみ公開されています。 製品固有の動作が存在する場合、関数のヘルプ ページにその相違点が示されます。

バージョンとプラットフォーム

MicrosoftML パッケージは R 3.5.2 に基づいており、次のいずれかの Microsoft 製品またはダウンロードをインストールした場合にのみ利用できます。

注意

完全な製品リリース バージョンは、SQL Server 2017 では Windows のみです。 SQL Server 2019MicrosoftML では、Windows と Linux の両方がサポートされています。

パッケージの依存関係

MicrosoftML のアルゴリズムは、次に関して RevoScaleR に依存します。

  • データ ソース オブジェクト。 MicrosoftML 関数によって使用されるデータは、RevoScaleR 関数を使用して作成されます。
  • リモート コンピューティング (関数の実行をリモート SQL Server インスタンスにシフトする)。 RevoScaleR パッケージには、SQL Server のリモート計算コンテキストを作成およびアクティブ化するための関数が用意されています。

ほとんどの場合、MicrosoftML を使用しているときは常に、パッケージをまとめて読み込みます。

カテゴリ別の関数

このセクションでは、関数をカテゴリ別に一覧表示し、それぞれの使用方法について説明します。 目次を使用して関数をアルファベット順に検索することもできます。

1 - 機械学習アルゴリズム

関数名 説明
rxFastTrees MART 勾配ブースティング アルゴリズムの効率的な実装である、FastRank の実装。
rxFastForest rxFastTrees を使用した、ランダム フォレストと分位点回帰フォレストの実装。
rxLogisticRegression L-BFGS を使用したロジスティック回帰。
rxOneClassSvm 1 クラス サポート ベクター マシン。
rxNeuralNet バイナリ、多クラス、回帰ニューラル ネットワーク。
rxFastLinear 線形二項分類および回帰用の確率的双対座標上昇法最適化。
rxEnsemble 1 つのモデルから得られるよりもさらに良い予測パフォーマンスを得るために、さまざまな種類のモデルをトレーニングします。

2 - 変換の関数

関数名 説明
concat 複数の列から 1 つのベクトル値列を作成する変換。
categorical 辞書によるカテゴリ変換の使用によりインジケーター ベクトルを作成します。
categoricalHash ハッシュにより、カテゴリ値をインジケーター配列に変換します。
featurizeText 指定したテキストのコーパスから、n-gram と呼ばれる連続した単語のシーケンスの数のバッグを生成します。 言語検出、トークン化、ストップワードの削除、テキストの正規化、特徴生成が提供されます。
getSentiment 自然言語のテキストをスコアリングし、テキストのセンチメントが正である確率を含む列を作成します。
ngram カウントベースとハッシュベースの特徴抽出の引数の定義を可能とします。
selectColumns 再トレーニングする列のセットを選択し、他のすべてを削除します。
selectFeatures 指定したモードを使用して、指定した変数から特徴を選択します。
loadImage 画像データを読み込みます。
resizeImage 指定したサイズ変更方法を使用して、画像のサイズを指定したディメンションに変更します。
extractPixels 画像からピクセル値を抽出します。
featurizeImage 事前トレーニング済みのディープ ニューラル ネットワークモデルを使用して、画像を特徴化します。

3 - スコアリングおよびトレーニングの関数

関数名 説明
rxPredict.mlModel より高速な予測パフォーマンスを実現するために、ストアド プロシージャを使用して SQL Server から、または R コードからスコアリング ライブラリを実行し、リアルタイムのスコアリングを可能にします。
rxFeaturize 入力データ セットのデータを出力データ セットに変換します。
mlModel Microsoft R Machine Learning モデルの概要を提供します。

4 - 分類および回帰の損失関数

関数名 説明
expLoss 指数分類損失関数の仕様。
logLoss ログ分類損失関数の仕様。
hingeLoss ヒンジ分類損失関数の仕様。
smoothHingeLoss スムーズ ヒンジ分類損失関数の仕様。
poissonLoss ポワソン回帰分類損失関数の仕様。
squaredLoss 二乗回帰分類損失関数の仕様。

5 - 特徴選択の関数

関数名 説明
minCount カウント モードの特徴選択の仕様。
mutualInformation 相互情報量モードの特徴選択の仕様。

6 - アンサンブル モデリングの関数

関数名 説明
fastTrees rxEnsemble で高速ツリー モデルをトレーニングするための関数名と引数を含むリストを作成します。
fastForest rxEnsemble で高速フォレスト モデルをトレーニングするための関数名と引数を含むリストを作成します。
fastLinear rxEnsemble で高速線形モデルをトレーニングするための関数名と引数を含むリストを作成します。
logisticRegression rxEnsemble でロジスティック回帰モデルをトレーニングするための関数名と引数を含むリストを作成します。
oneClassSvm rxEnsemble で OneClassSvm モデルをトレーニングするための関数名と引数を含むリストを作成します。

7 - ニューラル ネットワークの関数

関数名 説明
optimizer rxNeuralNet 機械学習アルゴリズムの最適化アルゴリズムを指定します。

8 - パッケージ状態の関数

関数名 説明
rxHashEnv パッケージ全体の状態を格納するために使用される環境オブジェクト。

MicrosoftML の使用方法

MicrosoftML 内の関数は、ストアド プロシージャにカプセル化された R コードで呼び出すことができます。 ほとんどの開発者は、MicrosoftML ソリューションをローカルでビルドし、完成した R コードを展開の練習としてストアド プロシージャに移行します。

R 用の MicrosoftML パッケージは、SQL Server 2017 にすぐに使用できる状態でインストールされています。

既定では、パッケージは読み込まれません。 最初の手順として、MicrosoftML パッケージを読み込み、リモート計算コンテキスト、関連する接続またはデータ ソース オブジェクトを使用する必要がある場合は、次に RevoScaleR を読み込みます。 その後、必要な個々の関数を参照します。

library(microsoftml);
library(RevoScaleR);
logisticRegression(args);

関連項目