【问题标题】:H2O merging of scores with original data set分数与原始数据集的 H2O 合并
【发布时间】:2017-02-28 12:29:00
【问题描述】:

我正在使用 H2O 对以用户 ID 作为列之一的大型数据集进行预测。但是,一旦我对数据集进行评分,预测数据集就不包含 ID……唯一能让事情正常进行的是分数的顺序与输入数据集的顺序相匹配,这在 IMO 中是相当草率的。

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

我对将分数与带有 ID 的数据集以及使用 cbind 之类的数据一起带入 python 或 R 不太兴奋,但如果这是唯一的选择,请加入。

【问题讨论】:

    标签: python h2o


    【解决方案1】:

    是的,您只需要将所需帧中的信息 cbind 作为最终输出。这是一个完整的例子:我正在做一个回归,根据患者的年龄和风险类别来预测他们的身高。 (!)

    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) 进行分类。

    【讨论】:

      猜你喜欢
      • 2020-04-25
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      相关资源
      最近更新 更多