gpt4 book ai didi

python - 如何使用 H2o 库获取 GBM 模型上的数据

转载 作者:行者123 更新时间:2023-12-04 08:38:11 25 4
gpt4 key购买 nike

我正在使用 GBM 模型,我想与其他机器学习方法进行比较。我跑了5折。据我所知,他们将数据分成 5 份,并选择其中一份用于测试,其他用于训练。如何从 H2o lib 的 gbm 获取 5 倍数据?
我用 Python 语言运行它。

folds = 5
cars_gbm = H2OGradientBoostingEstimator(nfolds = folds, seed = 1234)

最佳答案

有两种方式:

  • 您可以手动创建和指定折叠。
  • 您可以通过设置 keep_cross_validation_fold_assignment=True 要求 H2O 保存折叠索引(对于每一行,它属于哪个折叠 ID?)并将它们作为单列数据返回。 .

  • 下面是一些代码示例:
    import h2o
    from h2o.estimators import *

    h2o.init()

    # Import cars dataset
    cars = h2o.import_file("https://s3.amazonaws.com/h2o-public-test-data/smalldata/junit/cars_20mpg.csv")
    cars["economy_20mpg"] = cars["economy_20mpg"].asfactor()
    x = ["displacement","power","weight","acceleration","year"]
    y = "economy_20mpg"
    nfolds = 5
    第一种方式:
    # Create a k-fold column and append to the cars dataset
    # Or you can use an existing fold id column
    cars["fold_id"] = cars.kfold_column(n_folds=nfolds, seed=1)

    # Train a GBM
    cars_gbm = H2OGradientBoostingEstimator(seed=1, fold_column = "fold_id",
    keep_cross_validation_fold_assignment=True)
    cars_gbm.train(x=x, y=y, training_frame=cars)

    # View the fold ids (identical to cars["fold_id"])
    print(cars_gbm.cross_validation_fold_assignment())
    第二种方式:
    # Train a GBM & save fold IDs
    cars_gbm = H2OGradientBoostingEstimator(seed=1, nfolds=nfolds,
    keep_cross_validation_fold_assignment=True)
    cars_gbm.train(x=x, y=y, training_frame=cars)

    # View the fold ids
    print(cars_gbm.cross_validation_fold_assignment())

    关于python - 如何使用 H2o 库获取 GBM 模型上的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64694979/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com