我正在使用H2O包进行机器学习。目标是使用我的数据集来估计数据集中每个参与者的新预测年龄。我的代码设置是删除数据集中所有不必要的列,如性别,种族,其他人口统计数据等,只留下年龄和一些我想与之比较的生物标志物。
我的第一次尝试进行得很顺利,因为在去掉列之前,我使数据集具有横截面(限制每个参与者一个条目),所以我不需要担心分组。不过,我也想纵向测试一下。在我的原始数据集中(在使其成为横截面之前),我有一个名为“ID”的列,如果我们研究中的参与者多次访问,有时行具有相同的ID。我想把这一点考虑到机器学习中,但我想知道如何做到这一点。
下面是我的横截面分析代码。我不确定是否需要在此处或之前更改因子或使用as.h2o时调整任何内容
aml <- h2o.automl(y = "age",
training_frame = train_long2,
max_models = 300,
stopping_metric = "MSE",
nfolds = 5,
seed = 1,
include_algos = "GBM",
sort_metric = "MSE",
keep_cross_validation_predictions = TRUE)
1条答案
按热度按时间ggazkfy81#
我们将原始帧称为train_log2。
如果你想挑选出H2OFrame中具有某些特征(如ID == 10)的部分,你可以执行以下操作:
train_log2_ID10 <- train_log2[train_log2$ID==10,]
现在,您可以像以前一样使用train_log2_ID10调用和构建模型,只需在ID为10时使用数据集行。您可以执行任何类型的逻辑组合,例如train_log2$ID==10|| train_log2$ID==20或任何你喜欢的。