Not only LIME

I’ve heard about a number of consulting companies, that decided to use simple linear model instead of a black box model with higher performance, because ,,client wants to understand factors that drive the prediction’’.
And usually the discussion goes as following: ,,We have tried LIME for our black-box model, it is great, but it is not working in our case’’, ,,Have you tried other explainers?’’, ,,What other explainers’’?

So here you have a map of different visual explanations for black-box models. Choose one in (on average) less than three simple steps.

These are available in the DALEX package. Feel free to propose other visual explainers that should be added to this map (and the package).

Ceteris Paribus Plots – a new DALEX companion

If you like magical incantations in Data Science, please welcome the Ceteris Paribus Plots. Otherwise feel free to call them What-If Plots.

Ceteris Paribus (latin for all else unchanged) Plots explain complex Machine Learning models around a single observation. They supplement tools like breakDown, Shapley values, LIME or LIVE. In addition to feature importance/feature attribution, now we can see how the model response changes along a specific variable, keeping all other variables unchanged.

How cancer-risk-scores change with age? How credit-scores change with salary? How insurance-costs change with age?

Well, use the ceterisParibus package to generate plots like the one below.
Here we have an explanation for a random forest model that predicts apartments prices. Presented profiles are prepared for a single observation marked with dashed lines (130m2 apartment on 3rd floor). From these profiles one can read how the model response is linked with particular variables.

Instead of original values on the OX scale one can plot qunatiles. This way one can put all variables in a single plot.

And once all variables are in the same scale, one can compare two or more models.

Yes, they are model agnostic and will work for any model!
Yes, they can be interactive (see plot_interactive function or examples below)!
And yes, you can use them with other DALEX explainers!
More examples with R code.

RODO + DALEX, kilka słów o moim referacie na DSS


W przyszły piątek (8 czerwca) na wydziale MiNI PW odbędzie się konferencja Data Science Summit.
W sali 107 pomiędzy 10:50 a 11:20 ma miejsce mój referat Wyjaśnij! Jak budować wyjaśnialne modele ML / AI i jak to się ma do RODO?, na który serdecznie zapraszam.

Planuję opowiedzieć o temacie, który wciąga mnie coraz bardziej, czyli wyjaśnialnym AI (XAI). Jak to się ma do RODO i o co chodzi z pogłoskami o ,,prawie do wyjaśnienia”?

To będzie techniczny referat (sorry, żadnych zdjęć kotów czy psów, być może jakieś zdjęcia robotów). Pokażę jak konstruować i używać wykresy breakDown (i powiem dlaczego są lepsze niż LIME czy wartości Shapleya), będzie też mowa o najnowszym wyniku naszego zespołu, czyli wykresach What-If.

Osoby zainteresowane tematem, ale nie planujące udziału w konferencji, zapraszam do lektury dokumentacji DALEXa.

Btw: Na konferencji DSS planowany jest hackaton ,,Conquer urban data”, organizowany przez dr Marcina Lucknera. Hataton wykorzystujący dane z API Warszawy. Warto tam zajrzeć.

Maraton Analizy Danych, czyli niedzielna notatka z pamiętnika nauczyciela akademickiego


Miałem dzisiaj przyjemność uczestniczyć w pracach jury podczas Maratonu Analizy Danych, wydarzenia zorganizowanego przez koło SNK Data Science Management z SGH. Hakaton trwał 24h, a po maratonie były jeszcze 3h prezentacji. W maratonie wzięły udział zespoły głównie z UW, PW i SGH, choć byli też uczestnicy z innych uczelni, również spoza Warszawy.

Przestrzeń na hakaton bardzo przyjemna (Mysia 3), organizacja świetna (ale czy czegoś innego można się spodziewać po kole z SGH?). To był jeden z bardzo nielicznych hakatonów, w którym duży nacisk położono na faktyczną analizę danych.

