DALEX for keras and parsnip

DALEX is a set of tools for explanation, exploration and debugging of predictive models. The nice thing about it is that it can be easily connected to different model factories.

Recently Michal Maj wrote a nice vignette how to use DALEX with models created in keras (an open-source neural-network library in python with an R interface created by RStudio). Find the vignette here.
Michal compared a keras model against deeplearning from h2o package, so you can check which model won on the Titanic dataset.

Next nice vignette was created by Szymon Maksymiuk. In this vignette Szymon shows how to use DALEX with parsnip models (parsnip is a part of the tidymodels ecosystem, created by Max Kuhn and Davis Vaughan). Models like boost_tree, mlp and svm_rbf are competing on the Titanic data.

These two new vignettes add to our collection how to use DALEX with mlr, caret, h2o and others model factories.

iBreakDown: faster, prettier and more precise explanations for predictive models (with interactions)

LIME and SHAP are two very popular methods for instance level explanations of machine learning models (XAI).
They work nicely for images and text inputs, but share similar weakness in case of tabular data: explanations are additive while complex models are (sometimes) not. iBreakDown addresses this problem.

iBreakDown is a a successor of the breakDown package. Yesterday it has arrived on CRAN. Key new features are:

– It identifies and shows feature interactions (if there are local interactions in the model).
– It is much faster. For additive explanations the complexity is O(p) instead of O(p^2).
– The plotD3 function creates an interactive D3-based break-down plot (thanks to r2d3).
– iBreakDown has a new design, created by Hanna Dyrcz. We will have a talk about it ,,Machine learning meets design. Design meets machine learning.” at satRdays. Try the new theme theme_drwhy()!.
– It shows explanation level uncertainty – how good are explanations?

A methodology behind this package is described in the iBreakDown: Uncertainty of Model Explanations for Non-additive Predictive Models.

A nice titanic-powered use-case is described in the titanic vignette.

An example of the D3 interactive explainer is here.

Some intuition is introduced in the Visual Exploration, Explanation and Debugging (working version, still in progress).

iBreakDown is a part of the DrWhy.AI family of explainers consistent with the DALEX.

Let us know if you like it. Feel free to create a pull request with new features, add issue with new idea or star the github repository if you like this package.

DALEX has a new skin! Learn how it was designed at gdansk2019.satRdays

DALEX is an R package for visual explanation, exploration, diagnostic and debugging of predictive ML models (aka XAI – eXplainable Artificial Intelligence). It has a bunch of visual explainers for different aspects of predictive models. Some of them are useful during model development some for fine tuning, model diagnostic or model explanations.

Recently Hanna Dyrcz designed a new beautiful theme for these explainers. It’s implemented in the DALEX::theme_drwhy() function.
Find some teaser plots below. A nice Interpretable Machine Learning story for the Titanic data is presented here.

Hanna is a very talented designer. So I’m super happy that at the next satRdays @ gdansk2019 we will have a joint talk ,,Machine Learning meets Design. Design meets Machine Learning”.

New plots are available in the GitHub version of DALEX 0.2.8 (please star if you like it/use it. This helps to attract new developers). Will get to the CRAN soon (I hope).

Instance level explainers, like Break Down or SHAP

Instance level profiles, like Ceteris Paribus or Partial Dependency

Global explainers, like Variable Importance Plots

See you at satRdays!

Mat-korzenie MiNI PW

Dzisiaj będzie o ciekawym projekcie z Technik Wizualizacji Danych.
Ale najpierw historyjka.

Od studiów jestem fanem hackerspaceów. Miejsc w których ludzie razem robią szalone projekty. Więc i przedmioty projektowe na studiach staram się też tak organizować, by kurs był czasem robienia jakiegoś interesującego projektu (przynajmniej dla prowadzącego ;-)).
Gdy na wydziale statystyki UCDavis zobaczyłem takie drzewo genealogiczne pracowników, pomyślałem, WOW, to jest pomysł na kolejny projekt dla studentów z TWD.

O co chodzi z tą genealogią?
Mathematics Genealogy Project to projekt wspierany przez American Mathematical Society. Otwarta baza danych linkująca matematyków i promotorów ich pracy doktorskiej. Podobny pomysł co baza współautorów publikacji czy współautorów pakietów oprogramowania czy połączenia znajomych na facebooku, tyle że w wersji mat.

