ComenzarEmpieza gratis

Hacer una predicción binaria

En el ejercicio anterior, utilizaste la función glm() para construir un modelo de regresión logística del comportamiento de los donantes. Como ocurre con muchos de los métodos de aprendizaje automático de R, puedes aplicar la función predict() al objeto modelo para predecir el comportamiento futuro. Por defecto, predict() produce predicciones en términos de probabilidades logarítmicas, a menos que se especifique type = "response". Esto convierte las probabilidades logarítmicas en probabilidades.

Como un modelo de regresión logística estima la probabilidad del resultado, depende de ti determinar el umbral en el que la probabilidad implica una acción. Hay que equilibrar los extremos de ser demasiado cauto frente a ser demasiado agresivo. Por ejemplo, si sólo solicitaras a las personas con una probabilidad de donación del 99% o superior, podrías pasar por alto a muchas personas con probabilidades estimadas más bajas que, aun así, deciden donar. Es especialmente importante tener en cuenta este equilibrio en el caso de resultados muy desequilibrados, como en este conjunto de datos en el que las donaciones son relativamente escasas.

El conjunto de datos donors y el modelo donation_model están disponibles para que los utilices.

Este ejercicio forma parte del curso

Aprendizaje supervisado en R: Clasificación

Ver curso

Instrucciones de ejercicio

  • Utiliza la función predict() para estimar la probabilidad de donación de cada persona. Utiliza el argumento type para obtener probabilidades. Asigna las predicciones a una nueva columna llamada donation_prob.
  • Halla la probabilidad real de que una persona media done pasando a la función mean() la columna adecuada del marco de datos donors.
  • Utiliza ifelse() para predecir una donación si su probabilidad de donación prevista es superior a la media. Asigna las predicciones a una nueva columna llamada donation_pred.
  • Utiliza la función mean() para calcular la precisión del modelo.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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 y ejecutar código