拆分 XDF 文件/数据集以进行训练和测试
splitting a XDF File / Dataset for training and testing
是否可以将(Microsoft RevoScaleR 上下文)中的 .xdf 文件拆分为 75% 的训练集和 25% 的测试集?我知道有一个名为 rxSplit() 的函数,但是文档似乎不适用于这种情况。大多数在线示例将一列随机数分配给数据集,并使用该列对其进行拆分。
谢谢。
托马斯
您当然可以为此使用 rxSplit
。创建一个定义您的训练和测试样本的变量,然后对其进行拆分。
例如,使用 mtcars
玩具数据集:
xdf <- rxDataStep(mtcars, "mtcars.xdf")
xdfList <- rxSplit(xdf, splitByFactor="test",
transforms=list(test=factor(runif(.rxNumRows) < 0.25, levels=c("FALSE", "TRUE"))))
xdfList
现在是一个包含 2 个 xdf 数据源的列表:一个包含(大约)75% 的数据,另一个包含 25%。
您可以使用 rxDataStep 从原始 xdf 创建训练和测试数据集。看看这个例子:https://docs.microsoft.com/en-us/r-server/r/how-to-revoscaler-linear-model
bigDataDir <- "C:/MRS/Data"
sampleAirData <- file.path(bigDataDir, "AirOnTime7Pct.xdf")
trainingDataFile <- "AirlineData06to07.xdf"
targetInfile <- "AirlineData08.xdf"
rxDataStep(sampleAirData, trainingDataFile, rowSelection = Year == 1999 |
Year == 2000 | Year == 2001 | Year == 2002 | Year == 2003 |
Year == 2004 | Year == 2005 | Year == 2006 | Year == 2007)
rxDataStep(sampleAirData, targetInfile, rowSelection = Year == 2008)
是否可以将(Microsoft RevoScaleR 上下文)中的 .xdf 文件拆分为 75% 的训练集和 25% 的测试集?我知道有一个名为 rxSplit() 的函数,但是文档似乎不适用于这种情况。大多数在线示例将一列随机数分配给数据集,并使用该列对其进行拆分。
谢谢。 托马斯
您当然可以为此使用 rxSplit
。创建一个定义您的训练和测试样本的变量,然后对其进行拆分。
例如,使用 mtcars
玩具数据集:
xdf <- rxDataStep(mtcars, "mtcars.xdf")
xdfList <- rxSplit(xdf, splitByFactor="test",
transforms=list(test=factor(runif(.rxNumRows) < 0.25, levels=c("FALSE", "TRUE"))))
xdfList
现在是一个包含 2 个 xdf 数据源的列表:一个包含(大约)75% 的数据,另一个包含 25%。
您可以使用 rxDataStep 从原始 xdf 创建训练和测试数据集。看看这个例子:https://docs.microsoft.com/en-us/r-server/r/how-to-revoscaler-linear-model
bigDataDir <- "C:/MRS/Data"
sampleAirData <- file.path(bigDataDir, "AirOnTime7Pct.xdf")
trainingDataFile <- "AirlineData06to07.xdf"
targetInfile <- "AirlineData08.xdf"
rxDataStep(sampleAirData, trainingDataFile, rowSelection = Year == 1999 |
Year == 2000 | Year == 2001 | Year == 2002 | Year == 2003 |
Year == 2004 | Year == 2005 | Year == 2006 | Year == 2007)
rxDataStep(sampleAirData, targetInfile, rowSelection = Year == 2008)