【问题标题】:How to see which features are used in the trained machine learning model?如何查看训练好的机器学习模型中使用了哪些特征?
【发布时间】:2019-10-25 16:46:30
【问题描述】:

在使用 H2O 的 autoML 工具训练模型后,我可以通过 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 是否正在提取和添加新功能。

我使用了 another question 中所述的 my_training_frame = your_model.actual_params['training_frame'],但它给出了错误:“TypeError: 'property' object has no attribute 'getitem'”。

【问题讨论】:

  • @edge 你能发布完整的代码 sn-p 吗?当您致电.train() 时,您是否提供了验证框架。另请注意 DAI 和 H2O-3 automl 是单独的产品。 AutoML 不会为你做特征工程,那是 DAI 产品中的东西。谢谢!
  • @Lauren 我不知道,谢谢你的信息。您是否知道有关此主题的任何类型的文档,我可以获得有关特征工程的更多信息?

标签: h2o feature-extraction automl


【解决方案1】:

Quick Note H2O.ai 有一些产品。开源平台称为 H2O-3,它包含 AutoML 算法。 AutoML 目前不为您进行特征工程。如果您想要自动特征工程,您可能会考虑 H2O 的产品Driverless-AI

至于您看到的错误,这是一个错误,您可以跟踪修复here

根据您传递给.train() 方法的内容,您可能会也可能不会遇到此错误。

【讨论】:

    猜你喜欢
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2011-05-11
    • 2021-01-14
    • 1970-01-01
    相关资源
    最近更新 更多