Revisão: limpar e prever
Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 49 de 58.
Desafio
MédioQuais campistas voltarão? camp.csv mistura palavras, números e lacunas; o código inicial divide os dados e lê as informações de um campista.
- Crie o pipeline completo do capítulo: aplique a codificação one-hot a
cabineactivity, use uma etapa para preencher as lacunas dos números com as medianas e, em seguida, escalá-los, e finalize com regressão logística. - Imprima a acurácia da validação cruzada de 5 folds nas linhas de treinamento, a média e o desvio padrão.
- Ajuste o modelo às linhas de treinamento; imprima a acurácia de teste e a chance de o campista voltar.
Outro acampamento, campista 10, lakeside, archery, 21, -, 4:
CV accuracy: mean 0.707, std 0.065
Test accuracy: 0.740
Chance of coming back: 0.91O traço indica uma avaliação ausente: seu pipeline a preenche como qualquer outra lacuna.
Experimente você mesmo
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
# Os participantes do acampamento do verão passado: voltaram este ano (1) ou não (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)
# Um novo participante do acampamento, uma resposta por linha; um hífen (-) indica um número ausente
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]]})
# Escreva seu código abaixo
Todas as lições de Aprendizado supervisionado
1Seu primeiro modelo
Aprendendo com exemplosConjuntos de treino e testeAjustar e preverAvaliar um modeloRecapitulação: classificador de sementes4Regressão logística
Previsões de sim ou nãoO limiar de decisãoPesos como evidênciasVárias classesRevisão: filtro de spam7Sobreajuste
Subajuste e sobreajusteCurvas de aprendizadoRegularizaçãoConjuntos de validaçãoRevisão: ajustando uma árvore10Pipelines
PipelinesColunas mistasImputação em um pipelineAjustando um pipelineRevisão: limpar e prever2Vizinhos Mais Próximos
Como o k-NN DecideEscolhendo kLimites de DecisãoEscalonamento para VizinhosRevisão: Vizinhos do Vinho5Avaliando Classificadores
A Matriz de ConfusãoPrecisão e RevocaçãoA Pontuação F1Classes DesbalanceadasCurvas ROCRecapitulação: Teste de Triagem8Validação Cruzada
Validação K-FoldComparando Modelos de Forma JustaBusca em GradeRevisão: Consertos de Skate11Projeto: Espécies de Pinguins
Conheça os PinguinsPrepare os DadosEscolha um ModeloAjuste o VencedorColoque o Modelo em Produção3Regressão Linear
Prevendo númerosVárias característicasMedindo errosGráficos de resíduosRevisão: aluguel de bicicletas6Árvores de Decisão
Árvores fazem perguntasLendo uma árvoreProfundidade da árvoreImportância das característicasRevisão: decisões de empréstimoPratique por conta própria: Compilador de Python online