Kredi Onayı
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 56 / 58.
Bir kooperatif bankası mağaza kartı işletiyor. cards.csv dosyasında, 320 kart sahibinden 79'u ilk yıllarında ödemelerini aksattı:
Borç yardımcı olur, ancak gruplar örtüşür. Banka her başvuru sahibinin riskini puanlayacak ve eşiğin üzerindeki herkesi incelemesi için bir kişiye gönderecektir.
Kuralı: gelecekte geç ödeme yapacakların belirli bir oranını yakala. Eşiği doğrulama satırlarında seç, sonra test satırlarında bir kez değerlendir.
Görev
ZorProgram, bankanın istediği duyarlılık değerini, target, okur. Başlangıç kodu sütunları ve en yüksekten başlayarak thresholds değerlerini listeler.
- Önce verilerin dörtte birini tabakalı test kümesi olarak ayır, ardından kalanların dörtte birini tabakalı doğrulama kümesi olarak ayır; her ikisinde de
random_state=0kullan. - Kalan eğitim satırlarıyla bir işlem hattı eğit: sayısal değerlerde eksikleri medyanla doldur ve ölçekle,
homeiçin one-hot kodlama yap, ardından lojistik regresyon uygula. - Doğrulama kümesinde, duyarlılığı
targetdeğerine ulaşan ilk eşik değerini seç. - Aşağıdaki gibi, bu eşik değerini ve ardından test satırlarında alınan sonucu yazdır (3 ondalık basamak).
Başka bir banka ve 0.7 için:
Threshold: 0.3 (validation recall 0.733)
Test: caught 15 of 21 late payers, 12 false alarms
Precision: 0.556Kendin dene
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import recall_score, precision_score, confusion_matrix
cards = pd.read_csv("cards.csv")
numbers = ["age", "income_k", "debt_ratio", "years_at_job", "late_payments", "card_limit_k"]
text = ["home"]
X = cards[numbers + text]
y = cards["fell_behind"]
target = float(input())
thresholds = [0.5, 0.45, 0.4, 0.35, 0.3, 0.25, 0.2, 0.15, 0.1]
# Kodunuzu aşağıya yazın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Denetimli Öğrenme bölümündeki tüm dersler
1İlk Modeliniz
Örneklerden ÖğrenmeEğitim ve Test KümeleriUydurma ve Tahmin EtmeBir Modeli PuanlamaÖzet: Tohum Sınıflandırıcı4Lojistik Regresyon
Evet-Hayır TahminleriKarar EşiğiKanıt Olarak AğırlıklarBirden Fazla SınıfÖzet: Spam Filtresi2En Yakın Komşular
k-NN Nasıl Karar Verirk'yi SeçmekKarar SınırlarıKomşular İçin ÖlçeklemeÖzet: Şarap Komşuları5Sınıflandırıcıları Değerlendirme
Karmaşıklık MatrisiKesinlik ve DuyarlılıkF1 SkoruDengesiz SınıflarROC EğrileriÖzet: Tarama Testi8Çapraz Doğrulama
K-Katlı DoğrulamaModelleri Adil Bir Şekilde KarşılaştırmaIzgara AramasıÖzet: Kaykay Tamiri11Proje: Penguen Türleri
Penguenlerle TanışınVerileri HazırlayınBir Model SeçinEn İyisini AyarlayınModeli Yayına AlınKendi başına pratik yap: Online Python derleyicisi