拆分XDF文件/数据集进行培训和测试

时间:2017-06-25 23:21:49

标签: r microsoft-r

是否可以将(Microsoft RevoScaleR上下文)中的.xdf文件拆分为75%的训练和25%的测试集?我知道有一个名为rxSplit()的函数,但是,文档似乎不适用于这种情况。大多数在线示例为数据集分配了一列随机数,并使用该列对其进行拆分。

感谢。 托马斯

2 个答案:

答案 0 :(得分:1)

您当然可以使用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%。

答案 1 :(得分:0)

您可以使用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)