muy*_*ueh 5 r machine-learning
如果我有一个包含许多列的文件,那么数据都是数字,我怎么知道特定的列是分类数据还是定量数据?是否有针对此类问题的研究领域?如果不是,可以使用哪些启发式方法来确定?
我能想到的一些启发式方法:
some_threshold,则更有可能获得分类数据。我正在使用R,但是问题不必特定于R。
这假设有人正确编码了数据。
也许您认为数据没有正确编码或标记,所有数据都是以数字形式输入的,其中一些确实是分类的。在这种情况下,我不知道如何才能确定地判断。分类数据可以有小数位并且可以为负数。
在这种情况下我会问自己的问题是我处理数据的方式有什么不同?
如果您对第二种情况感兴趣,也许您应该在 Stack Exchange 上提出您的问题。
my.data <- read.table(text = '
aa bb cc dd
10 100 1000 1
20 200 2000 2
30 300 3000 3
40 400 4000 4
50 500 5000 5
60 600 6000 6
', header = TRUE, colClasses = c('numeric', 'character', 'numeric', 'character'))
my.data
# one way
str(my.data)
'data.frame': 6 obs. of 4 variables:
$ aa: num 10 20 30 40 50 60
$ bb: chr "100" "200" "300" "400" ...
$ cc: num 1000 2000 3000 4000 5000 6000
$ dd: chr "1" "2" "3" "4" ...
Run Code Online (Sandbox Code Playgroud)
记录信息的方法如下:
my.class <- rep('empty', ncol(my.data))
for(i in 1:ncol(my.data)) {
my.class[i] <- class(my.data[,i])
}
> my.class
[1] "numeric" "character" "numeric" "character"
Run Code Online (Sandbox Code Playgroud)
编辑
class这是一种不使用 来记录每列的方法for-loop:
my.class <- sapply(my.data, class)
Run Code Online (Sandbox Code Playgroud)