histoRia R w Polsce @ tRzecie uRodziny SERa

histoRia
Najbliższe Spotkanie Entuzjastów R (9 marca 2017) będzie wyjątkowe. Świętujemy trzecie urodziny SERów i z tej okazji będzie kilka niespodzianek. Zamiast pizzy będą bąbelki i coś słodkiego, zamiast przerwy zrobimy sesje tematycznych okrągłych stolików aby spokojnie porozmawiać z innymi entuzjastami R, a zamiast referatu o tym co aktualnie dzieje się w R będzie referat o przeszłości, o tym jak wyglądały początki R w Polsce.

Mam poprowadzić ten referat, ale przecież nie znam całej historii R.
Mam więc wielką prośbę do Was!
Pomóżcie mi uzupełnić informacje o tym jak wyglądały początki R w Polsce. Kiedy jakie przedmioty pojawiły się na których uczelniach, kiedy w firmach pojawiły się duże i ciekawe rozwiązania/wdrożenia oparte o R, kiedy miały miejsca ciekawe spotkania związane z R. Kiedy działy się ciekawe rzeczy związane z R, co to były za rzeczy i kto je organizował.

Założyłem na GitHubie stronę do której można dodawać interesujące ciekawostki związane z historią R (https://github.com/mi2-warsaw/SER/blob/master/histoRia/README.md).
Jeżeli wiecie o aktywności, która powinna się w tym zestawieniu znaleźć, proszę dopiszcie, albo przez nowe issue, albo nowy pull request albo przez wysłanie mi emaila na adres przemyslaw.biecek na serwerze gmail.
Mogą to być wydarzenia z już wymienionych typów a mogą to być całkowicie nowe rzeczy.

Dziękuję i do zobaczenia na SERze!

How to hire a Data Scientist?


W poprzednim tygodniu odbyła się konferencja Big Data Technology Summit 2017. Organizatorom udało się osiągnąć dwa cele, było wiele ciekawych merytorycznych referatów oraz wielu ciekawych uczestników z którymi można porozmawiać w kuluarach. Podczas sesji round-table miałem przyjemność poprowadzić stolik How to hire a Data Scientist? Wrażenia z tego stolika opisuję poniżej.

Dyskusja potoczyła się zaskakująco, choć na początku było dosyć klasycznie

Wśród uczestników tego stolika było kilku przedstawicieli biznesu, którzy do swoich firm lub działów szukają data scientistów (dalej juz piszę DS by nie kaleczyć tak bardzo języka), były też osoby zainteresowane rozwojem w tym kierunku.
Na początku było dosyć standardowo, czyli narzekanie, że zrekrutować DSa jest trudno. LinkedIn jest mało skuteczny, bo specjaliści dostają po kilka ogłoszeń tygodniowo i już ignorują większość z nich więc trzeba szukać innych ścieżek.
Na pytanie, co z rekrutacją na możliwie wczesnym etapie, jeszcze studentów na uczelniach, pojawiły się odpowiedzi, że ważna jest obecność firmy na uczelni ale (uczestnicy stolika) nie rekrutują osób na stanowisko DS na wczesnych latach a raczej starają się zdobyć już doświadczonych pracowników.
Samo w sobie to ciekawa deklaracja. Być może aby zostać DSem trzeba najpierw zjeść trochę chleba pracując na bardziej klasycznym stanowisku? A może uczenie się przez całe życie jest wpisane w zawód DS, a łatwiej się uczyć gdy ma się solidne podstawy po ukończonych dobrych studiach.

Z konstruktywnych wniosków pojawiło się np. stwierdzenie, że to co przyciąga DSa to ciekawe projekty i dostęp do ciekawych danych. W perspektywie dłuższego zatrudnienia, jest to silniejszym magnesem niż kolejna podwyżka. Ten motywator działa słabiej podczas pierwszej pracy, która motywowana jest najczęściej tym, że koledzy/żanki na studiach już zarabiają a ja jeszcze nie, ale gdy szukamy specjalistów w DS to właśnie możliwość rozwoju w ciekawym środowisku staje się coraz ważniejsza.
Ale jak dać znać pracownikom, że w firmie dzieją się ciekawe rzeczy? Jednym z rozwiązań (choć wciąż mało popularnym) jest blog pokazujący co ciekawego dzieje się w środku firmy/zespołu.

Później było jeszcze ciekawiej

Z ciekawszych wątków, w dalszej dyskusji pojawiła się np. wątpliwość, czy w ogóle warto szukać i rekrutować DSów?
Po co się zastanawiać jak rekrutować, jeżeli nie mamy pewności, że nasz biznes jest już gotowy aby przyjąć do pracy nowych DSów? Nawet jeżeli mamy nadwyżkę w budżecie na zespół DS, to warto świadomie określić po co nam ten zespół. W przeciwnym razie zdobędziemy kilka osób, które przyjdą, popracują rok, zobaczą że ich analizy są na nic i sobie pójdą.

Jeden z cytatów, który wpadł mi w ucho, to ,,jak wiemy DSy obumierają w samotności”. Czyli aby DSy pracowali efektywnie potrzebują zespołu, a może nawet całego ekosystemu wspierającego i uzupełniającego ich pracę.
Ale to wymaga od biznesu zbudowania zaplecza złożonego z inżynierów, którzy postawią i utrzymają te wszystkie sparki, hive’y, skonfigurują spotowe instancje na AWSie tak by potrzebne dane były zebrane i dostępne.
Jak również zaplecza po stronie kierowników, dyrektorów i zarządu, które pomoże nowe rozwiązanie wdrożyć lub przynajmniej przetestować w biznesie.
Aby zbudować efektywny zespół DS trzeba w wypracować pewną kulturę pracy z danymi, jeżeli nawet nie w całej firmie, to przynajmniej w warstwie zarządczej.

A więc jak rekrutować te jednorożce zwane DSami?

Dobrym kierunkiem jest taka organizacja biznesu, by istniało wsparcie techniczne pozwalające na efektywny dostęp do danych oraz warstwa zarządcza gotowa na wdrożenie zmian sugerowanych przez dane.
Do takiego środowiska DSy same przyjdą jak do wodopoju, bo będą czuli, że ich wysiłek na coś się przełoży. A świat się skurczył i informacja o tym gdzie dzieją się ciekawe rzeczy a gdzie nieciekawe szybko się rozchodzi.

Gdy już takie środowisko zostanie zbudowane, to nie zaszkodzi umieścić ogłoszenia na portalu http://datahero.tech/ lub przyjść czasem na uczelnie z ciekawym referatem (np. na SERy).

Najszczęśliwsze zdjęcia posłów i posłanek

Jakiś czas temu, na RBloggers pokazano jak z poziomu R używać Microsoft Cognitive Services API. Co to za API? Zbiór usług do pracy z obrazem, wideo lub tekstem. Przykładowo Ben Heubl użył Emotion API aby ocenić emocje na zdjęciach kandydatów na prezydentów USA a David Smith użył Face API aby oceniać płeć i wiek programistów na GitHub na bazie awatarów.

Super zabawka. Miałem chwilę czasu, stwierdziłem, że się nią pobawię.
Tylko skąd wziąć publicznie dostępny zbiór zdjęć?
Z pomocą przyszła strona Sejmu. Można z niej pobrać profilowe zdjęcia posłów i posłanek.

Korzystanie z Microsoft Cognitive Services okazuje się być bardzo proste, wystarczy użyć pakietu xml2 i funkcji read_html().

Emotion API dla każdej twarzy ze zdjęcia wyznacza scory dla ośmiu emocji (anger, contempt, disgust, fear, happiness, neutral, sadness, surprise). Ale dla zdjęć profilowych posłów i posłanek praktycznie jedyne niezerowe scory otrzymuje się w emocjach happiness i neutral. Okazuje się, że niektóre zdjęcia posłów i posłanek zdobywają wyższe skory w obszarze happiness a inne w neutral.
Co ciekawe posłanki mają znacznie częściej zdjęcia wysoko ocenione w skali happiness. Posłowie mają zdjęcia zeskorowane mniej więcej pół na pół jako happy i neutral.

Poniżej wyniki w rozbiciu na kluby. Proszę traktować to jako zabawkę z Cognitive Services i nie wyciągać niewiadomo jakich wniosków. Narzędzie jak narzędzie, ma jakąś niedokładność. W pionie, kluby uporządkowane ze względu na udział procentowy posłów/posłanek zescorowanych na zdjęciach jako najszczęśliwsi.

Screen Shot 2017-01-18 at 08.36.25

Co nowego w ,,Przewodnik po pakiecie R – wydanie 4.0”?

Przewodnik1234okladka
Czwarte wydanie ,,Przewodnika po pakiecie R” trafiło do księgarń w połowie grudnia. Pierwszy nakład był mały i szybko się skończył, ale od połowy stycznia Przewodnik jest ponownie dostępny.
A ja mam trochę czasu by napisać co nowego można znaleźć w czwartym wydaniu.

Zmian jest wiele. Kierunki zmian są dwa. Po pierwsze, obniżyć próg wejścia dla osób, które dopiero zaczynają przygodę z analizą danych. Łagodnym wprowadzeniem w temat są pierwsze dwa rozdziały. W upraszczaniu tej części przydały się doświadczenia z Pogromców Danych (2000+ osób) i z różnych szkoleń dla nie-programistów.
Drugi kierunek zmian to szersze wprowadzenie do pakietów z grupy tidyverse oraz ułatwień, które oferuje RStudio. Weterani R mają różne ulubione edytory i rozwiązania codziennych problemów, ale dla osób rozpoczynających przygodę z pewnością najefektywniejszą drogą wejścia jest połączenie RStudio i pakietów z tidyverse. Również osoby pracujące z R od lat mogą z zaskoczeniem odkryć, że praca z datami jest bardzo prosta dzięki pakietowi lubridate (ok, lubridate ma już kilka lat na karku) lub że praca z czynnikami jest prosta dzięki pakietowi forcats.

Wzorem poprzednich wydań, pierwsze 3 rozdziały (150 stron) są dostępne bezpłatnie jako pdf online tutaj.

Rozdział 1 – Wprowadzenie
W pierwszym rozdziale znajduje się krótki opis narzędzia jakim jest język R i edytor RStudio.
Zaczynam od pytania ,,Dlaczego warto poznać R?”,
Czytelnik może zapoznać się z przykładowymi fragmentami kodu R do pobierania danych z internetu (z nadzieją na reakcję czytelnika ,,WoW, to się da zrobić w 5 linijkach! Ja też tak chcę!!!”), wizualizacji pobranych danych oraz prostego modelowania statystycznego. Wszystko w zaledwie kilku linijkach kodu, możliwe dzięki dużej ekspresji języka.
Jeżeli ktoś jeszcze nie wie, czy praca z R jest dla niego, ten rozdział pomoże podjąć decyzję.
Jest tutaj też krótka historia rozwoju R, od początków S po lawinowy rozwój R w ostatnich latach/miesiącach.

Czytaj dalej Co nowego w ,,Przewodnik po pakiecie R – wydanie 4.0”?

Hakaton ‘Puls miasta’ @ WhyR 2017

WhyR to Ogólnopolska Konferencja Użytkowników R, która odbędzie się 27-29 września 2017 na Politechnice Warszawskiej (więcej o WhyR). Dzień przed konferencją (26 września) planujemy przeprowadzić bardzo ciekawy hakaton z wykorzystaniem naprawdę dużych miejskich danych.

Jakich danych?
Hakaton realizowany jest w ramach projektu VaVeL (więcej o VaVeL) w którym partnerem jest Ośrodek Badań dla Biznesu PW (więcej o OBB), dzięki czemu będziemy mieli dostęp do danych z najróżniejszych sensorów w Warszawie. Jakich sensorów? Przykładowo dane o położeniu każdego tramwaju i autobusu w praktycznie każdej chwili (live + spora historia), dane o natężeniu ruchu pieszego w różnych punktach miasta, z publicznych kanałów informacyjnych i z wielu innych źródeł (rysunek po prawej to ślad z jednego dnia po sensorach z tramwaju 22). Masa danych. Mikołaj w tym roku przychodzi we wrześniu.

Jak to ogarnąć?
W ramach warsztatów poprowadzimy bezpłatne mini-wykłady z technologii BigData-owych, takich jak Hadoop czy Hive, dzięki czemu uczestnicy będą mogli i będą wiedzieć jak dostać się do tych gigantycznych zasobów. Ale nawet jeżeli ktoś nie przepada za żółtymi słoniami będzie mógł pracować na przetworzonych skrawkach danych lub też będzie mógł wesprzeć zespół od strony wizualizacji, burzy mózgów, tworzenia aplikacji mobilnych czy innych aplikacji.

Co będziemy robić?
Zbieramy różne pomysły na hackaton, ale liczymy też na burzę mózgów podczas samego wydarzenia. Analiza danych oceniających zatłoczenie przystanków na Mordorze? Aplikacja informująca ile się średnio spóźnia linia 10 w okolicach godziny 16? Wizualizacja transferu mieszkańców w różnych godzinach. Zobaczymy co z tego wyjdzie.

Jak się zarejestrować?
Więcej informacji o rejestracji pojawi się po feriach zimowych. Z pewnością warto śledzić stronę konferencji WhyR.

Is it a job offer for a Data Scientist?

screen-shot-2017-01-09-at-21-41-24
TL;DR
Konrad Więcko and Krzysztof Słomczyński (with tiny help from my side) have created a system that is tracing what skills are currently in demand among job offers for data scientists in Poland. What skills, how frequent and how the demand is changing over time.

The full description how this was done. static, +shiny.

Here: The shiny application for browsing skill sets.

Here: The R package that allows to access the live data.

Full version
A data science track (MSc level) will be very soon offered at MiNI department/Warsaw University of Technology and we (i.e. program committee) are spending a lot of time setting up the program. How cool it would be taking into account the current (and forecasted) demand on data science skills on the market? The project executed by Konrad Więcko and Krzysztof Słomczyński is dealing exactly with this problem.

So, the data is scrapped from pracuj.pl, one of the most popular (in Poland) websites with job offers.
Only offers interested to data scientists were used for further analyses.
How these offers were identified? In Poland the job title ‘Data Scientist’ is (still) not that common (except linkedin). And there are different translations and also there is a lot of different job titles that may be interested for a data scientist.
So, Konrad and Krzysztof have developed a machine learning algorithm that scores how much a given offer matches a ‘data scientist profile’ (whatever that means) based on the content of job offer description. And then, based on these predictions, various statistics may be calculated, like: number of offers, locations, demand on skills etc.

Here: Description of the dataset used for the model training.

Here: Description of the machine learning part of the project.

Trends for selected skill sets.

MIMUW vs SuperFarmer

screen-shot-2017-01-04-at-23-02-08
W 1997 roku DeepBlue (IBM) wygrał z mistrzem szachowym Garri Kasparowem.
W 2011 roku Watson (IBM) wygrał w Jeopardy! z dwoma mistrzami Bradem Rutterem i Kenem Jenningsem.
W 2016 roku AlphaGo (Google) wygrał w go z jednym z najlepszych graczy Lee Sedolem.
A w tym semestrze, pod przykrywką zajęć z programowania w R i wizualizacji danych, studenci z MIM UW walczą z grą SuperFarmer. Szukamy strategii wygrywającej (w jakimś sensie).

SuperFarmer to gra wydana przez Granna na bazie gry Hodowla Zwierzątek, którą opracował matematyk, Karol Borsuk, profesor Uniwersytetu Warszawskiego. Zasady są dosyć proste, przez co można grać nawet z małymi dziećmi. Gra jest bardzo dynamiczna i przyjemna nawet dla wytrawnych / starszych graczy.

Póki co, najlepsza znaleziona przez studentów strategia ma medianowy czas gry 34 kroki (tj. w grze jednoosobowej dla najlepszej strategii, połowa gier kończy się zwycięstwem przed 34 krokiem).

rozkladliczbyruchow

Czytaj dalej MIMUW vs SuperFarmer

Równanie Choinki

bokeh_plot-1

Bibliotek i narzędzi do tworzenia interaktywnych wykresów jest cała masa. Poczynając od tych pozwalających przy odrobienie wysiłku na wyrenderowanie praktycznie każdego możliwego wykresu (D3.js), po te generujące wykresy błyskawicznie, ale ograniczone do kilku szablonów (np. NVD3). Aby przetestować elastyczność różnych narzędzi, na ostatnich zajęciach z Technik Wizualizacji Danych wykonaliśmy test choinki – w bibliotece XYZ przygotuj interaktywną choinkę.

Poniższą przygotowali Jan Dyszyński i Maksymilian Mazur z użyciem biblioteki RBokeh (a dokładniej R-owego portu do Bokeh). Kod jest tutaj, przykład poniżej, przy odrobienie zoomu można odczytać równanie tej choinki.



screen-shot-2016-12-24-at-17-30-44

Po lewej i pod tym linkiem jest choinka, której autorem jest Piotr Smuda (najedźcie myszką aby sprawdzić jakie prezenty są pod choinką).

screen-shot-2016-12-23-at-15-03-41

Tutaj jest choinka w googleVis wykonana przez panią Małgorzatę Sobczak.

Kolejna choinka jest w ggiraph. Autorką jest Dorota Łępicka a kod jest tutaj.

screen-shot-2016-12-29-at-20-16-18

Przewodnik po pakiecie R – wydanie 4.0

TL;DR – od wczoraj w wybranych księgarniach stacjonarnych, niedługo w internetowych.

przewodnik4okladka

W wydaniu IV zmian jest bardzo dużo. Opiszę je niedługo szczegółowiej, ale w skrócie:

* Na bazie doświadczeń z kursu PogromcyDanych (udział wzięło ponad 2000 osób, więc było co analizować), pierwsze dwa rozdziały zostały bardzo bardzo uproszczone. Powinny być w zasięgu dla licealisty, studenta czy osób bez doświadczenia w programowaniu. Na przykładach pokazuję jak wczytać dane, zrobić proste wykresy, używać dplyr i shiny.

* Trzeci rozdział ,,Niezbędnik programisty”, wprowadza zagadnienia, które mogą zainteresować nawet zaawansowanych programistów. Zaczynamy od funkcji, pętli, później omawiamy bazy danych, jest podrozdział o Shiny, podrozdział o tym jak budować pakiety, obowiązkowo o Git/GitHub i oczywiście o profilowaniu i debugowaniu kodu.

* Czwarty rozdział ,,Niezbędnik statystyka” zmienił się najmniej w stosunku do poprzedniego wydania. Usunąłem funkcje których już nie ma i poprawiłem jakieś drobiazgi.

* Piąty rozdział ,,Graficzna prezentacja danych” został bardzo rozbudowany. Pakietom lattice i ggplot2 poświęciłem sporo miejsca, zasługują na nie. Jest też o interaktywnej grafice (rCharts) i też o klasycznej grafice.

Materiały z książki, zbiory danych, są dostępne w pakiecie Przewodnik.

Zmian było dużo więcej, niż początkowo planowałem, ale warto było je wprowadzić. Czwarte wydanie Przewodnika kończy maraton wydawniczy, który miał miejsce w tym roku. Kolejne wydania Przewodnika mają daty 2008, 2011, 2014, 2017.

How to weigh a dog with a ruler? (looking for translators)


We are working on a series of comic books that introduce statistical thinking and could be used as activity booklets in primary schools. Stories are built around adventures of siblings: Beta (skilled mathematician) and Bit (data hacker).

What is the connection between these comic books and R? All plots are created with ggplot2.

The first story (How to weigh a dog with a ruler?) is translated to English, Polish and Czech. If you would like to help us to translate this story to your native language, just write to me (przemyslaw.biecek at gmail) or create an issue on GitHub. It’s just 8 pages long, translations are available on Creative Commons BY-ND licence.

Click images below to get the comic book:
In English
bb_en

In Polish
bb_pl

In Czech
bb_cz

The main point of the first story is to find the relation between Height and Weight of different animals and then assess the weight of dinosaur T-Rex based only on the length of its skeleton. A method called Regression by Eye.

bb_rel