Umgang mit systematisch fehlenden Werten in einem Datensatz für logistische Regression, LDA und baumbasierte ModellePython

Python-Programme
Anonymous
 Umgang mit systematisch fehlenden Werten in einem Datensatz für logistische Regression, LDA und baumbasierte Modelle

Post by Anonymous »

Ich arbeite an einem Projekt mit einem Datensatz, in dem ziemlich viele Werte fehlen – wirklich viele.
Hier ist die Ausgabe von colSums(is.na(dati_train)) , zeigt die Anzahl der fehlenden Werte pro Spalte an:

Code: Select all

> colSums(is.na(dati_train))   # Number of NAs per column
PAID      POINT_OF_SALE           EVENT_ID               YEAR
0                  0                  0                  0
MONTH    N_SUBSCRIPTIONS              PRICE       PHONE_NUMBER
0                  0                  0                  0
PROP_CONBINI       PAYMENT_TYPE          FAV_GENRE                AGE
0                  0                967               1723
DAYS_FROM_PROMO         BOOKS_PAID     N_TRANSACTIONS            N_ITEMS
0               5574               5574                  0
DATE_LAST_PURCHASE     CUSTOMER_SINCE               MAIL        SUBSCR_CANC
5574               5574                  0                  0
MARGIN
5574
>
Der Datensatz enthält rund 17.000 Beobachtungen, daher ist das Löschen von Zeilen mit fehlenden Werten keine Option. Hier ist mein aktueller Ansatz zum Umgang mit den fehlenden Werten, und ich würde mich über Ihr Feedback freuen:
  • Für „FAV_GENRE“ und „AGE“ : Da die Anzahl der fehlenden Werte relativ gering ist, denke ich darüber nach, sie durch Mehrfachimputation zu ergänzen.
  • < stark>Für die anderen Variablen: Die fehlenden Werte werden systematisch auf sie verteilt, so dachte ich von:
    • Erstellen einer neuen binären Flag-Variablen, um anzuzeigen, ob der Wert fehlt oder nicht.
    • Logistische Regression trainieren und LDA-Modelle, einschließlich dieser Flags als Features. Ich habe gelesen, dass dies eine gängige Praxis ist, aber ich habe es noch nie zuvor gemacht.
  • Verwendung baumbasierter Modelle wie Random Forest und XGBoost: Ich weiß, dass diese Modelle mit fehlenden Werten umgehen können, aber ich habe in diesen Algorithmen noch nie mit fehlenden Daten gearbeitet. Gibt es Best Practices, die ich befolgen sollte?
Da ich auch Vorhersagen für einen anderen Datensatz mit einem ähnlichen fehlenden Wert treffen muss Bei Mustern ist das einfache Entfernen fehlender Werte keine Option. Ist mein Ansatz sinnvoll? Gibt es in solchen Fällen bessere Alternativen?
Lassen Sie mich wissen, was Sie denken – vielen Dank im Voraus!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post