Освоение преобразования данных с помощью функции scale() в R


Анализ данных часто требует предварительной обработки и преобразования данных, чтобы сделать их более подходящими для анализа. В R эта функция является мощным инструментом, который позволяет стандартизировать или нормализовать данные, помогая вам получить более глубокое понимание. В этом сообщении блога мы углубимся в синтаксис функции, предоставим реальные примеры и предложим вам изучить эту функцию самостоятельно. Функцию можно использовать для центрирования и масштабирования столбцов числовой матрицы или для масштабирования вектора. Это может быть полезно для различных задач, таких как:

scale()
scale()
scale()

  • Сравнение данных, измеренных в разных единицах
  • Повышение производительности алгоритмов машинного обучения
  • Повышение интерпретируемости данных

Общие сведения о синтаксисе:

Синтаксис функции довольно прост:

scale()

scaled_data <- scale(data, center = TRUE, scale = TRUE)
  • data
    : этот аргумент представляет набор данных, который требуется масштабировать.
  • center
     Если задано значение , данные будут центрированы путем вычитания среднего значения каждого столбца из его значений. Если задано значение , центрирование выполняться не будет.
    TRUE
    FALSE
  • scale
    : Если задано значение , масштабированные данные будут иметь единичную дисперсию путем деления каждого столбца на его стандартное отклонение. Если задано значение , масштабирование выполняться не будет.
    TRUE
    FALSE

Примеры

Пример 1: Центрирование и масштабирование

Допустим, у вас есть набор данных со столбцами «Высота» и «Вес», и вы хотите центрировать и масштабировать данные:

height_weight

# Примеры данных
height_weight <- data.frame(Height = c(160, 175, 150, 180),
Weight = c(60, 70, 55, 75))

# Центрирование и масштабирование
scaled_data <- scale(height_weight, center = TRUE, scale = TRUE)
scaled_data
Рост Вес
[1,] -0.4539206 -0.5477226
[2,] 0,6354889 0,5477226
[3,] -1.1801937 -1.0954451
[4,] 0,9986254 1,0954451
attr(,"scaled:center")
Рост Вес
166,25 65,00
attr(,"scaled:scale")
Рост Вес
13,768926 9,128709

В этом примере функция вычисляет среднее значение и стандартное отклонение для каждого столбца. Затем он вычитает среднее значение и делит на стандартное отклонение, предоставляя вам центрированные и масштабированные данные.

шкала()

Пример 2: Только центрирование

Давайте рассмотрим сценарий, в котором вы хотите центрировать данные, но не масштабировать их:

# Примеры данных
temperatures <- c(25, 30, 28, 33, 22)

# Центрирование без масштабирования
scaled_temps <- scale(temperatures, center = TRUE, scale = FALSE)
scaled_temps
[,1]
[1,] -2,6
[2,] 2,4
[3,] 0,4
[4,] 5,4
[5,] -5,6
attr(,"scaled:center")
[1] 27,6

В этом случае функция центрирует данные только путем вычитания среднего, сохраняя исходный диапазон значений.

scale()

Пример 3: Масштабирование матрицы

Ниже приведен пример того, как использовать функцию scale() для масштабирования столбцов матрицы:

m <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, ncol = 3)
scaled_m <- scale(m)
scaled_m
[,1] [,2] [,3]
[1,] -1 -1 -1
[2,] 0 0 0
[3,] 1 1 1
attr(,"scaled:center")
[1] 2 5 8
attr(,"scaled:scale")
[1] 1 1 1


Поощрение исследований


Теперь, когда вы увидели, как работает эта функция, пришло время отправиться в собственное путешествие по преобразованию данных. Попробуйте применить эту функцию к наборам данных и посмотрите, как она влияет на распределение и связи в данных. Независимо от того, готовите ли вы данные для машинного обучения или раскрываете идеи, эта функция станет вашим верным помощником.

scale()
scale()
scale()

В заключение, функция в R позволяет эффективно обрабатывать данные путем центрирования и масштабирования. Его простота и эффективность делают его незаменимым инструментом в вашем наборе инструментов анализа данных. Так почему бы не попробовать? Ваши данные будут благодарны вам за трансформацию!

scale()

Удачного масштабирования, коллеги-энтузиасты данных!

Комментарии

Популярные сообщения из этого блога

Опробование GPT4All в Arch Linux

10 способов использовать генеративный ИИ для продвинутого SEO

Как настроить Atom как Python IDE?

Yandex.Metrika counter