Я работаю с Azure Студия машинного обучения. Первоначально я проводил эксперимент с дизайнером, который работал хорошо. Большинство моих экспериментов с двумя классами нейронных сетей.
Мои эксперименты в основном следуют этой схеме: данные => разделенные данные => два класса нейронных Net => модель поезда => модель оценки => модель оценки
Сейчас я нахожусь в положении, когда я чувствую, что было бы полезно, если бы я мог создавать эти эксперименты, используя только код. Причина, по которой я хочу это сделать, заключается в том, что я хочу провести много экспериментов, а также хочу создать новый вычислительный ресурс для каждого эксперимента. Это будет намного проще и менее трудоемким, если я смогу сделать это с помощью кода.
Пока мне удалось написать Python code usnig Notebooks на моем портале ML:
Код, который я придумал, чтобы повторить мой Azure эксперимент, таков:
from azureml.core import Dataset, Run
from azureml.core import Workspace
from sklearn.model_selection import train_test_split
from azureml.core import Experiment
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report,confusion_matrix, precision_score, recall_score
vTargetCol = 'Pred'
dataset_name = 'TestNN'
workspace = Workspace.from_config()
experiment = Experiment(workspace=workspace, name=vExpName)
gastro_ds = Dataset.get_by_name(workspace=workspace, name=dataset_name)
df = gastro_ds.to_pandas_dataframe()
target_column = [vTargetCol]
predictors1 = list(set(list(df.columns))-set(target_column))
predictors = ['Column1', 'Column3', 'Column4', 'Column2', 'Column5', 'Column6']
X = df[predictors].values
y = df[target_column].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=40)
mlp = MLPClassifier(hidden_layer_sizes=(8,8,8), activation='relu', solver='adam', max_iter=500)
mlp.fit(X_train,y_train.ravel())
predict_train = mlp.predict(X_train)
predict_test = mlp.predict(X_test)
run = experiment.start_logging()
run.log("PRECISION TRAIN", precision_score(y_train, predict_train))
run.log("PRECISION TEST", precision_score(y_test,predict_test))
run.log("RECALL TRAIN", recall_score(y_train, predict_train))
run.log("RECALL TEST", recall_score(y_test,predict_test))
print("DONE 2")
Примечание. Я использовал SKLearn, используя мой инструмент AI.
Этот эксперимент работает отлично.
Однако моя проблема в том, что в этом коде все мои типы данных должны быть числовыми, в противном случае этот код не работает.
Это не случай для моего Azure эксперимента, где по умолчанию он может обрабатывать не числовой c тип данных.
Поэтому мой вопрос, можно ли как-то вызвать Azure ML Two Class Neural Net классификатор, а не инструменты SKLearn или любая другая библиотека. И в этом отношении все инструменты AI, доступные в конструкторе.
Обратите внимание, мой вопрос не в том, как заставить мой код SKLearn принимать значения, отличные от нумерации c (хотя это может помочь). Мой вопрос заключается в том, можно ли вызвать инструменты Azure ML, используя только Python.
Чтобы задать это несколько иным способом, можно ли вывести версию кода эксперимента, созданного в конструктор, аналогично тому, как видеть код из записанного макроса в Excel?