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. […]

Code Smells: Pole tymczasowe

Kolejnym, może rzadziej spotykanym przykładem degeneracji kodu jest pole tymczasowe (ang. temporary field). Spotykamy się z nim wówczas gdy w obrębie klasy istnieje pole, które jest wykorzystywane tylko przy pewnych warunkach lub okolicznościach. Gdy te warunki nie są spełnione pole ma, przez cały cykl życia klasy, wartość domyślną. Popatrzmy na banalny przykład:

  Podstawowym problemem […]

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 […]

DSP2017: Pierwsze kroki w projekcie – raport 1

Krótko o tematyce projektu Jak pisałem ostatnio, dzisiaj będzie pierwsza notka raportowa o projekcie i kilka informacji dodatkowych. Najważniejszą i chyba najtrudniejszą kwestię stanowiła decyzja dotycząca wyboru danych, czyli praktycznie całego tematu wokół którego będzie kręcił się projekt. Zależało mi na tym by to o czym piszę było interesujące dla zwykłego ludka, więc odrzuciłem pomysły […]

Machine Learning – z czym to się je?

Jak pisałem w swego rodzaju wstępniaku do DSP2017 mój projekt będzie dotyczył uczenia maszynowego (by być uczciwym dodam, że podstaw :)). Podejrzewam, że większość osób związanych z programowaniem spotkało się już z tym terminem, nie wszyscy jednak muszą wiedzieć o czym dokładnie mowa i to przede wszystkim dla nich jest ten wpis. Czym więc jest […]

Relacja z konferencji WROC# 2017

Wroc# jest, obok .NET DeveloperDays jednym z najciekawszych kąsków na mapie programistycznych eventów w Polsce, przeznaczonych dla dotnetowców. W tym roku konferencja odbyła się 3 marca, oczywiście we Wrocławiu – na Stadionie Miejskim. Wroc# jest organizowany przez firmę Objectivity od trzech lat. Do tej pory byl to event bezpłatny, w tym roku zdecydowano się na ciekawy […]

Daj Się Poznać 2017 czyli runda druga

W ostatnim czasie na devstyle.pl pojawiło się sporo swego rodzaju retrospekcji od uczestników poprzedniej edycji Daj Się Poznać. Wszyscy są raczej zgodni co do tego, że partycypacja przyniosła im same korzyści i czytając to wszystko myślałem “cholera, szkoda że dałem dupy i nie dotrwałem do końca”. Zastanawiając się jednak nad tym co wydarzyło się od ubiegłego […]

Relacja z konferencji Boiling Frogs 2017

25 lutego we Wrocławiu odbyła się druga edycja konferencji o intrygującej nazwie Boiling Frogs. Sama konferencja dotyczy szeroko rozumianej idei software craftsmanship. Jak na stosunkowo krótką obecność na mapie imprez IT, przytłacza rozmachem (przynajmniej na papierze) i aspiruje do miana jednej z większych w naszym kraju. W tym roku: trzy ścieżki tematyczne, trzydziestu jeden prelegentów i tyleż […]

Code Smells: skomplikowane instrukcje warunkowe

Kolejnym problemem z którym przyjdzie się nam mierzyć jest nadmierna złożoność instrukcji warunkowych. Jest to często przejaw programowania nie-do-końca zorientowanego obiektowo. Zwłaszcza gdy występuje w świeżym kodzie. W kodzie zastanym jest zjawiskiem tyle niepożądanym przez “utrzymywaczy” co powszechnym. I niestety rzadko kiedy jest refaktoryzowany, nie koniecznie z powodu lenistwa programistów ale z racji sztywnych powiązań […]