H2O分数与原始数据的合并

2024-03-28 11:59:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用H2O在一个大数据集上生成预测,其中一列是用户ID。但是,一旦我给数据集评分,预测数据集就不包含ID。。。唯一能让事情继续工作的是分数的顺序与输入数据集的顺序相匹配,这在我看来是相当草率的

有没有一种方法可以指示H2O在预测数据集中保留ID列,或者在评分后添加ID列,但仍在H2O中?在

我不太喜欢把分数和id一起带到python或R上,使用cbind之类的工具,但是如果这是唯一的选择,请加入进来。在


Tags: 工具数据方法用户id顺序评分事情
1条回答
网友
1楼 · 发布于 2024-03-28 11:59:28

是的,你只需要从你想要的最终输出的帧中找到信息。这里有一个完整的例子:我正在做一个回归分析,根据他们的年龄和风险类别来预测患者的身高。(!) 在

import h2o
h2o.init()

patients = {
  'age':[29, 33, 65],
  'height':[188, 157, 175.1],
  'name':["Tom", "Dick", "Harry"],
  'risk':['A', 'B', 'B']
  }

train = h2o.H2OFrame.from_python(
  patients,
  destination_frame="patients"
  )

m = h2o.estimators.H2ODeepLearningEstimator()
m.train(["age","risk"], "height", train)
p = m.predict(train)

train["name"].cbind(p["predict"])

由于我没有任何测试数据,为了举例说明,我对训练数据进行了预测。最后一步是获取train中的列,并与p中的列合并。(使用分类,您将获得其他列,您可能希望包含这些列,也可能不希望包含这些列。)

注意:cbind操作发生在您的H2O集群中,而不是在客户机上。因此,如果这是分布在多台机器上的1亿行数据,那么它的工作非常好。在

请注意,m.train(["age","height"], "risk", train)改为进行分类。在

相关问题 更多 >