Как установить тип учащегося для модели Python в Azure конструкторе машинного обучения? - PullRequest
1 голос
/ 16 июня 2020

Я тестирую Azure Конструктор машинного обучения, имея собственную модель Python (простая классификация kNN). Я хотел бы настроить значение «k» и получить наиболее эффективную модель, но модуль «Настроить гиперпараметры модели» выдает следующую ошибку при вводе выходных данных моей «Создать Python модель» в качестве входных данных.

ModuleExceptionMessage:LearnerTypesNotCompatible: Got incompatible learner type: "None". Expected learner types are: "(<TaskType.BinaryClassification: 1>, <TaskType.MultiClassification: 2>, <TaskType.Regression: 3>)".

Как я могу установить тип ученика моей собственной модели Python? Это вообще возможно? Должен ли я просто закодировать настройку параметров с помощью модуля «Выполнить Python сценарий»?

Мой сценарий модуля «Создать Python модель»:

import pandas as pd
from sklearn.neighbors import KNeighborsClassifier

class AzureMLModel:
    def __init__(self, k = 3):
        self.model = KNeighborsClassifier(n_neighbors = k)
        self.feature_column_names = list()

    def train(self, df_train, df_label):
        self.feature_column_names = df_train.columns.tolist()
        self.model.fit(df_train, df_label)

    def predict(self, df):
        return pd.DataFrame({'Scored Labels': self.model.predict(df[self.feature_column_names])})

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Спасибо за ваш вопрос. Настройка гиперпараметров модели не поддерживает создание модели Python. Пожалуйста, используйте Execute Python Script для настройки параметров.

0 голосов
/ 16 июня 2020
Модуль

Tune Model Hyperparameters не поддерживает использование модуля Create Python Model в качестве модели ввода.

Я бы рекомендовал изучить использование azureml-sdk s HyperDrive для настройки гиперпараметров. Вот ссылка , которая дает представление, в конце также записная книжка Jupyter.

...