Previsões de sim ou não
Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 16 de 58.
Este capítulo responde a perguntas de sim ou não com probabilidades. Ele termina com um filtro de spam que você cria, classificando e-mails assim:
Uma reserva em um restaurante será cancelada? LogisticRegression aprende isso com 60 reservas anteriores: dias de antecedência da reserva e se foi cancelada (1) ou mantida (0):
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(max_iter=1000) # iterações suficientes para concluir o treinamento
model.fit(X, cancelled) # X: dias de antecedência, uma coluna
print(np.round(model.predict_proba([[3], [40]]), 2))Isso exibe:
[[0.91 0.09]
[0.28 0.72]]A linha de cada reserva contém a probabilidade da classe 0 e, em seguida, da classe 1. [:, 1] mantém as probabilidades da classe 1, que corresponde a um cancelamento.
Elas seguem um S: nunca abaixo de 0 ou acima de 1, como devem ser as probabilidades.
Desafio
MédioUm clube de pipas reserva três horários de lançamento para amanhã. kites.csv contém 90 lançamentos anteriores: wind_kmh e flew, 1 se a pipa decolou. O programa lê a previsão de vento de cada horário em slots.
- Ajuste uma
LogisticRegression(max_iter=1000) aos ventos. - Imprima a chance de voo de cada horário, em porcentagem inteira.
- Imprima os voos esperados: a soma das chances (1 casa decimal).
Para outro clube:
6 km/h: 9% chance the kite flies
18 km/h: 64% chance the kite flies
30 km/h: 97% chance the kite flies
Expected flights: 1.7 of 3Experimente você mesmo
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
# 90 lançamentos anteriores: o vento em km/h e flew (1 se a pipa decolou)
kites = pd.read_csv("kites.csv")
# Os três horários de lançamento de amanhã, conforme a previsão do vento
winds = []
for i in range(3):
winds.append(int(input()))
slots = pd.DataFrame({"wind_kmh": winds})
# 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