R 将数据分为训练和测试

R 将数据分为训练和测试,r,R,我已经将数据分为训练和测试,但它需要完整的数据,而不是我设置的大小-我将大小设置为250,但仍然得到接近900000的完整数据 set.seed(321) SplitIndex <- sample(x = c("Train", "Test"),size = 250,replace = TRUE, prob = c(0.75,0.25)) TrainData <- loanfilev2[SplitIndex == "Train", ] TestData <- lo

我已经将数据分为训练和测试,但它需要完整的数据,而不是我设置的大小-我将大小设置为250,但仍然得到接近900000的完整数据

set.seed(321)       
SplitIndex <- sample(x = c("Train", "Test"),size = 250,replace = TRUE, prob = c(0.75,0.25))

TrainData <- loanfilev2[SplitIndex == "Train", ]
TestData <- loanfilev2[SplitIndex == "Test", ]

table(TrainData$loan_status)
table(TestData$loan_status)

set.seed(27)

KnnModel <- train(form = loan_status ~., data = TrainData, method = 'knn')  
KnnModel

plot(KnnModel)
set.seed(321)

SplitIndex解决方案不起作用的原因至少有两个:(1)不正确的子集索引和(2)掩码大小不等于原始数据帧中的记录数(即行数)(如果您试图使用小于记录数的掩码对数据帧进行子集,R只会回收掩码)

在创建名为
SplitIndex
的子集掩码的调用中,尝试将
c(“训练”、“测试”)
替换为
c(真、假)


这会给你你想要的

set.seed(321)  # set the seed to get reproducable results 
train_index <- sample(seq_len(nrow(loanfilev2)), size = 150) # train data indices

trainData<- loanfilev2[train_index, ] # train dataset
testData <- loanfilev2[-train_index, ] # test dataset
set.seed(321)#设置种子以获得可复制的结果

不清楚你在问什么。请以代码而不是图像的形式输入代码。能否为您的数据显示一个示例?请考虑粘贴您的代码在问题而不是图片。希望现在是我的问题是它不会调整测试和培训的大小,看看你有大小= NROM(LoFielv2)我想把它设置为一个数字,以数字为KNN模型感谢你这么多,它帮助了很多可怜的问题和措辞,我在这方面不是很出色,但这真的很有帮助-再次感谢
loanfilev2[SplitIndex, ] #Train
loanfilev2[!SplitIndex, ] #Test
set.seed(321)  # set the seed to get reproducable results 
train_index <- sample(seq_len(nrow(loanfilev2)), size = 150) # train data indices

trainData<- loanfilev2[train_index, ] # train dataset
testData <- loanfilev2[-train_index, ] # test dataset
sample_size <- floor(0.10 * nrow(loanfilev2)) # or whatever percent you desire