Takie imprezy robią na mnie duże wrażenie. Młodzi ludzie, przez cały dzień i całą noc walczą z jakimś problemem, a później jeszcze mają siłę pokazać wyniki innym zespołom.
Ach te studenckie czasy!
Wśród rozwiązań dominował R i Python, sporo było map (oczywiście leaflet), były aplikacje Shiny, a nawet w prezentacjach pojawił się jakiś PowerBI. Od strony metodologicznej dało się wyczuć dwa rodzaje podejść, nazwijmy je umownie podejściem maszynowym (jak model to random forest albo xgboost) i statystycznym (aż po statystykę Morana dla danych przestrzennych). To już same w sobie było świetne, uczestnicy zostali wystawieni na nowe (dla części z nich) algorytmy i podejścia do analizy danych.

Lubię takie wydarzenia, ponieważ pokazują jakie kompetencje posiadają najaktywniejsi studenci (ech, to spaczone spojrzenie nauczyciela akademickiego).
Od strony narzędziowej zespoły prezentowały bardzo wysoki poziom (a to studenci I i II stopnia), niesamowite co udało się zrobić w 24h. Od strony prezentacyjnej poziom też był wysoki. Czytelne sensowne przedstawianie problemu i rozwiązania. Były zespoły, które zdążyły zrobić i analizę i aplikację webową i bardzo graficznie dopracowaną prezentację. Znacznie wyższy poziom niż +-10 lat temu gdy prezentacje projektów bywały drętwe.

Ponieważ jestem człowiekiem, dla którego do szklanki zawsze można jeszcze trochę dolać, więc i tutaj zastanawiałem się jakie kompetencje dotyczące analizy danych można by dalej rozwinąć.

I wyszło mi, że wąskim gardłem było najczęściej samo określenie problemu do rozwiązania. Często (a pisząc często rozszerzam to i na inne znane mi hakatony i na znane mi projekty uczelniane) analiza danych jest ,,data-driven” a nie ,,problem-driven”.
Wychodzi się od dostępnego zbioru danych i zastanawia jaki by tu problem z tych danych rozwiązać. W konsekwencji gdy już wydaje się, że ten problem się rozwiązało, okazuje się, że te dane niespecjalnie się do tego problemu nadawały. Czy to z powodu agregacji, czy zakresów czy czegoś innego.
Pozostawia to pewien niedosyt. Widać było ciekawy problem, widać było wysiłek i umiejętności, ale rozwiązanie nie jest w pełni satysfakcjonujące z uwagi na ,,zniewolenie myślenia przez te konkretne dane”. Rozwiązanie nie jest wymuskane, lśniące, pachnące itp.
Potraktowałbym to jako wskazówkę dla prowadzących przedmioty projektowe na uczeniach, by większy nacisk włożyć na krytyczną ocenę potencjału wykorzystania określonego źródła danych.

Tak czy inaczej Maraton Analizy Danych był fantastycznym wydarzeniem pełnym pozytywnej energii. To była pierwsza edycja, oby były kolejne.
Najbliższy hakaton związany z analizą danych odbędzie się za dwa tygodnie, podczas konferencji Data Science Summit (nasza fundacja jest partnerem!).
Z pewnością też tam będę 😉

DALEX @ eRum 2018

DALEX invasion has started with the workshop and talk @ eRum 2018.

Find workshop materials at DALEX: Descriptive mAchine Learning EXplanations. Tools for exploration, validation and explanation of complex machine learning models (thanks Mateusz Staniak for having the second part of the workshop).

And my presentation Show my your model 2.0! (thanks go to the whole MI2DataLab for contributions and Malgorzata Pawlak for great stickers).

ML nad Wisłą

