LoslegenKostenlos loslegen

Eine binäre Vorhersage treffen

In der vorherigen Übung hast du die Funktion glm() verwendet, um ein logistisches Regressionsmodell für das Spenderverhalten zu erstellen. Wie bei vielen der maschinellen Lernmethoden in R kannst du die Funktion predict() auf das Modellobjekt anwenden, um das zukünftige Verhalten vorherzusagen. Standardmäßig gibt predict() Vorhersagen in Form von logarithmischen Quoten aus, es sei denn, type = "response" wurde angegeben. Damit werden die logarithmischen Quoten in Wahrscheinlichkeiten umgewandelt.

Da ein logistisches Regressionsmodell die Wahrscheinlichkeit des Ergebnisses schätzt, liegt es an dir, den Schwellenwert zu bestimmen, bei dem die Wahrscheinlichkeit zum Handeln führt. Man muss zwischen den Extremen "zu vorsichtig" und "zu aggressiv" abwägen. Wenn du zum Beispiel nur die Personen mit einer Spendenwahrscheinlichkeit von 99 % oder mehr ansprichst, entgehen dir möglicherweise viele Personen mit einer geringeren geschätzten Wahrscheinlichkeit, die sich trotzdem zum Spenden entschließen. Diese Ausgewogenheit ist besonders wichtig für stark unausgewogene Ergebnisse, 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 die Funktion predict(), um die Spendenwahrscheinlichkeit jeder Person zu schätzen. Verwende das Argument type, um Wahrscheinlichkeiten zu erhalten. Ordne die Vorhersagen einer neuen Spalte namens donation_prob zu.
  • Finde die tatsächliche Wahrscheinlichkeit, dass eine durchschnittliche Person spenden würde, indem du der Funktion mean() die entsprechende Spalte des donors Datenrahmens übergibst.
  • Nutze ifelse(), um eine Spende vorherzusagen, wenn ihre vorhergesagte Spendenwahrscheinlichkeit größer als der Durchschnitt ist. Ordne die Vorhersagen einer neuen Spalte namens donation_pred zu.
  • Verwende die Funktion mean(), um die Genauigkeit des Modells zu berechnen.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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