Menu
CoddyTech

Riepilogo: pulire e fare previsioni

Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 49 di 58.

challenge icon

Sfida

Medio

Quali campeggiatori torneranno? camp.csv mescola parole, numeri e valori mancanti; il codice iniziale li separa e legge i dati di un campeggiatore.

  1. Costruisci la pipeline completa del capitolo: applica la codifica one-hot a cabin e activity, assegna ai numeri una pipeline che riempia i valori mancanti con le mediane e poi li standardizzi, e concludi con la regressione logistica.
  2. Stampa l'accuratezza della CV a 5 fold sulle righe di addestramento, con media e std.
  3. Adatta il modello alle righe di addestramento; stampa l'accuratezza sul test e la probabilità che il campeggiatore torni.

Un altro campeggio, campeggiatore 10, lakeside, archery, 21, -, 4:

CV accuracy: mean 0.707, std 0.065
Test accuracy: 0.740
Chance of coming back: 0.91

Il trattino indica una valutazione mancante: la tua pipeline la riempie come qualsiasi altro valore mancante.

Provalo tu

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

# I partecipanti al campo della scorsa estate: sono tornati quest'anno (1) oppure no (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)

# Un nuovo partecipante al campo, una risposta per riga; un trattino (-) indica un numero mancante
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]]})

# Scrivi il tuo codice qui sotto

Tutte le lezioni di Apprendimento supervisionato

Esercitati da solo: Compilatore Python online