LoslegenKostenlos loslegen

Eine binäre Vorhersage treffen

In der vorherigen Übung hast du mit der Funktion glm() ein logistisches Regressionsmodell zum Spenderverhalten erstellt. Wie bei vielen Machine-Learning-Methoden in R kannst du mit predict() auf dem Modellobjekt zukünftiges Verhalten vorhersagen. Standardmäßig gibt predict() Vorhersagen als Log-Odds aus, es sei denn, type = "response" wird angegeben. Das wandelt die Log-Odds in Wahrscheinlichkeiten um.

Da ein logistisches Regressionsmodell die Wahrscheinlichkeit des Ergebnisses schätzt, liegt es an dir, den Schwellenwert festzulegen, ab dem die Wahrscheinlichkeit eine Aktion nahelegt. Du musst zwischen zu vorsichtig und zu aggressiv abwägen. Wenn du zum Beispiel nur Personen mit einer Spendenwahrscheinlichkeit von 99 % oder mehr ansprichst, entgehen dir möglicherweise viele mit niedriger geschätzter Wahrscheinlichkeit, die dennoch spenden. Dieses Gleichgewicht ist besonders wichtig bei stark unausgewogenen Zielgrößen, wie in diesem Datensatz, in dem Spenden relativ selten sind.

Der Datensatz donors und das Modell donation_model stehen dir zur Verfügung.

Diese Übung ist Teil des Kurses

Überwachtes Lernen in R: Klassifikation

Kurs anzeigen

Anleitung zur Übung

  • Verwende predict(), um die Spendenwahrscheinlichkeit jeder Person zu schätzen. Nutze das Argument type, um Wahrscheinlichkeiten zu erhalten. Speichere die Vorhersagen in einer neuen Spalte donation_prob.
  • Ermittle die tatsächliche Wahrscheinlichkeit, dass eine durchschnittliche Person spendet, indem du mean() die passende Spalte des Dataframes donors übergibst.
  • Verwende ifelse(), um eine Spende vorherzusagen, wenn die vorhergesagte Spendenwahrscheinlichkeit über dem Durchschnitt liegt. Speichere die Vorhersagen in einer neuen Spalte donation_pred.
  • Verwende die Funktion mean(), um die Genauigkeit des Modells zu berechnen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(___ == ___)
Code bearbeiten und ausführen