Wstępne przetwarzanie danych w eksploracji danych: kroki, imputacja brakujących wartości, standaryzacja danych
Opublikowany: 2020-12-30Najbardziej czasochłonną częścią pracy analityka danych jest przygotowanie i wstępne przetwarzanie dostępnych danych. Dane, które otrzymujemy w rzeczywistych scenariuszach, nie są czyste i nadają się do modelowania. Dane muszą zostać oczyszczone, doprowadzone do określonego formatu i przekształcone przed wprowadzeniem ich do modeli uczenia maszynowego.
Pod koniec tego samouczka poznasz następujące rzeczy
- Dlaczego wstępne przetwarzanie danych
- Czyszczenie danych
- Przypisanie brakującej wartości
- Standaryzacja danych
- Dyskretyzacja
Spis treści
Dlaczego wstępne przetwarzanie danych?
Gdy dane są pobierane przez złomowanie stron internetowych i gromadzenie ich z innych źródeł danych, zazwyczaj są one pełne rozbieżności. Mogą to być problemy z formatowaniem, brakujące wartości, wartości śmieci i tekst, a nawet błędy w danych. Należy wykonać kilka etapów wstępnego przetwarzania, aby upewnić się, że dane wprowadzane do modelu są zgodne z wartością, aby model mógł się na nich uczyć i uogólniać.
Czyszczenie danych
Pierwszym i najważniejszym krokiem jest usunięcie nieprawidłowości w danych. Bez wykonania tego kroku nie możemy mieć większego sensu w statystykach danych. Mogą to być problemy z formatowaniem, wartości śmieci i wartości odstające.
Problemy z formatowaniem
W większości przypadków potrzebujemy danych w formacie tabelarycznym, ale tak nie jest. Dane mogą mieć brakujące lub nieprawidłowe nazwy kolumn, puste kolumny. Co więcej, w przypadku nieustrukturyzowanych danych, takich jak obrazy i tekst, niezwykle istotne staje się załadowanie danych 2D lub 3D do ramek Dataframe w celu modelowania.
Wartości śmieci
Wiele wystąpień lub pełnych kolumn może mieć pewne wartości śmieci dołączone do rzeczywistej wymaganej wartości. Rozważmy na przykład kolumnę „ranga”, która ma wartości takie jak: „#1”, „#3”, „#12”, „#2” itd. Teraz ważne jest, aby usunąć wszystkie poprzedzające „#” znaków, aby móc podać wartość liczbową do modelu.
Odstające
Często pewne wartości liczbowe są albo za duże, albo za niskie niż średnia wartość określonej kolumny. Są one uważane za wartości odstające. Odstające osobniki wymagają specjalnego traktowania i są wrażliwym czynnikiem do leczenia. Te wartości odstające mogą być błędami pomiaru lub mogą być również wartościami rzeczywistymi. Muszą być całkowicie usunięte lub obsługiwane osobno, ponieważ mogą zawierać wiele ważnych informacji.
Brakujące wartości
Rzadko zdarza się, że Twoje dane będą zawierać wszystkie wartości dla każdej instancji. Wiele wartości brakuje lub jest wypełnionych wpisem śmieci. Te brakujące wartości należy potraktować. Te wartości mogą mieć wiele przyczyn ich braku. Może ich brakować z jakiegoś powodu, takiego jak błąd czujnika lub inne czynniki, lub może być całkowicie losowy.
Przeczytaj: Projekty Data Mining w Indiach
Rzut
Najprostszym i najłatwiejszym sposobem jest usunięcie wierszy, w których brakuje wartości. Ma to wiele wad, takich jak utrata kluczowych informacji. Dobrym krokiem może być usunięcie brakujących wartości, gdy ilość danych jest ogromna. Ale jeśli danych jest mniej i brakuje wielu wartości, potrzebujesz lepszych sposobów rozwiązania tego problemu.
Imputacja średnia/mediana/tryb
Najszybszym sposobem przypisania brakujących wartości jest po prostu przypisanie średniej wartości kolumny. Ma jednak wady, ponieważ zakłóca pierwotną dystrybucję danych. Można również przypisać wartość mediany lub wartość trybu, która jest ogólnie lepsza niż prosta średnia.
Interpolacja liniowa i KNN
Bardziej sprytne sposoby można również wykorzystać do przypisania brakujących wartości. 2 z nich to interpolacje liniowe wykorzystujące wiele modeli, traktujące kolumnę z pustymi wartościami jako cechą do przewidzenia. Innym sposobem jest użycie klastrowania przez KNN. KNN tworzy klastry wartości w określonej funkcji, a następnie przypisuje wartość najbliższą klasterowi.
Standaryzacja danych
W zestawie danych z wieloma cechami liczbowymi wszystkie cechy mogą nie być w tej samej skali. Na przykład funkcja „Odległość” ma odległości w metrach, takie jak 1300, 800, 560 itd. A inna funkcja „czas” ma czasy w godzinach, takie jak 1, 2,5, 3,2, 0,8 itd. Tak więc, gdy te dwie funkcje są podawane do modelu, traktuje cechę z odległościami jako większą wagę, ponieważ jej wartości są duże. Aby uniknąć tego scenariusza i uzyskać szybszą konwergencję, konieczne jest sprowadzenie wszystkich funkcji do tej samej skali.

