Zacznij terazZacznij za darmo

Transformacje cech

Omawiasz zbiór danych kredytowych z menedżerem banku. Sugeruje ona, że najbezpieczniejsze wnioski kredytowe dotyczą kwot ze środkowego przedziału. Wartości zbyt niskie lub zbyt wysokie świadczą o podwyższonym ryzyku. Oznacza to, że między tą zmienną a klasą może istnieć nieliniowa zależność. Chcesz przetestować tę hipotezę. Skonstruujesz nieliniową transformację cechy, a następnie ocenisz, która z dwóch cech lepiej przewiduje klasę – użyjesz do tego SelectKBest() oraz metryki chi2(), które zostały już wczytane.

Dane są dostępne jako DataFrame biblioteki pandas o nazwie credit, a klasa znajduje się w kolumnie class. Wczytane zostały również pandas jako pd oraz numpy jako np.

To ćwiczenie jest częścią kursu

Projektowanie przepływów pracy uczenia maszynowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję, która przekształca wektor liczbowy, obliczając bezwzględną różnicę każdej wartości od średniej wartości tego wektora.
  • Zastosuj tę transformację do kolumny credit_amount w zbiorze danych i zapisz wynik w nowej kolumnie o nazwie diff.
  • Utwórz selektor cech SelectKBest(), który wybierze jedną z dwóch kolumn – credit_amount lub diff – korzystając z metryki chi2().
  • Sprawdź wyniki.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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.____()
Edytuj i uruchom kod