Začněte nyníZačněte zdarma

Transformace příznaků

Diskutuješ s bankovním manažerem o úvěrovém datasetu. Navrhuje, že nejbezpečnější žádosti o půjčku bývají ty se středními výšemi úvěru. Příliš nízké nebo příliš vysoké hodnoty naznačují vyšší riziko. To znamená, že mezi touto proměnnou a třídou může existovat nelineární vztah. Chceš tuto hypotézu otestovat. Vytvoříš nelineární transformaci příznaku a pak pomocí SelectKBest() a metriky chi2() – obojí je předem načteno – vyhodnotíš, který ze dvou příznaků lépe předpovídá třídu.

Data jsou dostupná jako pandas DataFrame s názvem credit, přičemž třída je uložena ve sloupci class. K dispozici máš také předem načtené knihovny pandas jako pd a numpy jako np.

Toto cvičení je součástí kurzu

Designing Machine Learning Workflows in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj funkci, která transformuje číselný vektor tak, že pro každou hodnotu vypočítá absolutní odchylku od průměrné hodnoty vektoru.
  • Aplikuj tuto transformaci na sloupec credit_amount datasetu a výsledek ulož do nového sloupce s názvem diff.
  • Vytvoř selektor příznaků SelectKBest(), který pomocí metriky chi2() vybere jeden ze dvou sloupců: credit_amount a diff.
  • Prohlédni si výsledky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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.____()
Upravit a spustit kód