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

Логарифмічне перетворення

У попередніх вправах ви масштабували дані лінійно, що не впливає на форму розподілу. Це чудово працює, якщо ваші дані мають нормальний розподіл (або близькі до нього) — таке припущення роблять багато моделей машинного навчання. Інколи ви працюватимете з даними, що добре відповідають нормальності, наприклад, зріст або вага населення. Водночас багато змінних у реальному світі не підпорядковуються такій схемі, наприклад, заробітна плата або вік населення. У цій вправі ви застосуєте логарифмічне перетворення до стовпця ConvertedSalary у датафреймі so_numeric_df, оскільки значна частина значень зосереджена в нижньому діапазоні, але також трапляються дуже великі значення. Такі розподіли мають довгий правий „хвіст".

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

Feature Engineering для машинного навчання в Python

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

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

  • Імпортуйте PowerTransformer з модуля preprocessing бібліотеки sklearn.
  • Створіть екземпляр PowerTransformer() як pow_trans.
  • Навчіть (fit) PowerTransformer на стовпці ConvertedSalary датафрейму so_numeric_df.
  • Трансформуйте (transform) цей самий стовпець за допомогою щойно навченого перетворювача.

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

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

# Import PowerTransformer
from sklearn.preprocessing import ____

# Instantiate PowerTransformer
pow_trans = ____

# Train the transform on the data
____

# Apply the power transform to the data
so_numeric_df['ConvertedSalary_LG'] = ____(so_numeric_df[['ConvertedSalary']])

# Plot the data before and after the transformation
so_numeric_df[['ConvertedSalary', 'ConvertedSalary_LG']].hist()
plt.show()
Редагувати та запускати код