W ramach ostatniego projektu z TWD studenci szukali sposobu na przedstawienie związki lwowskiej i warszawskiej szkoły matematycznej z pracownikami wydziału MiNI PW.

Poniżej dwie wizualizacje, które najbardziej przypadły mi do gustu.

Wersja interaktywna tutaj (uwaga, zabawa z grafami uzależnia).

Pełna wersja tutaj.

A jak wyglądałoby drzewo Twojego wydziału?
😉

Do którego aktora jesteś najbardziej podobny? Czyli z pamiętnika nauczyciela akademickiego, Warsztaty Badawcze 1/3

Najbardziej lubię prowadzić przedmioty, które kończą się działającym projektem. Jednym z takich przedmiotów są Warsztaty Badawcze, które prowadzę na MiNI PW. Formuła przedmiotu pozostawia dużą swobodę. W tym semestrze większość projektów polegała na analizie obrazu z kamery, wykorzystaniu głębokich sieci do rozpoznania i analizy twarzy. Kiedyś napiszę o tym przedmiocie więcej, ale dzisiaj zacznę od pokazania kilku ciekawych rozwiązań.

Projekty studentów dostępne są jako strony internetowe. Można samemu się nimi pobawić. Poniżej trzy przykładowe.

Do jakiego aktora/aktorki jestem najbardziej podobny?

Pod adresem https://hollywoodgallery.mini.pw.edu.pl/ znaleźć można aplikację, która na bazie zdjęcia twarzy szuka najbardziej podobnego aktora/aktorki.

Na ile lat wyglądam?

Inna sieć uczyła się rozpoznawać wiek na podstawie zdjęcia twarzy. Dostępna jest pod adresem https://agerecognition.mini.pw.edu.pl. Mnie zazwyczaj odmładza 😉

Najbardziej podobny poseł/posłanka

Pod adresem http://similarmp.mini.pw.edu.pl dostępna jest aplikacja rozpoznająca twarz i szukająca najbardziej podobnego posła/posłanki spośród posłów obecnej kadencji. Nie ma gwarancji, że będzie to poseł/posłanka którą lubimy, ale można zaryzykować. Najlepiej aplikację otwierać przez Firefox. Chrome nie zezwala na dostęp do kamery aplikacjom po http.

Więcej informacji o tych i innych projektach, ich architekturze i analizie opracowanego rozwiązania, znaleźć można na stronie przedmiotu https://github.com/pbiecek/CaseStudies2019W/. Szczególnie projektów związanych z szukaniem najbardziej podobnych osób jest więcej, choć nie wszystkie są dostępne w sieci poza wydziałem MiNI.

Na ścianie naszego Data Labu (Koszykowa 75 Wa-wa) umieszczony jest monitor z kamerką. Czasem wyświetlona jest któraś z powyższych aplikacji. Można podejść i się pobawić.
Kto wie do jakiego aktora okażemy się podobni?

Wykresy unplugged – ćwicz rysowanie wykresów

Wykresy Unplugged to nasza nowa pozycja poświęcona wizualizacji danych. Pisałem o niej przed świętami (więcej informacji tutaj), ale pierwszy druk miał mały nakład i rozszedł się błyskawicznie.
Nic straconego!
Od kilku dni w księgarniach jest już dodruk. Poniżej krótki opis co znajdziecie w środku tej pozycji oraz gdzie można ją kupić.

W Esejach o wizualizacji danych znaleźć można sporo teorii ale niewiele ćwiczeń. Wykresy unplugged to głównie ćwiczenia (28 stron, A4, pełny kolor). Zeszyt wyposażony jest w 8 kompletów danych i ćwiczeń do samodzielnego wyrysowania. Wyrysowania ołówkiem i kredkami, nie ma co ograniczać się do możliwości nawet najlepszego programu graficznego. Obok ćwiczeń jest też kilka wkładek tematycznych o technikach wizualizacji. To zeszyt ćwiczeń dla każdej kreatywnej osoby, nawet zabieganego dyrektora działu Data Science.

