Prepare os Dados
Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 51 de 58.
Um modelo lê apenas linhas completas de números. Os pinguins têm lacunas e duas colunas de texto, então cada coluna segue por um caminho:
Valores ausentes em colunas de texto recebem a palavra "unknown": um pinguim cujo sexo não foi registrado ganha sua própria coluna em vez de receber um palpite.
text_steps = make_pipeline(
SimpleImputer(strategy="constant", fill_value="unknown"),
OneHotEncoder())Ajuste os transformadores apenas nas linhas de treinamento. Uma mediana que tenha levado em conta os pinguins de teste causaria vazamento de dados para o treinamento.
Desafio
MédioOs pinguins precisam das faixas da imagem. O código inicial os separa e lê um número de linha.
- Crie
prep, umColumnTransformerque envianumberspela faixa numérica etextpela faixa de texto. - Ajuste-o às linhas de treinamento e transforme-as em uma única chamada.
- Imprima o tamanho e as lacunas antes, o tamanho depois e, em seguida, essa linha preparada, com 2 casas decimais.
Para outra colônia e a linha 3:
Before: 180 penguins, 6 columns, 9 gaps
After: 180 penguins, 10 columns
Penguin 3: [-1.12 0.47 -0.83 -0.6 0. 1. 0. 0. 1. 0. ]A linha 14 é de um pinguim que ninguém conseguiu medir. Em que ele se transforma?
Experimente você mesmo
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
# A colônia de Meet the Penguins, suas características e seu rótulo
penguins = pd.read_csv("penguins.csv")
numbers = ["bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g"]
text = ["island", "sex"]
X = penguins[numbers + text]
y = penguins["species"]
# Primeiro, separe os dados: os pinguins de teste ficam reservados até Ship the Model
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, stratify=y, random_state=0)
row = int(input())
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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 spam2Vizinhos 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