Я тестирую 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])})