Menu
CoddyTech

Prediksi Ya atau Tidak

Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 16 dari 58.

Bab ini menjawab pertanyaan ya atau tidak dengan peluang. Bab ini berakhir dengan filter spam yang kamu buat, yang mengurutkan email seperti ini:

Delapan email ditampilkan sebagai batang yang menunjukkan peluangnya menjadi spam, dari 0.02 untuk Mom hingga 0.97 untuk WIN NOW. Batang di atas garis putus-putus pada 0.5 berwarna merah: spam

Apakah reservasi restoran akan dibatalkan? LogisticRegression mempelajarinya dari 60 reservasi sebelumnya: jumlah hari sebelum tanggal reservasi, serta apakah reservasi dibatalkan (1) atau tetap berlaku (0):

Enam puluh reservasi ditampilkan sebagai titik pada 0 (tetap berlaku) dan 1 (dibatalkan) berdasarkan jumlah hari sebelum tanggal reservasi, serta kurva S berwarna oranye yang naik dari 0.07 ke 0.93. Nilainya 0.09 pada 3 hari dan 0.72 pada 40 hari

from sklearn.linear_model import LogisticRegression

model = LogisticRegression(max_iter=1000)  # jumlah langkah cukup untuk menyelesaikan pelatihan
model.fit(X, cancelled)  # X: jumlah hari ke depan, satu kolom
print(np.round(model.predict_proba([[3], [40]]), 2))

Ini mencetak:

[[0.91 0.09]
 [0.28 0.72]]

Baris setiap pemesanan menyimpan peluang kelas 0, lalu kelas 1. [:, 1] menyimpan peluang kelas 1, yaitu pembatalan.

Nilainya mengikuti S: tidak pernah kurang dari 0 atau lebih dari 1, seperti halnya peluang.

challenge icon

Tantangan

Sedang

Sebuah klub layang-layang memesan tiga slot peluncuran untuk besok. kites.csv berisi 90 peluncuran sebelumnya: wind_kmh, dan flew, bernilai 1 jika layang-layang berhasil terbang. Program membaca prakiraan angin untuk setiap slot ke dalam slots.

  1. Latih LogisticRegression (max_iter=1000) dengan data kecepatan angin.
  2. Cetak peluang layang-layang terbang untuk setiap slot, dalam persen bulat.
  3. Cetak jumlah penerbangan yang diharapkan: jumlah peluangnya (1 angka desimal).

Untuk klub lain:

6 km/h: 9% chance the kite flies
18 km/h: 64% chance the kite flies
30 km/h: 97% chance the kite flies
Expected flights: 1.7 of 3

Coba sendiri

import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression

# 90 peluncuran sebelumnya: kecepatan angin dalam km/h, dan flew (1 jika layang-layang berhasil terbang)
kites = pd.read_csv("kites.csv")
# Tiga jadwal peluncuran besok, berdasarkan prakiraan angin
winds = []
for i in range(3):
    winds.append(int(input()))
slots = pd.DataFrame({"wind_kmh": winds})

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pembelajaran Terawasi

Latihan sendiri: Compiler Python online