规范化一列返回相同的值?
Normalising a column gives back same values?
我正在尝试将一列数值标准化为介于 0 和 1 之间。我编写了以下 R 代码来尝试将其应用于一列,但它不起作用。有人可以帮忙吗?
normalise <- function(x) {
return (x-min(x)/(max(x)-min(x))) # Creating the function
train$dti_norm <- apply(select(train,dti),MARGIN=2, FUN = normalise)
它给了我相同的值!
谁能帮我确定为什么我的功能不起作用?我的输入正确吗?
我认为下面的代码将帮助您标准化您的专栏
library(mlr)
trainTask <- normalizeFeatures(trainTask,method = "standardize")
如果您需要,这将标准化您的数据框和列
你漏掉了一些括号,不需要 apply
:
normalise <- function(x) {
return ((x - min(x))/(max(x) - min(x)))
} # Creating the function
set.seed(123)
x <- sample(10, 10)
x
#[1] 3 8 4 7 6 1 10 9 2 5
normalise(x)
#[1] 0.2222222 0.7777778 0.3333333 0.6666667 0.5555556 0.0000000 1.0000000 0.8888889 0.1111111 0.4444444
#train$dti_norm <- normalise(train$dti)
我正在尝试将一列数值标准化为介于 0 和 1 之间。我编写了以下 R 代码来尝试将其应用于一列,但它不起作用。有人可以帮忙吗?
normalise <- function(x) {
return (x-min(x)/(max(x)-min(x))) # Creating the function
train$dti_norm <- apply(select(train,dti),MARGIN=2, FUN = normalise)
它给了我相同的值!
谁能帮我确定为什么我的功能不起作用?我的输入正确吗?
我认为下面的代码将帮助您标准化您的专栏
library(mlr)
trainTask <- normalizeFeatures(trainTask,method = "standardize")
如果您需要,这将标准化您的数据框和列
你漏掉了一些括号,不需要 apply
:
normalise <- function(x) {
return ((x - min(x))/(max(x) - min(x)))
} # Creating the function
set.seed(123)
x <- sample(10, 10)
x
#[1] 3 8 4 7 6 1 10 9 2 5
normalise(x)
#[1] 0.2222222 0.7777778 0.3333333 0.6666667 0.5555556 0.0000000 1.0000000 0.8888889 0.1111111 0.4444444
#train$dti_norm <- normalise(train$dti)