Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用于在看不见的数据上测试模型的包_R - Fatal编程技术网

R 用于在看不见的数据上测试模型的包

R 用于在看不见的数据上测试模型的包,r,R,我想知道有什么软件包可以分割我的数据 我更愿意在2/3的数据上优化我的模型。 然后在最后1/3的时间里运行它,看看它能支撑多久 这听起来可能是个愚蠢的问题。。。但是,为了在最后1/3/rd的数据中向前运行优化模型,有没有办法做到这一点?否则我会再次进行回溯测试,对吗?想法是在最后1/3的数据上对其进行前向测试,就像看到真实的实时数据一样。。。。如果我说得通的话 有没有一个R包可以做到这一点 **评估答案 在这种情况下,这似乎是一项相对简单的任务,包括以下步骤: 将模型优化到数据的前2/3 在最后

我想知道有什么软件包可以分割我的数据

我更愿意在2/3的数据上优化我的模型。 然后在最后1/3的时间里运行它,看看它能支撑多久

这听起来可能是个愚蠢的问题。。。但是,为了在最后1/3/rd的数据中向前运行优化模型,有没有办法做到这一点?否则我会再次进行回溯测试,对吗?想法是在最后1/3的数据上对其进行前向测试,就像看到真实的实时数据一样。。。。如果我说得通的话

有没有一个R包可以做到这一点

**评估答案

在这种情况下,这似乎是一项相对简单的任务,包括以下步骤:

  • 将模型优化到数据的前2/3
  • 在最后1/3的数据上测试这些参数
    这与在整个样本量上测试和优化模型形成对比。通过这种方式,模型可以看到看不见的数据。

    有一些包,但根据您的需求,您可以使用base R的提取操作符来实现这一点。这听起来像是你在使用时间序列或某种有序观察

    获得数据后,创建培训索引。 接下来,通过训练索引将数据子集以创建训练集。 然后通过再次对数据进行子集设置来创建测试集,但要减去列车索引

    data <- data.frame(x=runif(10000), y=runif(10000))
    
    train_index <- 1:(NROW(data)*0.666)
    
    train_set <- data[train_index, ]
    
    test_set <- data[-train_index, ]
    

    data有一些包,但是根据您的需求,您可以使用base R的提取操作符来实现这一点。这听起来像是你在使用时间序列或某种有序观察

    获得数据后,创建培训索引。 接下来,通过训练索引将数据子集以创建训练集。 然后通过再次对数据进行子集设置来创建测试集,但要减去列车索引

    data <- data.frame(x=runif(10000), y=runif(10000))
    
    train_index <- 1:(NROW(data)*0.666)
    
    train_set <- data[train_index, ]
    
    test_set <- data[-train_index, ]
    

    data有几个软件包可以提供帮助。
    caTools
    包有一个名为
    sample.split
    的函数,专门用于将数据集拆分为测试集和训练集

    见:

    将数据集中的一列作为第一个参数(通常是响应变量)传递,它会在该变量中的值之间按比例分割数据集。如果你有一个可能只有5%的时间出现某个值的响应变量,这是很有帮助的,你希望你的训练和测试集在每个变量中都有一个类似的值表示。它可以像这样使用:

    split = sample.split(wikiWords$Vandal, SplitRatio = 2/3)
    wikitrain = subset(wikiWords, split == TRUE)
    wikitest = subset(wikiWords, split == FALSE)
    

    有几个软件包可以帮助解决这个问题。
    caTools
    包有一个名为
    sample.split
    的函数,专门用于将数据集拆分为测试集和训练集

    见:

    将数据集中的一列作为第一个参数(通常是响应变量)传递,它会在该变量中的值之间按比例分割数据集。如果你有一个可能只有5%的时间出现某个值的响应变量,这是很有帮助的,你希望你的训练和测试集在每个变量中都有一个类似的值表示。它可以像这样使用:

    split = sample.split(wikiWords$Vandal, SplitRatio = 2/3)
    wikitrain = subset(wikiWords, split == TRUE)
    wikitest = subset(wikiWords, split == FALSE)
    

    好的,太好了-我不知道用每nrow 0.666倍的乘数可以得到2/3。谢谢,太好了-我不知道使用.666乘数/nrow可以得到这样的子集,实际上是2/3。谢谢