Rangkuman: Bersihkan dan Prediksi
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 49 dari 58.
Tantangan
SedangCamper mana yang akan kembali? camp.csv mencampur kata, angka, dan data kosong. Kode awal memisahkannya dan membaca data seorang camper.
- Buat pipeline lengkap bab ini: lakukan one-hot encoding pada
cabindanactivity, gunakan jalur untuk angka yang mengisi data kosong dengan median, lalu melakukan penskalaan, dan akhiri dengan regresi logistik. - Cetak akurasi CV 5-fold pada baris data pelatihan, yaitu mean dan std.
- Latih pipeline pada baris data pelatihan, lalu cetak akurasi pengujian dan peluang camper untuk kembali.
Camper lain, camper 10, lakeside, archery, 21, -, 4:
CV accuracy: mean 0.707, std 0.065
Test accuracy: 0.740
Chance of coming back: 0.91Tanda hubung menunjukkan rating yang kosong. Pipeline-mu mengisinya seperti data kosong lainnya.
Coba sendiri
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
# Peserta perkemahan musim panas lalu: apakah mereka kembali tahun ini (1) atau tidak (0)?
campers = pd.read_csv("camp.csv")
X = campers.drop(columns="came_back")
y = campers["came_back"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# Peserta perkemahan baru, satu jawaban per baris. Tanda hubung (-) berarti angka yang tidak tersedia.
answers = []
for i in range(6):
answers.append(input())
numbers = []
for i in [0, 3, 4, 5]:
if answers[i] == "-":
numbers.append(np.nan)
else:
numbers.append(float(answers[i]))
camper = pd.DataFrame({"age": [numbers[0]], "cabin": [answers[1]], "activity": [answers[2]],
"nights": [numbers[1]], "rating": [numbers[2]], "friends_made": [numbers[3]]})
# Tulis kodemu di bawah ini
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 Spam7Overfitting
Underfitting dan OverfittingKurva PembelajaranRegularisasiSet ValidasiRingkasan: Menyetel Pohon10Pipeline
PipelineKolom CampuranMengisi Nilai Kosong dalam PipelineMenyetel PipelineRangkuman: Bersihkan dan Prediksi2Tetangga 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