我已经在SPSS 22中构建了一个多层感知器神经网络。我在R中使用" neuralnet" 包尝试相同,但结果是不可取的。 SPSS在进行培训之前对数据进行标准化,我想知道:
减去均值并除以标准差,(x-mean)/ s。
是否有可以在R中执行此操作的最佳功能?由于该方法非常简单,我可以自己实现扩展,但由于数据元素和记录的数量非常大,因此效率可能不高。
或者我应该使用其他神经网络包,例如" monmlp" ?自动标准化数据?
非常感谢
答案 0 :(得分:2)
如果您需要标准化数据框中的多个列(称之为foo
),这可能很有用:
# Index of columns to standardize
cols <- c(1,2,3,4)
# Standardize
library(plyr)
standardize <- function(x) as.numeric((x - mean(x)) / sd(x))
foo[cols] <- plyr::colwise(standardize)(foo[cols])