Menu
CoddyTech

Rangkuman: Bersihkan dan Prediksi

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

challenge icon

Tantangan

Sedang

Camper mana yang akan kembali? camp.csv mencampur kata, angka, dan data kosong. Kode awal memisahkannya dan membaca data seorang camper.

  1. Buat pipeline lengkap bab ini: lakukan one-hot encoding pada cabin dan activity, gunakan jalur untuk angka yang mengisi data kosong dengan median, lalu melakukan penskalaan, dan akhiri dengan regresi logistik.
  2. Cetak akurasi CV 5-fold pada baris data pelatihan, yaitu mean dan std.
  3. 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.91

Tanda 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

Latihan sendiri: Compiler Python online