Ensaios clínicos em escala de hiperoptia
Uma das vantagens de usar o Apache Spark no Azure Databricks é a capacidade de distribuir tarefas de processamento entre vários nós de cluster. Quando você usa uma biblioteca de aprendizado de máquina com reconhecimento de faísca como MLlib, o treinamento de aprendizado de máquina pode ser expandido para reduzir o tempo total que o processo de treinamento leva. Ao usar o Hyperopt com uma biblioteca de treinamento distribuída como MLlib, o trabalho é dimensionado automaticamente entre os nós de trabalho disponíveis no cluster.
O Hyperopt oferece suporte ao dimensionamento de avaliações de ajuste de hiperparâmetros para bibliotecas que não são distribuídas usando a classe SparkTrials no lugar de uma classe Trials regular. Essa abordagem permite que você aproveite o paralelismo de expansão do Spark para distribuir execuções de ajuste de hiperparâmetros em vários nós, mesmo ao usar uma biblioteca projetada para processamento em um único computador, como o Scikit-Learn.
O código de exemplo a seguir mostra como usar a classe SparkTrials .
from hyperopt import SparkTrials
spark_trials = SparkTrials()
with mlflow.start_run():
argmin = fmin(
fn=objective,
space=search_space,
algo=algo,
max_evals=100,
trials=spark_trials)
print("Best param values: ", argmin)
Gorjeta
Para obter mais informações sobre como usar a classe SparkTrials , consulte A classe SparkTrials na documentação do Azure Databricks.