НачатьНачать бесплатно

Генерация случайного разбиения на обучающую и тестовую выборки

В нескольких следующих упражнениях вы будете работать с набором данных mpg из пакета ggplot2. Он содержит характеристики различных марок и моделей автомобилей за разные годы. Задача — предсказать расход топлива в городском цикле на основе расхода на шоссе.

В этом упражнении вы разобьёте mpg на обучающую выборку mpg_train (75% данных) и тестовую выборку mpg_test (25% данных). Один из способов — сгенерировать столбец равномерных случайных чисел от 0 до 1 с помощью функции runif() (документация).

Если у вас есть набор данных dframe размером \(N\) и вы хотите получить случайное подмножество приблизительно размером \(100 * X\)% от \(N\) (где \(X\) — число от 0 до 1), действуйте следующим образом:

  1. Сгенерируйте вектор равномерных случайных чисел: gp = runif(N).
  2. dframe[gp < X,] даст подмножество нужного размера.
  3. 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
___
___
Редактировать и запускать код