Strategii populare de imputare statistică a valorilor lipsă într-un set de date.
Multe seturi de date din lumea reală pot conține valori lipsă din diverse motive. Acestea sunt adesea codificate ca NaNs, spații goale sau orice alte spații libere. Antrenarea unui model cu un set de date care are o mulțime de valori lipsă poate avea un impact drastic asupra calității modelului de învățare automată. Unii algoritmi, cum ar fi estimatorii scikit-learn, presupun că toate valorile sunt numerice și au și păstrează o valoare semnificativă.
O modalitate de a rezolva această problemă este de a scăpa de observațiile care au date lipsă. Cu toate acestea, veți risca să pierdeți puncte de date cu informații valoroase. O strategie mai bună ar fi să imputați valorile lipsă. Cu alte cuvinte, trebuie să deducem acele valori lipsă din partea existentă a datelor. Există trei tipuri principale de date lipsă:
Lipsesc complet la întâmplare (MCAR)
Lipsesc la întâmplare (MAR)
Nu lipsesc la întâmplare (NMAR)
Cu toate acestea, în acest articol, mă voi concentra pe 6 modalități populare de imputare a datelor pentru seturile de date transversale ( Setul de date cu serii de timp este o poveste diferită ).
Esta este una ușoară. Pur și simplu lăsați algoritmul să se ocupe de datele lipsă. Unii algoritmi pot lua în considerare valorile lipsă și pot învăța cele mai bune valori de imputare pentru datele lipsă pe baza reducerii pierderilor de instruire (de exemplu, XGBoost). Alții au opțiunea de a le ignora pur și simplu (de exemplu, LightGBM – use_missing=false). Cu toate acestea, alți algoritmi vor intra în panică și vor afișa o eroare care se va plânge de valorile lipsă (de exemplu, Scikit learn – LinearRegression). În acest caz, va trebui să vă ocupați de datele lipsă și să le curățați înainte de a le transmite algoritmului.
Să vedem alte modalități de a imputa valorile lipsă înainte de instruire:
Nota: Toate exemplele de mai jos utilizează setul de date California Housing Dataset din Scikit-learn.
2- Imputarea folosind valorile (medie/mediană):
Acest lucru funcționează prin calcularea mediei/medianei valorilor care nu lipsesc într-o coloană și apoi înlocuirea valorilor lipsă din fiecare coloană separat și independent de celelalte. Se poate utiliza numai cu date numerice.