Prace nad wykresami zaczęliśmy w okolicach UseR 2017 (jak widać opracowanie takiej pozycji trwa mniej więcej tyle co ciąża słonia). Książka powstała dzięki współpracy z Ewą Baranowską (entuzjastka D3 i grafiki interaktywnej), Piotrem Sobczykiem (autor między innymi Szychta w danych) oraz studiem graficznym storyvisio.

Wykresy unplugged można kupić w Wydawnictwach Uniwersytetu Warszawskiego, w Księgarni PWN lub znaleźć najtańszego dostawcę na ceneo.

Frajdy z rysowania wykresów!

x-mas tRees with gganimate, ggplot, plotly and friends

At the last homework before Christmas I asked my students from DataVisTechniques to create a ,,Christmas style” data visualization in R or Python (based on simulated data).

Libaries like rbokeh, ggiraph, vegalite, shiny+ggplot2 or plotly were popular last year. This year there are also some nice submissions that use gganimate.

Find source codes here. Plots created last year are here.
And here are homeworks from this year.

Trees created with gganimate (and gifski)



Trees created with ggplot2 (and sometimes shiny)









Trees created with plotly


Trees created with python


Trees created with rbokeh


Trees created with vegalite


Trees created with ggiraph

Który z nich zostanie najgorszym wykresem 2018?

Zbliża się Sylwester, czas więc wybrać najgorszy wykres roku 2018! Plebiscyt przeprowadzamy co roku od 2012 (edycja 2017,edycja 2016, edycja 2015, edycja 2014, edycja 2013, edycja 2012). Z roku na rok dostaję coraz ciekawsze zgłoszenia. Z tegorocznych zgłoszeń (oj, było ich bardzo dużo!) wybrałem 11 niezwykłych propozycji. Dziękuję wszystkim za podsyłanie nominacji.

Zasada plebiscytu jest prosta. Do końca roku można wskazywać swoje typy na najgorszy wykres, głosując za pomocą ankiety umieszczonej na końcu tego wpisu. W jednym dniu można głosować tylko raz. Jednocześnie można wskazać do 5 kandydatów. Po nowym roku zobaczymy, który wykres otrzymał najwięcej głosów. To on otrzyma tytuł „Zniekształcenie roku 2018”. Aby ułatwić głosowanie, każdy kandydat ma skrótową wpadającą w ucho nazwę.

Który wykres okaże się najgorszym wykresem 2018 roku? Wybierzcie sami.

1. Odra w Polsce

