首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的标准化/标准化试验数据

R中的标准化/标准化试验数据
EN

Data Science用户
提问于 2016-09-13 14:15:15
回答 1查看 7.8K关注 0票数 1

我理解,人们应该标准化和规范化测试数据(或任何“未标记的”数据)与培训手段和sd。我如何用R语言实现这一点?是否有一种对训练集的“拟合”和一种对测试数据的应用?

EN

回答 1

Data Science用户

回答已采纳

发布于 2016-09-13 14:25:52

查看来自preProcess库的caret函数。您可以选择要缩放/集中培训数据的参数,还可以保存它所做的转换,这样您就可以使用与规范化培训集相同的规范规范测试集。可能是这样的:

代码语言:javascript
复制
library(caret)
trainData <- data.frame(v1 = rnorm(15,3,1), v2 = rnorm(15,2,2))
testData <- data.frame(v1 = rnorm(5,3,1), v2 = rnorm(5,2,2))
normParam <- preProcess(trainData)
norm.testData <- predict(normParam, testData)

现在,您的norm.testData根据训练数据集参数进行缩放和居中。

另一种无需使用插入符号即可完成此操作的方法:

代码语言:javascript
复制
## set up data
trainData <- data.frame(v1 = rnorm(15,3,1), v2 = rnorm(15,2,2))
testData <- data.frame(v1 = rnorm(5,3,1), v2 = rnorm(5,2,2))

## find mean and sd column-wise of training data
trainMean <- apply(trainData,2,mean)
trainSd <- apply(trainData,2,sd)

## centered
sweep(trainData, 2L, trainMean) # using the default "-" to subtract mean column-wise   
## centered AND scaled
norm2.testData <- sweep(sweep(testData, 2L, trainMean), 2, trainSd, "/")
票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/13971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档