Ambang Keputusan
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 17 dari 58.
predict menghasilkan ya ketika peluangnya melewati 0.5, yaitu ambang batas. Namun, layar rusak yang terlewat mungkin lebih merugikan daripada pemeriksaan kedua. Turunkan ambang batasnya:
Alarm palsu adalah layar yang sebenarnya baik, tetapi ditandai. Pilih ambang batasmu sendiri menggunakan perbandingan:
proba = model.predict_proba(X_test)[:, 1]
flag = proba >= 0.3 # True: periksa layar iniNilai yang lebih rendah menangkap lebih banyak kasus nyata dan menghasilkan lebih banyak alarm palsu; nilai yang lebih tinggi menghasilkan kebalikannya. Peluangnya tidak pernah berubah, hanya ambang batasnya.
Pilih berdasarkan biaya dari setiap kesalahan.
Tantangan
SedangSebuah maskapai memesan ulang penerbangan penumpang yang kemungkinan besar akan ketinggalan penerbangan lanjutan mereka sebelum mereka mendarat. Kode awal melatih model dengan connections.csv dan membaca nilai ambang.
- Dapatkan peluang penumpang uji ketinggalan penerbangan lanjutan.
- Untuk 0.5, lalu nilai ambang, hitung jumlah penumpang yang penerbangannya dipesan ulang, penumpang yang benar-benar ketinggalan penerbangan dan berhasil terdeteksi (dari seluruh penumpang yang ketinggalan), serta pemesanan ulang yang tidak perlu.
- Cetak satu baris untuk setiap nilai ambang.
Untuk maskapai lain dan 0.25:
Threshold 0.5: 9 rebooked, 7 of 15 misses caught, 2 needless rebookings
Threshold 0.25: 21 rebooked, 13 of 15 misses caught, 8 needless rebookingsCoba sendiri
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# Satu baris untuk setiap penumpang: waktu transit dan keterlambatan penerbangan masuk dalam menit, pergantian terminal (1 atau 0), bagasi terdaftar; missed bernilai 1 atau 0
trips = pd.read_csv("connections.csv")
features = ["layover_min", "delay_min", "terminal_change", "checked_bags"]
X_train, X_test, y_train, y_test = train_test_split(trips[features], trips["missed"], test_size=0.25, random_state=0)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
threshold = float(input())
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Terawasi
1Model Pertamamu
Belajar dari ContohData Latih dan Data UjiMelatih dan MemprediksiMenilai ModelRangkuman: Penyortir Benih4Regresi Logistik
Prediksi Ya atau TidakAmbang KeputusanBobot sebagai BuktiBeberapa KelasRangkuman: Filter Spam2Tetangga Terdekat
Cara k-NN MenentukanMemilih kBatas KeputusanPenskalaan untuk TetanggaRingkasan: Tetangga Wine5Mengukur Model Klasifikasi
Matriks KonfusiPresisi dan RecallSkor F1Kelas Tidak SeimbangKurva ROCRangkuman: Tes SkriningLatihan sendiri: Compiler Python online