Poniższy wykres pochodzi z artykułu TVN24 Mniej szczepień, odra atakuje. Cytując fragment z tego artykułu ,,Jeszcze w 2010 roku zachorowań na odrę było w Polsce kilkanaście, w 2012 roku ponad 70, w zeszłym roku już 133 (http://www.tvn24.pl)”

Niby wszystko ok, wiadomo też, że warto się szczepić, wiec artykuł zgodny ze zdrowym rozsądkiem. Ale gdy przedstawić dane z ostatnich 14 lat prezentowane przez Rządowe Centrum Bezpieczeństwa to słupki powinny wyglądać tak.

Na czerwono zaznaczono dane przedstawione na wykresie TVN24. Problem z wykresem polega na wyborze danych psujących do historii, a nie zaprezentowanie kompletu danych.
Artykuł jest z 2017* roku, więc autor nie wiedział, że w 2017 całkowita liczba zachorowań będzie niższa. Ale dane z 2008, 2009 i 2015 już były dostępne, tyle że nie pasowały do trendu (*wykres trafił do mnie dopiero w tym roku, więc trafił do tegorocznego głosowania).
Problem z wykresem: wybiórcze prezentowanie danych.

2. Coraz lepiej

Poniższy wykres pochodzi z serwisu Budżet Wrocławia 2018. Cytując fragment wprowadzenia ,,Bez skomplikowanych tabel i wykresów prezentujemy wydatki miasta ”. Bardzo słuszny pomysł. Ale wykonanie? To akurat pierwszy wykres z tej strony www:

Lie factor 1.5.
(co to jest Lie-factor? tutaj definicja w języku angielskim a tu opis po polsku).
Paski na wykresie sugerują wzrost o 66% (stosunek 1:1.66) a w rzeczywistości patrząc na liczby wyniósł on 7.5% (stosunek 1:1.075). Pomijam fakt, że wzrost na 2017 był inny niż rok później, czego na wykresie nie widać. Pomijam fakt, że dochody są mniejsze od wydatków, co już się tak w oczy nie rzuca.
Problem z wykresem: paski, które nie są proporcjonalne do prezentowanych liczb. Sugerują większy wzrost dochodów niż w rzeczywistości.

3. Ratunku

Poniższy wykres pochodzi z raportu Pielęgniarki Cyfrowe. Można z niego odczytać, że najniższe zarobki są niższe niż najwyższe. Ale jakie to są kwoty odczytać trudno. Czy ten efekt pseudo 3D był potrzebny?

Problem z wykresem: pseudo-3D utrudnia odczytanie wartości, które odpowiadają prezentowanym słupkom.

Bonus to drugi wykres z tego raportu. Autor prawdopodobnie pomylił znaki nierówności w legendzie. Gdy się wczytać w opis tego wykresu to okazuje się, że ten 1% to jedna pielęgniarka z 400. Trudno odgadnąć też skąd ten szary kwadrat. Za los pielęgniarek trzymam kciuki, ale powinny znaleźć kogoś wymiaru Florence Nightingale do przygotowania wykresów do raportu.

4. Skala

Na Twitterze użytkownika pisorgpl w sierpniu można było znaleźć wykres pokazujący wzrost dochodów z VAT.

Brak osi OY sugerował, że coś może być z nią nie tak. Problem z zaczepianiem słupków w 0 zauważyła między innymi gazeta.pl i opisała w tym artykule.

Wykres pokazujący problem z portalu gazeta.pl

Proporcja najwyższego i najniższego słupka na wykresie to 239px/52px czyli ~4.6. Proporcje liczb to 167/99.
Lie factor ~2.75.

Problem z wykresem: słupki, które nie są zaczepione w 0.

5. Kto wyleczy ten wykres?

Jeżeli jesteśmy już w tematach Twittera, to na Twitterze NFZ można było znaleźć taką grafikę.

Na wykresie przedstawiono planowane wydatki. Wzrost wydatków o 7.7% przedstawiono za pomocą pięciokrotnie wyższego słupka.
Lie factor 4.

Problem z wykresem: słupki, które nie są zaczepione w 0.

6. Pochyl się nad absencją

Na stronie Rynku Pracy znaleźć można taki wykres.

Nie zawsze problem z słupkami polega na tym, że nie zaczynają się w 0. Czasem po prostu trudno odczytać gdzie się kończą. Konia z rzędem, kto odczyta czy absencja w usługach jest wyższa niż w produkcji.

Problem z wykresem: (zbędna) perspektywa i obroty utrudniają odczytanie wartości z wykresu.

7. Polska A, B, C, D, E, F i G

Na portalu Do Rzeczy opublikowano taki sondaż (który trafił do mnie przez Twittera).
Bardzo kreatywne podejście do przedstawiania wyników sondażu.

Problem z wykresem: prezentacja danych utrudnia odczytanie wartości z wykresu.

8. 20%

Było coś z mediów rządowych, to teraz coś od opozycji. Również dostałem namiary na ten wykres przez Twittera, więc przesyłam razem z całym twitem.
To 20% dla PO wygląda bardzo dumnie w zestawieniu z sąsiadującym 37%. Stosunek liczb 20/37 ~ 54/100, stosunek wysokości słupków 370px/458px ~ 81/100.
Lie factor ~1.5.

Kwiatków jest więcej. 17% dla ,nie wiem’ wygląda jak 7% dla partii Kukiza. Za to 6% dla Nowoczesnej jest bardzo daleko od tych 7% dla Kukiza.
Problem z wykresem: słupki nieproporcjonalne do prezentowanych wartości.

9. Od morza po góry

Często narzekam na wykresy z perspektywą, a to że utrudniają odczytanie wartości, a to że perspektywa to zbędny ozdobnik.
Ale tak pochylonego wykresu to jeszcze nie widziałem.

Problem z wykresem: zbędne pochylenie wykresu utrudnia odczytywanie danych z wykresu. Legenda po prawej stronie jest całkowicie zbędna.

10. Wykres zagadka

Ponownie wykres z Twittera. Obok słupków znajduje się informacja o 6% PKB na zdrowie w 2024 r. Ale wykres sugeruje, że w 2024 to już będzie prawie 8% (o ile na osi są %, przydałby się jakiś opis).

Problem z wykresem: opis nie pasuje do wykresu.

11. Kolorowo

Zejdźmy już może z polityki. Coś lżejszego na koniec. Wykres z profilu mojego pracodawcy – statystyki rekrutacji na UW. Zdobył moje serce podwójną legendą dla kolorów (Białystok i ekonomia dzielą się czerwonym, Radom i sinologia żółtym itp) i wykresem kołowym który nie przedstawia udziałów (studiów stacjonarnych na UW jest więcej niż te 6 wymienione w plasterkach kółka, poza tym z udziałami bardziej już kojarzy się liczba miejsc na kandydata niż kandydatów na miejsce). To nie jest tak, że dowolne kilka liczb można rzucić na wykres kołowy!


Problem z wykresem: szerokość białego wycinka koła sugeruje, że coś jest około 1/6 całości. Ale ta intuicja nie ma związku z prezentowanymi wartościami.


Ja swoich dwóch faworytów już mam. Zwycięski wykres trafi do Eseju Info-pomyłka. Jeżeli uda mi się zidentyfikować autora wykresu, to wyślę mu też jeden egzemplarz Esejów na pamiątkę. Ogłoszenie wyników plebiscytu po nowym roku.

Dziękuję wszystkim osobom, które przesłały mi swoje propozycje, nawet jeżeli nie znalazły się w powyższym zestawieniu. Ale sami widzicie, że konkurencja jest duża.

To kto powinien wygrać?

Który wykres zasługuje na tytuł ,,Zniekształcenie roku 2018''?

View Results

Loading ... Loading ...

Data, movies and ggplot2

Yet another boring barplot?
No!
I’ve asked my students from MiNI WUT to visualize some data about their favorite movies or series.
Results are pretty awesome.
Believe me or not, but charts in these posters are created with ggplot2 (most of them)!

Star Wars

Fan of StaR WaRs? Find out which color is the most popular for lightsabers!
Yes, these lightsabers are created with ggplot2.
Would you guess which characters are overweighed?
Find the R code and the data on the GitHub.

Harry Pixel

Take fames from Harry Potter movies, use k-means to extract dominant colors for each frame, calculate derivative for color changes and here you are.
The R code and the poster are here.
(steep derivatives in color space is a nice proxy for dynamic scenes).

Social Network for Super Heroes

Have you ever wondered how the distribution of super powers looks like among Avengers?
Check put this poster or dive in the data.

Pardon my French, but…

Scrap transcripts from over 100k movies, find out how many curse words you may find in these movies, plot these statistics.
Here are sources and the poster.
(Bonus Question 1: how curse words are related to Obama/Trump presidency?
Bonus Question 2: is the number of hard curse words increasing or not?)

Rick and Morty

Interested in the demography of characters from Rick and Morty?
Here is the R code and the poster.
(Tricky question: what is happening with season 3?)

Twin Peaks

Transcripts from Twin Peaks are full of references to coffee and donuts.
Except the episode in which the Laura’s murdered is revealed (ups, spoiler alert).
Check out this by yourself with these scripts.

The Lion King

Which Disney’s movie is the most popular?
It wasn’t hard to guess.

Box Office

5D scatterplots?
Here you have.

Next time I will ask my students to visualize data about R packages…
Or maybe you have some other ideas?

Zgłoszenia do tegorocznej edycji plebiscytu ,,Najgorszy wykresu roku”

Zbliża się koniec roku, a z nim siódma (!!!) edycja plebiscytu na najgorszy wykres roku (wykres, który jest wart tysiąca łez?).
Jeżeli widzieliście w papierowych lub elektronicznych mediach wykresy zniekształcające dane, powodujące, że prosta informacja staje się nieczytelna lub wprowadzająca w błąd zgłoście ją do konkursu!
Wykres/wizualizacja powinna być opublikowana w 2018 roku.
Zgłoszenia można przesyłać w komentarzach lub na adres email: przemyslawbiecek na serwerze gmail.com.

Mam już kilka ciekawych zgłoszeń, ale czekam na więcej.


Jakie wykresy stawały w szranki w poprzednich latach? (ubiegłoroczny zwycięzca po prawej)