Özellik dönüşümleri
Banka müdürüyle kredi veri kümesini tartışıyorsun. O, en güvenli kredi başvurularının orta aralıktaki kredi tutarlarını istediğini söylüyor. Çok düşük ya da çok yüksek değerler yüksek risk işareti olabilir. Bu da bu değişken ile sınıf arasında doğrusal olmayan bir ilişki olabileceği anlamına geliyor. Bu hipotezi test etmek istiyorsun. Özelliğin doğrusal olmayan bir dönüşümünü oluşturacaksın. Ardından, önceden yüklenmiş SelectKBest() ve chi2() metriğini kullanarak iki özelliğin hangisinin sınıfı tahmin etmede daha iyi olduğunu değerlendireceksin.
Veriler, sınıfın class sütununda yer aldığı credit adlı bir pandas DataFrame olarak mevcut. Ayrıca pandas pd olarak ve numpy np olarak önceden yüklendi.
Bu egzersiz
Python'da Machine Learning İş Akışları Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
- Sayısal bir vektörü, her değerin vektörün ortalamasından mutlak farkını alarak dönüştüren bir fonksiyon tanımla.
- Bu dönüşümü veri kümesindeki
credit_amountsütununa uygula ve sonucudiffadlı yeni bir sütunda sakla. chi2()metriğini kullanarakcredit_amountvediffadlı iki sütundan birini seçmek için birSelectKBest()özellik seçici oluştur.- Sonuçları incele.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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.____()