ПочатиПочніть безкоштовно

Коригування даних із правим перекосом

На слайдах ми показали, як можна застосовувати логарифмічні перетворення, щоб виправити позитивний перекос даних (коли більша частина розподілу ліворуч). Щоб скоригувати негативний перекос (дані здебільшого праворуч), спершу потрібно зробити додатковий крок — «віддзеркалення», а вже потім застосувати обернену до \(\log\) операцію, записану як (1/\(\log\)), щоб наблизити дані до нормального розподілу. Віддзеркалення даних виконується за такою формулою для кожного значення: \((x_{\text{max}} +1) – x\).

Ця вправа є частиною курсу

Опрацювання ознак у PySpark

Переглянути курс

Інструкції до вправи

  • Використайте агрегатну функцію skewness(), щоб перевірити, що 'YEARBUILT' має негативний перекос.
  • Використайте withColumn(), щоб створити новий стовпець 'Reflect_YearBuilt' і віддзеркалити значення 'YEARBUILT'.
  • Використовуючи стовпець 'Reflect_YearBuilt', створіть ще один стовпець 'adj_yearbuilt', узявши 1/log() від значень.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

from pyspark.sql.functions import log

# Compute the skewness
print(df.____({____: ____}).____())

# Calculate the max year
max_year = df.____({____: ____}).____()[0][0]

# Create a new column of reflected data
df = df.____(____, (max_year + 1) - df[____])

# Create a new column based reflected data
df = df.____(____, 1 / ____(df[____]))
Редагувати та запускати код