我处理了泰坦尼克号数据集,并做了一些基本的预处理(如规范化、ohe等)。
然后,我尝试使用H2O算法,得到了以下错误:
from h2o.estimators.gbm import H2OGradientBoostingEstimator
classifier = H2OGradientBoostingEstimator(nfolds = 5,
ntrees = 15,
seed = 42,
max_depth = 4)
classifier.train(predictors, target, training_frame = train_data)H2OTypeError:参数
x应该是一个None,integer list(string integer) integer(Integer) set(integerx),got H2OFrame
我的目标是train_data["Survived"].asfactor()
我试图从文件中读取数据,而不是将预处理后的df转换为H2OFrame,但没有将其转换为vail。
任何想法都将不胜感激。
发布于 2022-10-17 13:39:11
在我看来,您传递的是框架而不是列名列表。x和y都应该是指向training_frame中列的“指针”。
如果要使用所有列作为预测器(除目标外),可以仅指定y参数。
下面这样的东西应该能起作用:
train_data["Survived"] = train_data["Survived"].asfactor()
classifier = H2OGradientBoostingEstimator(nfolds = 5,
ntrees = 15,
seed = 42,
max_depth = 4)
classifier.train(x=["pclass", "sex", "age", ...], y="Survived", training_frame = train_data)https://stackoverflow.com/questions/74097863
复制相似问题