28 maja odbędzie się pierwsze Warszawsko-Krakowskie Spotkanie Naukowe dotyczące uczenia maszynowego. Wspólne seminarium grup GUM (UJ) i MI2 (UW + PW) zajmujących się Machine Learningiem. Lista pięciu planowanych referatów jest tutaj (strona będzie uzupełniana). To pierwsze spotkanie, planowane są kolejne, na zmianę w Krakowie i Warszawie. Wstęp wolny. Będzie czas na poznanie się. Zapraszamy osoby zainteresowane poważniejszymi badaniami w obszarze ML.

W marcu odbyła się Gala Konkursu Data Science Masters na najlepszą pracę magisterską z obszaru Machine Learning i Data Science. Otrzymaliśmy w konkursie 72 prace z 17 uczelni! Zwycięzcy pierwszej edycji to: Tomasz Wąs (UW), Mateusz Susik (UW), Aleksander Nosarzewski (SGH). Wyróżnienia otrzymali: Dymitr Pietrow (WUT), Agnieszka Sitko (UW), Urszula Mołdysz (PŚ). Więcej informacji o nagrodzonych pracach na tej stronie (trochę trwało jej uzupełnienie). Dziękujemy Nethone (grupa DaftCode) za ufundowanie nagród.

Z okazji 100-lecia GUS w lipcu odbędzie się II Kongres Statystyki Polskiej. Więcej informacji na tej stronie. Jeszcze przez kilka dni można zgłaszać propozycje referatów. Jest kilka bardzo ciekawych sesji, np. poświęcona statystyce polskiej, analizie danych czy danym statystycznym.

Grupa europejskich badaczy ML apeluje do UE o utworzenie ELLIS: European Lab for Learning & Intelligent Systems, badawczego instytutu uczenia maszynowego na styku akademii i biznesu. Także w naszym kraju trwają prace nad powołaniem instytutu badawczego zajmującego się analizą danych. Robocza nazwa NISAD. Osoby zainteresowane tą inicjatywą zapraszam na priv.

Ministerstwo nauki ogłosiło konkurs na drugą edycję Doktoratów Wdrożeniowych. To może być ciekawa propozycja dla świeżych absolwentów pracujących w działach badawczych firm zainteresowanych zaawansowanym ML. Do tego programu można zgłaszać się jeszcze przez miesiąc.

How fractals helped my students to master package development in R

Last semester I taught an R programming at MIMUW. My lectures are project oriented, the second project was related to package development. The idea was straightforward: each team of students shall create a package that produces IFS fractals (based on iterated function systems). Each package shall have two generic functions: create() and plot(), documentation and vignette. Fractals shall be implemented with the use of S3 or S4 classes.

I have students with different backgrounds. Mostly statistics, but some are from physics, psychology or biology. I was a bit unsure how they will deal with concepts like iterated contractions.
After all results exceeded my expectations.

Guess what is happening with students engagement when their packages start producing nice plots. Their need/hunger for more leads to beautiful things.

This team got interested in nonlinear transformations. They manage to create Apollonian Gasket generator and much more. See their vignette and package here.

Screen Shot 2018-03-09 at 7.31.24 PM

This team got interested in probabilistic mixtures of two fractals. They developed a Shiny app that mixes two sets of contractions with given mixture proportions. Here is a mixture of Sierpinski gasket and a tree. Find out their vignette here.

Screen Shot 2018-03-09 at 7.29.58 PM

This team got interested in random fractals. They developed fractal generator that draws parameters of each contraction. In result they get beautiful random shapes like these. Here is their vignette.

Screen Shot 2018-03-09 at 7.37.42 PMScreen Shot 2018-03-09 at 7.37.31 PMScreen Shot 2018-03-09 at 7.37.26 PM

And these two teams got interested in different ways of fractal colouring. Vignettes of Team 1 and Team 2

Screen Shot 2018-03-09 at 7.40.15 PMScreen Shot 2018-03-09 at 7.36.01 PMScreen Shot 2018-03-09 at 7.31.05 PM

After all it turns out that fractals are very addictive!
Use it with care 😉

DALEX: understand a black box model – conditional responses for a single variable

