Translation not up to date
W fazie przygotowywania danych do eksploracji często chcemy wyeliminować braki, zastępując je jakimiś wartościami.
Braki danych to wartości w zbiorze danych, które są nieznane, nie zostały zebrane lub zostały nieprawidłowo wprowadzone. Zwykle takie wartości nie są poprawne dla ich pól. Na przykład pole Sex
powinno zawierać wartości M
i F
. W przypadku wykrycia wartości Y
lub Z
w tym polu można bezpiecznie przyjąć, że wartości te są niepoprawne i dlatego należy je interpretować jako odstępy. Podobnie, wartość ujemna dla pola Age
jest bezsensowna i powinna być również interpretowana jako pusta. Często, tak oczywiste, nieodpowiednie wartości są celowo wprowadzane, lub pola są pozostawiane puste, podczas kwestionariusza, aby wskazać, że nie są one odpowiedzią. Niekiedy chcemy dokładniej przeanalizować braki danych, aby ustalić, czy brak odpowiedzi (np. odmowa podania wieku przez respondenta) ma wpływ na predykcję określonego wyniku.
Niektóre techniki modelowania lepiej niż inne radzą sobie z brakami danych. Na przykład węzeł C5.0 i węzeł Węzeł Apriori dobrze radzą sobie z wartościami jawnie zadeklarowannymi jako "braki danych" w węźle typu. Inne techniki modelowania mają trudności z obsługą braków danych; w ich przypadku braki wydłużają czas szkolenia i prowadzą do generowania mniej dokładnych modeli.
- Null lub systemowe braki danych. Są to wartości niełańcuchowe, które pozostawiono puste w bazie danych lub w pliku źródłowym i nie zostały specjalnie zdefiniowane jako "braki danych" w węźle Import lub w węźle typu. Systemowe braki danych są wyświetlane jako wartości
$null$
. Należy zauważyć, że puste łańcuchy nie są uznawane za wartości puste, chociaż niektóre bazy danych mogą być traktowane jako wartości puste. - Puste łańcuchy i białe znaki. Puste łańcuchy tekstowe i białe znaki (łańcuchy bez widocznych znaków) są traktowane odmiennie niż wartości null. Puste łańcuchy są w większości przypadków traktowane jako równoważne białym znakom. Jeśli na przykład zostanie wybrana opcja traktowania białych znaków jako odstępów w węźle Import lub Typ, to ustawienie ma zastosowanie również do pustych łańcuchów.
- Puste lub zdefiniowane przez użytkownika braki danych. Są to wartości, takie jak
unknown
,99
lub–1
, które są jawnie zdefiniowane w węźle importu lub węźle typu jako brak. Opcjonalnie można także wybrać traktowanie wartości null i białych znaków jako wartości pustej, co pozwala oznaczyć je z myślą o specjalnym ich traktowaniu i wykluczeniu ich z większości obliczeń. Można na przykład użyć funkcji@BLANK
do traktowania tych wartości, wraz z brakami danych innego typu, jako wartości pustej.
Wczytywanie danych mieszanych. Należy zwrócić uwagę, że podczas odczytu w polach z numeryczną pamięcią masową (liczba całkowita, rzeczywista, godzina, znacznik czasu lub data), wszystkie wartości nieliczbowe są ustawiane na wartość null
lub system missing
. Wynika to z faktu, że w przeciwieństwie do niektórych aplikacji, nie zezwala na mieszane typy składowania w obrębie pola. Aby tego uniknąć, należy przeczytać w dowolnych polach z danymi mieszanymi w postaci łańcuchów, zmieniając typ pamięci masowej w węźle Import lub w aplikacji zewnętrznej, jeśli jest to konieczne.
Odczytywanie pustych łańcuchów Oracle. Podczas odczytywania lub zapisywania do bazy danych Oracle należy pamiętać, że w przeciwieństwie do większości innych baz danych, Oracle traktuje i przechowuje puste wartości łańcuchowe jako równoważne wartości null. Oznacza to, że te same dane wyodrębnione z bazy danych Oracle mogą zachowywać się w odmienny sposób w przypadku wyodrębnienia z pliku lub innej bazy danych, zaś dane mogą zwracać odmienne wyniki.