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

Перетворення ознак

Ви обговорюєте набір даних про кредити з менеджеркою банку. Вона зазначає, що найнадійніші заявки зазвичай містять середні суми кредиту. Значення, які надто малі або надто великі, свідчать про високий ризик. Це означає, що між цією змінною та класом може існувати нелінійний звʼязок. Ви хочете перевірити цю гіпотезу. Ви побудуєте нелінійне перетворення ознаки. Потім оціните, яка з двох ознак краще передбачає клас, використовуючи SelectKBest() і метрику chi2(), які вже завантажено.

Дані доступні як датафрейм pandas під назвою credit, де клас збережено в стовпці class. Також попередньо імпортовано pandas як pd і numpy як np.

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

Проєктування робочих процесів машинного навчання в Python

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

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

  • Визначте функцію, яка перетворює числовий вектор, обчислюючи абсолютну різницю кожного значення від середнього значення вектора.
  • Застосуйте це перетворення до стовпця credit_amount у наборі даних і збережіть результат у новому стовпці diff.
  • Створіть відбірник ознак SelectKBest(), щоб обрати одну з двох колонок — credit_amount і diff — за допомогою метрики chi2().
  • Перегляньте результати.

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

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

# Function computing absolute difference from column mean
def abs_diff(x):
    return ____(x-____)

# Apply it to the credit amount and store to new column
credit['diff'] = ____

# Create a feature selector with chi2 that picks one feature
sk = ____(chi2, ____)

# Use the selector to pick between credit_amount and diff
sk.fit(____, credit['class'])

# Inspect the results
sk.____()
Редагувати та запускати код