Podsumowanie: Oczyść i przewiduj
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 49 z 58.
Wyzwanie
ŚredniKtórzy uczestnicy obozu wrócą? camp.csv zawiera słowa, liczby i braki danych; kod początkowy dzieli dane i odczytuje informacje o uczestniku obozu.
- Zbuduj pełny potok dla tego rozdziału: zakoduj metodą one-hot wartości
cabiniactivity, przygotuj dla liczb etap, który uzupełnia braki medianami, a następnie skaluje wartości, i zakończ regresją logistyczną. - Wypisz dokładność CV w walidacji krzyżowej z podziałem na 5 części dla wierszy treningowych, średnią i odchylenie standardowe.
- Dopasuj model do wierszy treningowych; wypisz dokładność testową i szansę na powrót uczestnika obozu.
Inny obóz, uczestnik 10, lakeside, archery, 21, -, 4:
CV accuracy: mean 0.707, std 0.065
Test accuracy: 0.740
Chance of coming back: 0.91Myślnik oznacza brakującą ocenę: twój potok uzupełnia ją tak jak każdą inną lukę.
Spróbuj swoich sił
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
# Uczestnicy obozu z zeszłego lata: czy wrócili w tym roku (1), czy nie (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)
# Nowy uczestnik obozu, jedna odpowiedź w każdym wierszu; myślnik (-) oznacza brakującą liczbę
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]]})
# Napisz swój kod poniżej
Wszystkie lekcje w sekcji Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu7Przeuczenie
Niedouczenie i przeuczenieKrzywe uczeniaRegularyzacjaZbiory walidacyjnePodsumowanie: dostrajanie drzewa10Potoki
PotokiMieszane kolumnyUzupełnianie braków w potokuStrojenie potokuPodsumowanie: Oczyść i przewiduj2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż modelPoćwicz samodzielnie: Kompilator Python online