0
weights<-chi.squared(Class~.,traindata)
Error: cannot allocate vector of size 167.8 Mb

所以我用

weights<-chi.squared(Class~.,traindata[1:1000])

这给出了 999 个属性的结果

weights<-chi.squared(Class~.,traindata[1000:2000])

Error in eval(expr, envir, enclos) : object 'Class' not found

如何通过拆分数据来获取所有属性。我使用的是 32 位操作系统,因此一次无法获取属性。

4

1 回答 1

0

当您使用以下方法对数据进行子集化时:

traindata[1000:2000]

看起来该列Class必须位于traindata. 因此,您的电话chi.squared()是抱怨缺少该列。您只需要确保包含Class在您通过的每个子集中chi.squared()。例如:

class_col <- which(names(traindata) == 'Class')
weights <- chi.squared(Class ~ . , traindata[union(class_col, 1000:2000)])

这将记录Class列的索引号并确保它包含在您的子集中。

于 2013-10-02T11:58:03.547 回答