Генерация случайного разбиения на обучающую и тестовую выборки
В нескольких следующих упражнениях вы будете работать с набором данных mpg из пакета ggplot2. Он содержит характеристики различных марок и моделей автомобилей за разные годы. Задача — предсказать расход топлива в городском цикле на основе расхода на шоссе.
В этом упражнении вы разобьёте mpg на обучающую выборку mpg_train (75% данных) и тестовую выборку mpg_test (25% данных). Один из способов — сгенерировать столбец равномерных случайных чисел от 0 до 1 с помощью функции runif() (документация).
Если у вас есть набор данных dframe размером \(N\) и вы хотите получить случайное подмножество приблизительно размером \(100 * X\)% от \(N\) (где \(X\) — число от 0 до 1), действуйте следующим образом:
- Сгенерируйте вектор равномерных случайных чисел:
gp = runif(N). dframe[gp < X,]даст подмножество нужного размера.dframe[gp >= X,]будет его дополнением.
Это упражнение является частью курса
Обучение с учителем в R: регрессия
Инструкции к упражнению
- С помощью функции
nrow(документация) определите количество строк в фрейме данныхmpg. Присвойте это значение переменнойNи выведите его на экран. - Вычислите, сколько строк составляет 75% от N. Присвойте результат переменной
targetи выведите его на экран. - С помощью
runif()сгенерируйте вектор изNравномерных случайных чисел и назовите егоgp. - Используя
gp, разбейтеmpgнаmpg_trainиmpg_test(при этомmpg_trainдолжна содержать примерно 75% данных). - С помощью
nrow()проверьте размерыmpg_trainиmpg_test. Соответствуют ли они ожидаемым?
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___