Поэтому я хочу позже подогнать нейронную сеть, чтобы предсказать постоянную числовую переменную Outstate в наборе данных College из пакета ISLR как функцию от 17 других (предикторных) переменных в наборе данных. Прежде чем я подгоню нейронную сеть, мне нужно выполнить функциональную нормализацию только переменных-предикторов. Поскольку существует 17 предикторов, я не хочу явно вводить каждую переменную, которую хочу стандартизировать. Есть ли какой-нибудь реальный способ сделать это в R? Насколько я понимаю, функция масштабирования масштабирует все переменные в наборе данных.

library(ISLR)

set.seed(1)
College$Private = as.numeric(College$Private)
train.ind = sample(1:nrow(College),0.5*nrow(College))
college.train = College[train.ind,]
college.test = College[-train.ind,]
r
0
Pame 16 Апр 2020 в 14:46

1 ответ

Лучший ответ

Этот код стандартизирует каждую функцию с помощью базовой шкалы R (), которая центрирует данные на основе средних значений столбцов, а затем делит на стандартные отклонения, то есть стандартизацию Z-оценки.

preds = colnames(college.test)[-9]

college.test[,preds] = lapply(college.test[,preds], scale)
0
Adam Waring 17 Апр 2020 в 08:14