Aby móc efektywnie wdrażać machine learning do biznesu, trzeba posiadać właściwe dane i w odpowiedni sposób je przygotować. W prezentacji opowiadamy o tym, jakie dane zbierać, aby wyuczyć model ML, jak analizować dane i określać, które są istotne. Najwięcej uwagi poświęcamy jednak zagadnieniu: jak przygotować dane pod model machine learning? Omawiamy procesy, wskazujemy narzędzia i przedstawiamy schematy pracy z danymi.
__________
Prezentacja została przedstawiona na TechFirst - wydarzeniu integrującym społeczność IT w regionie Warmii i Mazur.
__________
W razie pytań lub wątpliwości jesteśmy dla Was na office@ermlab.com
6. Python, czyli co syczy w trawie?
● Guido van Rossum – Benevolent Dictator for Life,
● Projekt open source,
● PEPs - Python Enhance Proposals (np. PEP8, PEP484),
● Zen of Python,
● Ważniejsze wersje: 2.7, 3.6+,
● pip – narzędzie do instalowania bibliotek.
7. Python, czyli co syczy w trawie?
● Paradygmaty programowania (obiektowy, strukturalny, funkcyjny),
● Dynamicznie typowany,
● Interpreter,
● Wszystko jest obiektem,
● Wcięcia zamiast średników i nawiasów.
10. To przecież proste
Zapisz coś gdzieś
● baza danych
● API
● print
● txt
Weź cokolwiek
● string
● txt
● JPEG
● csv
● XML
● PDF
Zrób coś z tym
● usunięcie polskich znaków
● zliczenie słów
● obrócenie o 90 stopni
● policzenie przychodów
● znalezienie nowych
produktów
11. To przecież proste: wersja ML
Zapisz coś
gdzieś
Weź cokolwiek
Zrób coś z tym
Ciągły proces na
tych samych
danych, ale inny
etap
12. ● Pozyskanie danych ze źródeł zewnętrznych (csv, html, DB, API, txt, pdf itp.),
● Przekształcenie danych (przeczyszczenie, filtrowanie, statystyki),
● Załadowanie danych do bazy danych / zapis danych (do csv, API, DB).
ETL (Extract, Transform, Load)
15. ● Jakie dane posiadamy?
● Jakie dane są łatwo dostępne?
● W jakiej są postaci, jaki mają format?
● Czy są w jakikolwiek sposób poukładane czy 1 wielki worek?
Etap 1: źródła danych
16. ● Posiadamy różne źródła danych i różny format zapisu,
● W inny sposób wyciągamy dane z API, bazy danych, innej bazy danych, raportu w csv od jednej
firmy, a inaczej od drugiej firmy,
● Mamy bardzo wyspecjalizowany kod, raczej nie wykorzystamy całości do wielu zastosowań.
Etap 2: importery / adaptery
17. ● Posiadamy różne źródła danych i różny format zapisu,
● W inny sposób wyciągamy dane z API, bazy danych, innej bazy danych, raportu w csv
od jednej firmy, a inaczej od drugiej firmy,
● Mamy bardzo wyspecjalizowany kod, raczej nie wykorzystamy całości do wielu
zastosowań.
Etap 3: dane ujednolicone
18. ● Informacje z różnych źródeł zapisane do jednego formatu (struktura plików, csv, json,
json lines, baza danych),
● Kod dzięki temu w następnych etapach będzie uniwersalny,
● Czy nasza struktura danych będzie się łatwo skalować?
● Czy dane są łatwe do zapisu i odczytu?
● Lepiej mieć więcej info niż mniej!
Etap 3: dane ujednolicone
19. ● Poznanie danych,
● Eksploracja danych,
● Statystyki,
● Unikalne elementy według różnych kryteriów,
● Kategoryzowanie w grupy.
Etap 4: poznanie danych
20. ● Wyczyszczenie danych (np. emotikony z tekstu),
● Wykluczenie niepoprawnych / niepasujących danych (np. za małe zdjęcia, tekst),
● Augumentacja danych, jeżeli to potrzebne (modyfikacja w celu zwiększenia liczby danych),
● Przygotowanie datasetów (np. tworzenie błędów w zdaniach, usuwanie kawałka obrazka).
Etap 5: przetwarzanie danych
21. ● Zamiana danych na wektory i macierze,
● Przygotowanie skryptów do trenowania,
● Zaplanowanie eksperymentów,
● Skrypty do walidacji modelu,
● Zapis wyników eksperymentów.
Etap 6: przygotowanie danych,
trening modelu
22. ● Ani jedno, ani drugie!
● Przetwarzanie danych to nie magia ani czary,
● Polega na robieniu wielu małych rzeczy i składaniu je w długie sekwencje zdarzeń.
Data Scientist: mag czy
czarownik?
24. ● Czy dane zbieramy raz czy cyklicznie?
● Czy forma zapisu może się skalować?
● Czy forma zapisu danych jest otwarta na modyfikację?
● Czy zebrane dane są zawsze aktualne?
Zbieranie danych
25. ● Ile czasu trwa napisanie kodu do pobierania danych?
● Jaki jest czas wykonywania skryptu?
● Czy dane są otwarte na modyfikację? - dodanie dodatkowego info
Techniczne
26. ● Jakie dane zbierać, by wyuczyć model?
● Jak analizować dane i określać, które z nich są istotne?
● Jak przygotować dane pod model?
Trenowanie