Normalizacja
Typowym sposobem skalowania funkcji jest ich normalizacja. Można go zaimplementować za pomocą Normalizera Scikit-learn. Działa nie na kolumnach, ale na rzędach. Normalizacja L2 jest stosowana do każdej obserwacji, tak aby wartości w wierszu miały po skalowaniu normę jednostkową.
Min. Maks. skalowanie
Skalowanie Min Max można zaimplementować przy użyciu klasy Min MaxScaler w programie Scikit-learn. Odejmuje minimalną wartość cech, a następnie dzieli przez zakres, gdzie zakres jest różnicą między oryginalnym maksimum a oryginalnym minimum. Zachowuje kształt oryginalnej dystrybucji, z domyślnym zakresem 0-1.
Skalowanie standardowe
Standard Scaler można również zaimplementować przy użyciu klasy Scikit-learn. Standaryzuje cechę, odejmując średnią, a następnie skalując do wariancji jednostkowej, gdzie wariancja jednostkowa oznacza podzielenie wszystkich wartości przez odchylenie standardowe. Powoduje to, że średnia rozkładu wynosi 0, a odchylenie standardowe wynosi 1.
Dyskretyzacja
Często dane nie są w postaci liczbowej, a nie w postaci kategorycznej. Rozważmy na przykład funkcję „temperatura” o wartościach „Wysoka”, „Niska”, „Średnia”. Te wartości tekstowe muszą być zakodowane w formie numerycznej, aby model mógł się na nich uczyć.
Dane kategoryczne
Dane kategoryczne to etykieta zakodowana w postaci liczbowej. Tak więc „Wysoki”, „Średni” i „Niski” mogą być zakodowane etykietami do 3,2 i 1. Cechy kategoryczne mogą być nominalne lub porządkowe. Porządkowe cechy kategoryczne to takie, które mają pewien porządek. Na przykład w powyższym przypadku możemy powiedzieć, że 3>2>1 ponieważ temperatury można zmierzyć/określić ilościowo.
Jednak w przykładzie, w którym nie można zmierzyć cechy „Miasto”, która ma wartości takie jak „Delhi”, „Dżammu” i „Agra”. Innymi słowy, kiedy oznaczymy je jako 3, 2, 1, nie możemy powiedzieć, że 3>2>1 ponieważ „Delhi” > „Jammu” nie ma większego sensu. W takich przypadkach używamy One Hot Encoding.
Dane ciągłe
Cechy o wartościach ciągłych można również zdyskretyzować, dzieląc wartości na przedziały o określonych zakresach. Binning oznacza konwersję cechy numerycznej lub ciągłej na dyskretny zestaw wartości, w oparciu o zakresy wartości ciągłych. Jest to przydatne, gdy chcesz zobaczyć trendy w oparciu o zakres, w którym znajduje się punkt danych.
Na przykład, powiedzmy, że mamy oceny dla 7 dzieci w zakresie od 0 do 100. Teraz możemy przypisać oceny każdego dziecka do konkretnego „kosza”. Teraz możemy podzielić na 3 pojemniki o zakresach od 0 do 50, 51-70 i 71-100 należących odpowiednio do pojemników 1,2 i 3. Dlatego funkcja będzie teraz zawierać tylko jedną z tych 3 wartości. Pandas oferuje 2 funkcje umożliwiające szybkie binowanie: qcut i cut.
Pandas qcut pobiera liczbę kwantylów i dzieli punkty danych na każdy pojemnik na podstawie rozkładu danych.
Natomiast Pandas cut przyjmuje zdefiniowane przez nas niestandardowe zakresy i dzieli punkty danych w tych zakresach.
Powiązane czytaj: Wstępne przetwarzanie danych w uczeniu maszynowym
Ucz się kursów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
Wstępne przetwarzanie danych jest niezbędnym etapem każdego zadania eksploracji danych i uczenia maszynowego. Wszystkie kroki, które omówiliśmy, to z pewnością nie wszystkie, ale obejmują większość podstawowej części procesu. Techniki wstępnego przetwarzania danych są również inne dla danych NLP i obrazu. Wypróbuj przykłady powyższych kroków i zaimplementuj je w potoku Data Mining.
Jeśli jesteś zainteresowany nauką o danych, sprawdź IIIT-B i upGrad's PG Diploma in Data Science, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1- on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.
Co to jest wstępne przetwarzanie danych i jakie jest jego znaczenie?
Jest to technika dostarczania surowych nieustrukturyzowanych danych, które mają postać obrazów, tekstu, filmów. Te dane są najpierw wstępnie przetwarzane w celu usunięcia niespójności, błędów i nadmiarowości, aby można je było później przeanalizować.
Surowe dane są przekształcane w odpowiednie dane, które mogą być zrozumiane przez maszyny. Wstępne przetwarzanie danych jest ważnym krokiem do przekształcenia danych do modelowania. Bez przetwarzania jest praktycznie bezużyteczny.
Jakie są etapy wstępnego przetwarzania danych?
Wstępne przetwarzanie danych obejmuje różne etapy, aby zakończyć cały proces. Dane są najpierw czyszczone w celu usunięcia szumów i uzupełnienia brakujących wartości. Następnie dane są integrowane z wielu źródeł w celu połączenia w jeden zestaw danych. Po tych krokach następuje transformacja, redukcja i dyskretyzacja.
Transformacja surowych danych obejmuje ich normalizację. Redukcja i dyskretyzacja zasadniczo dotyczą redukcji atrybutów i wymiarów danych. Następnie następuje kompresja tego dużego zestawu danych.
Jaka jest różnica między metodami jednowymiarowymi a wielowymiarowymi?
Metoda jednowymiarowa to najprostsza metoda obsługi wartości odstających. Nie zawiera przeglądu żadnej relacji, ponieważ jest pojedynczą zmienną, a jej głównym celem jest analiza danych i określenie powiązanego z nią wzorca. Średnia, mediana i moda to przykłady wzorców znalezionych w danych jednowymiarowych.
Z drugiej strony metoda wielowymiarowa służy do analizy trzech lub więcej zmiennych. Jest bardziej precyzyjna niż metoda wcześniejsza, ponieważ w przeciwieństwie do metody jednowymiarowej, metoda wielowymiarowa zajmuje się relacjami i wzorcami. Drzewo addytywne, analiza korelacji kanonicznych i analiza skupień to tylko niektóre ze sposobów wykonywania analizy wielowymiarowej.