我正在尝试在 R 中使用 knn(使用了几个包(knnflex
,class
))来预测基于 8 个变量的默认概率。数据集大约有 8 列的 100k 行,但我的机器似乎很难处理 10k 行的样本。iris
对于在 > 50 行(即)的数据集上做 knn 有什么建议吗?
编辑:
为了澄清有几个问题。
1) class
andknnflex
包中的例子有点不清楚,我很好奇是否有一些类似于 randomForest 包的实现,在其中你给它你想要预测的变量和你想要用来训练模型的数据:
RF <- randomForest(x, y, ntree, type,...)
然后转身用模型预测数据使用测试数据集:
pred <- predict(RF, testData)
2)我不太明白为什么knn
需要训练和测试数据来构建模型。据我所知,该包创建了一个矩阵 ~nrows(trainingData)^2
似乎也是预测数据大小的上限。我使用 5000 行创建了一个模型(在此之上#我遇到了内存分配错误)并且无法预测测试集 > 5000 行。因此,我需要:
a) 找到一种在训练集中使用 > 5000 行的方法
或者
b) 找到一种在全部 100k 行上使用模型的方法。