Utrzymywanie danych tak świeżych i czystych
Playlista dla Squeaky Clean Data
Konsumowałem wiele treści związanych z nauką o danych i analizą, a jednym z głównych wniosków, jakie znalazłem, jest to, że nie ma modelu, który można zbudować, który dostarczy przydatnych informacji, jeśli podasz mu śmieciowe dane. Jeden z moich instruktorów twierdzi, że pierwszą rzeczą, której nowicjusze muszą się nauczyć, jest zasada GIGO. Cóż, ująłby to bardziej zwięźle i powiedział, że lepiej byłoby spędzić 80% swojego czasu na czyszczeniu danych, zamiast budować błyszczący model, który karmisz Garbage.
Zasada GIGO (Garbage In = Garbage Out) głosi, że modele są podobne do ludzi i są tym, co konsumują. Co więcej, jeśli zasilasz swój model nieoczyszczonymi danymi, możesz spodziewać się, że Twoje metryki zostaną osłabione przez nieścisłości, które składają się na potok danych.
Mając to na uwadze, stworzyłem listę odtwarzania, aby zachować koncentrację podczas czyszczenia danych, i pomyślałem, że może ci się przydać, jeśli dopiero zaczynasz zagłębiać się w dane, tak jak ja.
Zacznijmy od danych, które są w .csv
formacie pliku, a także zaimportowaliśmy wszystkie biblioteki i pakiety wizualizacyjne niezbędne do zbudowania modelu.
Tak więc moim typowym pierwszym krokiem jest utworzenie ramki danych o nazwie df
, której używam pd.read_csv
do tworzenia.
df = pd.read_csv('myfile.csv', index_col = 0)
Po utworzeniu początkowej ramki danych czyszczę dane. Początkowa piosenka na mojej liście, której zwykle słucham podczas czytania .csv
pliku i tworzenia początkowej ramki danych, to:
Złota Jill Scott
Czyszczenie danych
Aby wyczyścić dane, często spędzam dużo czasu:
- Usuwanie duplikatów — duplikaty zajmują miejsce, mogą spowolnić wdrażanie modeli i mogą prowadzić do błędnych spostrzeżeń.
- Zastępowanie brakujących wartości — chociaż nie ma optymalnego sposobu radzenia sobie z brakującymi wartościami, nauczenie się, jak radzić sobie z brakującymi wartościami, jest umiejętnością, nad którą powinni pracować początkujący maniacy danych.
- Zastępowanie wartości symboli zastępczych — symbole zastępcze, takie jak: „—”, „NAN”, „?” i „#” konsekwentnie utrudniają pracę i prowadzą do błędów zarówno widocznych, jak i niewidocznych w analizie. Jeśli masz szczęście, pojawia się mnóstwo komunikatów o błędach; jeśli masz największego pecha, zauważysz to po próbie wizualizacji korelacji między zmiennymi zależnymi i niezależnymi i uzyskaniu zauważalnie nieprawdopodobnych wykresów.
- Rzutowanie typów danych na bardziej odpowiednie typy danych — często pojawia się to, gdy naiwnie traktuję zmienną kategoryczną (pomyśl o czymś ze stałą liczbą wartości), jakby była ciągła (coś, co może mieć dowolną wartość między minimum a maksimum) .
Patrzę na kształt ramki danych, właściwie muszę wiedzieć, z iloma wierszami i kolumnami pracuję i muszę walczyć o poddanie się. Jamując do legendarnego wokalisty z Filadelfii w Pensylwanii, używam:
df.shape
— Przejrzyj wymiary danychdf.info()
— Przejrzyj zwięzłe podsumowanie danychdf.head()
— Przejrzyj pierwsze pięć wierszy danych (możesz zwiększyć tę liczbę, dodając liczbę n w nawiasachdf.head(10)
, co da pierwsze dziesięć wierszy danych.
Po zapoznaniu się z podstawowymi funkcjami danych sprawdzam, czy w całej ramce danych nie ma symboli zastępczych, często za pomocą czegoś, co wygląda następująco:
df.isin['?', '#', 'NaN', 'null', 'N/A', '-']).any()
Zazwyczaj wtedy zaczynam słuchać oldschoolowych artystów reggae, takich jak Baby Cham, Capleton i Sean Paul, którzy przywołują nostalgię za moimi szkolnymi projektami w laboratorium fizycznym z Mr. Greenem, który miał najlepszą rytmiczną ścieżkę dźwiękową reggae w pod koniec lat 90. na East Side w New Providence nie było żadnych wyjątków.
Przegląd zmian
Po zidentyfikowaniu symboli zastępczych wykonuję następujące kroki podczas jamowania do oldschoolowego reggae:
df['column_with_placeholder'] = pd.to_numeric(df['column_with_placeholder'], errors = "coerce")
Utrzymanie rytmu
Zwykle przechodzę do brudnych korków południowych, usuwając duplikaty i decydując, czy usunę wiersze z ramki danych z wartościami pustymi, czy zastąpię je medianą lub trybem. Moimi ulubionymi artystami tego gatunku są Dungeon Family.
Moja playlista zazwyczaj wygląda tak:
- Jill Scott — Złota
- Baby Cham z udziałem Alicii Keys — Ghetto Story
- Wayne Wonder — Nie odpuszczaj
- Sean Paul — Temperatura
- Beenie Man — Romie
- Rodzina Lochów — Excalibur
- Erykah Badu — w kółko
- Outkast — Hej!
- Outkast — Rosa Parks
- Lauryn Hill — Ex Factor
Chciałbym zapewnić większą elastyczność i różnorodność mojej listy odtwarzania:
- Jak wykorzystać analitykę danych do stworzenia lepszej playlisty?
- Obecnie pracuję nad stworzeniem narzędzia do planowania podróży, które pomoże mi w zbliżającej się podróży na Bahamy, aby uczcić naszą 50. rocznicę odzyskania niepodległości.
Jeśli chcesz być na bieżąco z moimi najnowszymi artykułami, śledź mnie na Medium . Możesz również skontaktować się ze mną na LinkedIn lub wysłać e-mail na adres [email protected].