Как узнать, какие функции используются в обученной модели машинного обучения? - PullRequest
0 голосов
/ 23 октября 2019

После обучения модели с помощью инструмента autoML H2O, я могу видеть важность переменной с помощью saved_model.varimp_plot(). Мне любопытно, что такое инженерная часть, о которой заявляет H2O.

Я пробую простые строки кода в документации H2O.

import h2o
h2o.init()

train_data = h2o.import_file("../full_data.csv")
test_data = h2o.import_file("../201810_pca.csv")

from h2o.automl import H2OAutoML
y = "Label"
x = ['feature0','feature1','feature2','feature3','feature4','feature5','feature6','feature7','feature8','feature9','feature10',
'feature11','feature12','feature13','feature14','feature15','feature16','feature17','feature18','feature19','feature20',
'feature21','feature22','feature23','Amount','DateTime']


aml = H2OAutoML(max_models = 100, max_runtime_secs=100000, seed = 1)
aml.train(x = x, y = y, training_frame = train_data)

lb = aml.leaderboard
lb.head()
lb.head(rows=lb.nrows) # Entire leaderboard

preds = aml.predict(test_data)
h2o.save_model(aml.leader, path = "./Saved_Models")


saved_model = h2o.load_model("./Saved_Models/XGBoost_2_AutoML_20191018_174201")

training_frame = your_model.actual_params['training_frame'] #The part gives error
print(training_frame)

Как узнать, какие функциииспользуются в обученной модели? Я хотел бы видеть, извлекает ли H2O и добавляет новые функции или нет.

Я использовал my_training_frame = your_model.actual_params['training_frame'], как указано в другой вопрос , но он выдает ошибку: «TypeError: у объекта 'property' нет атрибута 'getitem'".

1 Ответ

0 голосов
/ 24 октября 2019

Quick Note H2O.ai имеет несколько продуктов. Платформа с открытым исходным кодом называется H2O-3 и содержит алгоритм AutoML. В настоящее время AutoML не занимается разработкой функций для вас. Если вам нужна автоматическая разработка функций, вы можете подумать о продукте H2O Driverless-AI .

Что касается ошибки, которую вы видите, это ошибка, и вы можете отследить исправление здесь .

В зависимости от того, что вы передаете методу .train(),Вы можете или не можете поразить эту ошибку.

...