在 RandomForest 中使用验证和训练数据集
Using validation and training dataset in a RandomForest
我来这里是想问一个关于RandomForest package
中RandomForest
函数的使用的基本问题。
我正在使用 RF algorithm
执行土地覆盖分类。
我有一些 geo-spatial
数据,我将其分为训练数据集 (pks_trainingdf) 和验证数据集 (pks_validationdf)。
每个df
包含34列;前 33 列是我要用于分类的波段;最后一列 ("class") 包含 类,这应该是 RF
分类的输出。
我的问题是:哪个数据集是 x
的参数,哪个是 xtest
的参数?
下面这行代码正确吗?
modelRF_5 <- randomForest(x=pks_validationdf[, c(1:33)],
y=pks_validationdf$class, xtest=pks_trainingdf[, c(1:33)],
ytest=pks_trainingdf$class, importance=TRUE)
x 用于训练子集,而 xtest 用于测试或验证子集。在您的情况下,它看起来与您相反。只有两者具有相同的大小才不重要(通常情况并非如此)。在分成训练和验证子集之前将数据集随机化是很重要的。如果不是,你应该改变它。此外,分成三个子集比分成两个子集更安全。一个用于训练,另一个用于验证模型,最后一个用于报告错误。
我来这里是想问一个关于RandomForest package
中RandomForest
函数的使用的基本问题。
我正在使用 RF algorithm
执行土地覆盖分类。
我有一些 geo-spatial
数据,我将其分为训练数据集 (pks_trainingdf) 和验证数据集 (pks_validationdf)。
每个df
包含34列;前 33 列是我要用于分类的波段;最后一列 ("class") 包含 类,这应该是 RF
分类的输出。
我的问题是:哪个数据集是 x
的参数,哪个是 xtest
的参数?
下面这行代码正确吗?
modelRF_5 <- randomForest(x=pks_validationdf[, c(1:33)],
y=pks_validationdf$class, xtest=pks_trainingdf[, c(1:33)],
ytest=pks_trainingdf$class, importance=TRUE)
x 用于训练子集,而 xtest 用于测试或验证子集。在您的情况下,它看起来与您相反。只有两者具有相同的大小才不重要(通常情况并非如此)。在分成训练和验证子集之前将数据集随机化是很重要的。如果不是,你应该改变它。此外,分成三个子集比分成两个子集更安全。一个用于训练,另一个用于验证模型,最后一个用于报告错误。