ML: kategorie nominalne – Dummy Variable Trap

Tak jak obiecałem wcześniej w poście mówiącym o danych kategoryzujących, napiszę kilka słów o problemie związanym z przetwarzaniem danych nominalnych, zwanym Dummy Variable Trap. Dummy variable jest to kolumna przechowująca wartość binarną (oznaczającą przynależność próbki do danej kategorii), utworzona w procesie kodowania jeden do wielu, o którym pisałem we wspomnianym poście. Spójrzmy zresztą na poniższy […]

ML: Obróbka danych: Dane kategoryczne

W poprzednim wpisie była mowa o kwestii brakujących danych w zbiorach. Kolejnym problemem z jakim jesteśmy zmuszeni sobie radzić jest obróbka danych kategorycznych. Spójrzmy na poniższy wycinek, tym razem pochodzący ze zbioru BreastCancer – jeżeli chcecie go ściągnąć znajduje się tutaj Załadujmy wspomniany zbiór i zobaczmy co w nim siedzi (od razu zrobimy też coś z […]

ML: Obróbka danych: Brakujące dane

Dawno dawno temu, w poście mówiącym o przygotowaniu modelu jako części workflow uczenia maszynowego, pisałem że aby nasz model był jak najbardziej skuteczny wymaga dostarczenia dobrej jakości danych. Dobrej jakości dane nie rosną same na drzewach czerwono czarnych. Trzeba niestety samemu o nie zadbać i poprawić trapiące je problemy. Jakie to mogą być problemy? Zastanówmy […]

Machine Learning Workflow cz 3 – testowanie modelu

Jak zwykle zacznę od przypomnienia poszczególnych kroków w przepływie pracy w uczeniu maszynowym: Przygotowanie modelu. Trenowanie modelu. Testowanie modelu. Dzisiaj będę pisał o ostatnim kroku – testowaniu modelu – kluczowym by właściwie ocenić nasz model i na tej podstawie podjąć decyzję o kierunku zmian w kolejnej iteracji pracy. Testowanie jakie takie składa się z dwóch […]

Scikit-learn i podstawy korzystania z algorytmów uczących

Biblioteka scikit-learn zawiera implementację wszystkiego co potrzebne do pracy z uczeniem maszynowym w Pythonie. Dodatkowo jest dostępna całkowicie za darmo jako projekt open source. Dzięki temu, że twórcy ściśle podążają za ustalonymi konwencjami, korzystanie z niej i rozpoczęcie trenowania swojego modelu to kwestia kilku minut. Kluczowe są zawsze dwie metody, które opisuję poniżej. Na początek warto wiedzieć, […]

DSP2017: Trenowanie modelu- raport 3

Po dłuższej przerwie od raportów, w końcu piszę kolejny – dzisiaj o przebiegu procesu trenowania modelu w moim projekcie, który jak całość dziedziny uczenia maszynowego został przeprowadzony z wykorzystaniem Pythona, i bibliotek Pandas oraz scikit-learn. Rodzaj uczenia… Przed przystąpieniem do wyboru algorytmu uczącego trzeba określić pewne ramy dla swojego projektu. Tak jak pisałem wcześniej, na […]

DSP2017: Wprowadzenie do biblioteki Pandas w kontekście przygotowania modelu

Biblioteka Pandas jest open-source’owym narzędziem do analizy danych przeznaczonym dla Pythona. Udostępnia wszystkie niezbędne operacje potrzebne do pracy z modelem w uczeniu maszynowym. Poniżej opiszę kilka podstawowych funkcji i struktur danych, które można wykorzystać w kontekście przygotowania modelu. Wczytywanie danych: Pandas posiada mnóstwo metod służących do wczytywania danych z różnych źródeł. Nazwy tych metod zwykle wyglądają […]

Machine Learning Workflow cz 2 – trenowanie modelu

Na start przypomnijmy sobie podstawowe kroki w przebiegu pracy uczenia maszynowego: Przygotowanie modelu. Trenowanie modelu. Testowanie modelu. Dzisiaj zajmiemy się punktem drugim Załóżmy, że sam model mamy przygotowany – wiemy czego szukamy, dane są wyselekcjonowane i wyczyszczone – co dalej? Mamy do rozpatrzenia dwie kwestie: wybór algorytmu uczącego i zastosowanie tego algorytmu do wytrenowania modelu. […]

DSP2017: Przygotowanie modelu – raport 2

Przyszedł czas na trochę bardziej konkretną pracę z danymi. Ostatnio pisałem, o przygotowaniu modelu – dzisiaj też będzie o tym ale w kontekście pracy nad moim projektem. Gwoli przypomnienia – dane nad którymi pracuję pochodzą ze strony kaggle.com, a dokładnie stąd. Są one w formacie csv, i do ich pierwszej obróbki (czyli zanim zostaną wczytane do […]

Machine Learning Workflow cz 1 – przygotowanie modelu

Jakiś czas temu pisałem o tym jak wygląda workflow w uczeniu maszynowym. Pozwolę to sobie tutaj przypomnieć: Pozyskanie danych Zadanie pytania na które chcemy znać odpowiedź w oparciu o zebrane dane (chyba najtrudniejsza część procesu) Przygotowanie danych (wczytanie je do pamięci, wyczyszczenie, doprowadzenie do postaci łatwej do zinterpretowania przez komputer – jednym słowem przetworzenie) Wybór […]