Black-box models, like random forest model or gradient boosting model, are commonly used in predictive modelling due to their elasticity and high accuracy. The problem is, that it is hard to understand how a single variable affects model predictions.

As a remedy one can use excellent tools like pdp package (Brandon Greenwell, pdp: An R Package for Constructing Partial Dependence Plots, The R Journal 9(2017)) or ALEPlot package (Apley, Dan. Visualizing the Effects of Predictor Variables in Black Box Supervised Learning Models (2016)).
OR
Now one can use the DALEX package to not only plot a conditional model response but also superimpose responses from different models to better understand differences between models.

Screen Shot 2018-02-19 at 12.27.58 AM

Consult the following vignette to learn more about the DALEX package and explainers for a single variable.

DALEX_single_variable

OR
if you want to learn more about explainers, join our DALEX Invasion!
Find our DALEX workshops at SER (Warsaw, April 2018), ERUM (Budapest, May 2018), WhyR (Wroclaw, June 2018) or UseR (Brisbane, July 2018).

0 -> 1

MTH
Rysunek po prawej stronie to zdjęcie okładki książki Scotta Berkuna. Ładnie oddaje urok chwili, w której rodzą się nowe pomysły.
Scott pisze wiele na temat zarządzania projektami innowacyjnymi i na temat samej innowacyjności. Warto poczytać i posłuchać.

Przypomniała mi się ta książka i ten obrazek gdy oglądałem trzeci projekt studentów z Technik Wizualizacji Danych [MiNI PW] i Programowanie i Wizualizacja w R [MIM UW].
To dwa różne kursy, ale zrobiłem im wspólny trzeci projekt i wspólną prezentację – wynikowe plakaty wiszą na 2. piętrze wydziału MiNI.
Zadanie było sformułowane mgliście i ogólne: przygotuj plakat formatu A2 pokazujące wybrany temat dotyczący Polski lub Europy. Możesz użyć ggplot2.
Zostało sporo miejsca dla autorów na sprecyzowanie pomysłu i formy prezentacji.
Co z tego wyszło? Poniżej część zgłoszonych plakatów.

Jeżeli któryś przypadnie Ci drogi czytelniku do gustu, to do końca tygodnia możesz na niego zagłosować. Wystarczy, że zeskanujesz telefonem kod QR umieszony w prawym górnym rogu (część punktów z projektu studenci otrzymują za otrzymane głosy, jedno urządzenie liczy się jako jeden głos).
Ciekaw jestem na ile preferencje szerszej grupy odbiorców będą się zgadzać z moimi.

Tematy większości plakatów są bardzo ciekawe, wykonanie bardzo dobre. Kliknij by powiększyć.

p3v01ppvp3v14p3v13p3v12p3v11p3v10p3v09p3v08p3v07p3v06p3v05p3v04p3v03p3v02p3v15p3v16v13

Top interactive visualizations of movie scripts

One of the highest pleasures for an academic teacher is to be surprised by an extraordinary student’s project or homework. Something that greatly exceeds expectations. I’ve reoriented my courses in a way to make such surprises frequent.
The second project in my Data Visualisation classes was related to interactive graphics. The task was to create an interactive graphics/app/tool that summarizes scripts from a selected movie or series.

Here are the top 6 visualizations created by my students. Mostly with R.

Harry Potter

Which duelling spells were cast most often in which book from the Harry Potter series?
Find out here.

HarryPotter

Avengers

Which emotions are the most common for your favorite Avenger?
Find out here.

Avengers

Games of Thrones

Which Starks are mentioned frequently in Season 6?
Find out here.

GameOfThrones

The Lion King

What Simba felt during The Lion King?
Find out here.

LionKing

Pulp Fiction

What is the f**k factor for different characters in the Pulp Fiction?
Find out here.

pulpFiction

Léon The Professional

Which character is the most angry in the Léon The Professional?
Find out here.

Leon