SynapseMLとは
Spark上で大規模データセットを用いた機械学習を効率よく行うために設計されたライブラリ。
Microsoftによって公開されており、最近MMLSparkからSynapseMLに名前が変わった。
SynapseMLを使うことでSpark上でLightGBMの使用が可能になり、
HiggsデータセットにおいてはSparkMLより10-30%高速で、AUCは15%向上することが検証されている。
SynapseMLをDatabricksにインストールする方法
- Library Sourceとして「Maven」を選択
- Coordinatesに「com.microsoft.azure:synapseml_2.12:0.9.4」を入力
- Repositoryに「https://mmlspark.azureedge.net/maven」 を入力
- 「Install」ボタンを押下
##Sample Code
# 学習・検証データに分割
train, test = df.randomSplit([0.85, 0.15], seed=1)
# モデルの構築
from synapse.ml.lightgbm import LightGBMClassifier
params = {
'numIterations': 200,
'learningRate': .2,
'maxDepth': 7,
'lambdaL2': 1.,
'numLeaves': 31
}
model = LightGBMClassifier(featuresCol="features", labelCol="target", **params)
# モデルの学習
model = model.fit(train)
# 予測
predictions = model.transform(test)