Данните никога не са чисти
В миналия час събрахте таблица. Ако сте я погледнали внимателно, вече сте видели: някой е написал „35 мин“ вместо 35, друг е оставил празна клетка, трети е попълнил реда си два пъти. Това не е недисциплинираност — така изглеждат всички данни, събрани от хора или от машини.
Хората, които работят с данни професионално, казват едно и също: по-голямата част от времето по един проект отива не в модела, а в намирането и почистването на данните. Днес ще видите защо.
Три вида проблеми
| Проблем | Как изглежда | Как се открива |
|---|---|---|
| Липсваща стойност | празна клетка; понякога „—“, „?“ или 0, сложена вместо празно | броим празните клетки във всяка колона |
| Грешна стойност | сън 70 часа; „35 мин“ в числова колона; „Математика“ и „матем.“ за един предмет | сравняваме с правилата за колоната от урок 11 |
| Повтаряща се стойност | един и същ ред два пъти — обикновено попълнен повторно | сортираме и търсим еднакви съседни редове |
Грешните стойности имат три чести причини и за всяка има различна поправка. Ще ги разгледаме една по една.
Липсващи стойности
Анкетираният не е отговорил, сензорът е спрял, човекът е пропуснал клетката. Три изхода, всеки със своя цена:
| Какво правим | Кога е уместно | Какво променя |
|---|---|---|
| Премахваме реда | малко редове с липси, а наборът е голям | губим целия пример заедно с верните му стойности |
| Попълваме със средното (числова) или най-честата стойност (категорийна) | малко липси в иначе важна колона | „изглажда“ данните — измислената стойност изглежда като истинска |
| Оставяме празно и отбелязваме „неизвестно“ | категорийна колона или когато самата липса значи нещо | нищо — но не всеки алгоритъм работи с празни клетки |
Грешни стойности
Извън допустимия диапазон
Сън 70 часа, път до училище −5 минути, 300 книги за година. Откриват се лесно: за всяка числова колона гледаме най-малката и най-голямата стойност и ги сравняваме с диапазона от правилата. Поправката зависи от причината: 70 почти сигурно е 7.0 без десетична точка — поправя се; 300 книги не знаем откъде идва — става липсваща.
Различен формат
„35 мин“ вместо 35; „7,5“ със запетая вместо „7.5“; „yes“ в колона с „да/не“. За компютъра „35 мин“ е текст и не може да се събира. Поправката е ясна и не губи информация: махаме единицата, сменяме запетаята, превеждаме „yes“ на „да“.
Правописни варианти на една категория
„математика“, „Математика“, „матем.“ и „математика “ (с интервал накрая) са четири различни стойности за компютъра, макар да са един предмет. Ако ги оставим, при броене ще излезе, че четири малки групи харесват четири различни предмета. Поправката е привеждане към една форма — тази от списъка в правилата.
Повтарящи се редове
Дубликат
Един и същ обект, записан повече от веднъж — например ученик, който е попълнил реда си два пъти, защото е помислил, че първият не се е записал.
Дубликатите изкривяват всяко броене: ако един ред с „автобус“ влезе два пъти, автобусът изглежда по-популярен, отколкото е. Обикновено вторият запис се премахва.
Дневникът на почистването
Почистването променя данните и някой после ще пита защо резултатът е такъв. Отговорът е в дневника — обикновена таблица, която се води успоредно с поправките:
- Начален брой редове и брой празни клетки.
- За всяка поправка: ред, колона, какъв е проблемът, какво е решението (премахване / попълване / поправка) и защо.
- Краен брой редове и брой останали празни клетки.
- Кои решения биха могли да променят изводите — например попълването на липсите.
Без дневник след месец никой, включително вие, няма да знае дали „7“ в четвъртия ред е било така отначало или вие сте го решили. С дневник всяка стъпка може да се провери и при нужда да се върне.
Какво трябва да запомниш
- Всички реални данни имат проблеми: липсващи, грешни и повтарящи се стойности.
- Липсваща стойност: премахваме реда, попълваме или оставяме „неизвестно“ — всяко решение променя данните по различен начин.
- Грешни стойности: извън диапазона, в различен формат или правописни варианти на една категория. Поправят се по правилата за колоната; ако не можем — стават липсващи.
- Нулата е стойност, празното е липса — не се смесват.
- Еднакви редове се премахват само след проверка, че наистина са един обект.
- Всяка поправка се записва в дневник: къде, какво, защо.