ComeçarComece de graça

Fazendo uma previsão binária

No exercício anterior, você usou a função glm() para criar um modelo de regressão logística do comportamento do doador. Como em muitos dos métodos de machine learning do R, você pode aplicar a função predict() ao objeto do modelo para prever o comportamento futuro. Por padrão, predict() produz previsões em termos de probabilidades de log, a menos que type = "response" seja especificado. Isso converte as probabilidades logarítmicas em probabilidades.

Como um modelo de regressão logística estima a probabilidade do resultado, cabe a você determinar o limite no qual a probabilidade implica ação. É preciso equilibrar os extremos de ser muito cauteloso e ser muito agressivo. Por exemplo, se você solicitar apenas as pessoas com probabilidade de doação igual ou superior a 99%, poderá perder muitas pessoas com probabilidades estimadas mais baixas que ainda assim optarão por doar. É particularmente importante considerar esse equilíbrio para resultados gravemente desequilibrados, como neste conjunto de dados em que as doações são relativamente raras.

O conjunto de dados donors e o modelo donation_model estão disponíveis para você usar.

Este exercício faz parte do curso

Aprendizagem supervisionada em R: Classificação

Ver curso

Instruções do exercício

  • Use a função predict() para estimar a probabilidade de doação de cada pessoa. Use o argumento type para obter probabilidades. Atribua as previsões a uma nova coluna chamada donation_prob.
  • Encontre a probabilidade real de uma pessoa média doar passando a função mean() para a coluna apropriada do quadro de dados donors.
  • Use o site ifelse() para prever uma doação se a probabilidade de doação prevista for maior que a média. Atribua as previsões a uma nova coluna chamada donation_pred.
  • Use a função mean() para calcular a precisão do modelo.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Estimate the donation probability
donors$donation_prob <- predict(___, type = "___")

# Find the donation probability of the average prospect
mean(___)

# Predict a donation if probability of donation is greater than average (0.0504)
donors$donation_pred <- ifelse(___ > 0.0504, ___, ___)

# Calculate the model's accuracy
mean(___ == ___)
Editar e executar o código