Advanced R Programming 2400-MIKRO-AIBF-ARP
Kurs stanowi kontynuację praktycznej pracy rozpoczętej podczas zajęć „Wprowadzenie do sztucznej inteligencji” i koncentruje się na wykorzystywaniu programowania wspieranego przez AI do rozwiązywania bardziej złożonych problemów analitycznych. Uczestnicy pracują przez cały dzień w grupach liczących pięć lub sześć osób. Każda grupa otrzymuje inne zagadnienie biznesowe oparte na zbiorze danych Brazilian E-Commerce Public Dataset by Olist. Tematy obejmują satysfakcję klientów, strukturę sprzedaży, sprawność dostaw, jakość produktów oraz geograficzne rozmieszczenie klientów.
Punktem odniesienia dla pracy jest artykuł naukowy Matuszelańskiego i Kopczewskiej (2022), pokazujący, w jaki sposób ten sam zbiór danych może zostać wykorzystany do badania zachowań klientów i procesów biznesowych. Artykuł stanowi przykład łączenia metod analitycznych, programowania i merytorycznych pytań biznesowych w ramach spójnego badania empirycznego.
Każda grupa opracowuje własne podejście analityczne, formułuje szczegółowe pytania badawcze, przygotowuje potrzebne dane, tworzy i uruchamia kod w R, interpretuje wyniki oraz przygotowuje krótką prezentację w R Markdown. Uczestnicy wykorzystują narzędzia programistyczne oparte na AI, w tym Codex, do wspierania programowania i projektowania procesu analitycznego. Wygenerowany kod musi jednak zostać uruchomiony w RStudio, przeanalizowany, przetestowany i dostosowany do konkretnego problemu badawczego.
Kurs łączy naprzemiennie nauczanie metod analitycznych, zaawansowane zagadnienia programistyczne oraz ich bezpośrednie praktyczne zastosowanie. Nowe metody i techniki programowania są przedstawiane w krótkich blokach dydaktycznych, a następnie od razu wykorzystywane w projektach grupowych.
Pierwszy blok metodologiczny stanowi wprowadzenie do uczenia nienadzorowanego i metod klastrowania. Uczestnicy poznają ogólny cel analizy skupień oraz omawiają możliwości jej wykorzystania do identyfikowania znaczących grup klientów, produktów, transakcji lub wzorców sprzedaży. Kurs obejmuje metodę k-średnich oraz metodę grupowania wokół medoidów – Partitioning Around Medoids (PAM) – z uwzględnieniem zasad działania obu metod, ich implementacji w R oraz występujących między nimi różnic.
Uczestnicy uczą się, w jaki sposób dobór zmiennych, typy danych, miary odległości, metody skalowania oraz liczba skupień wpływają na uzyskane wyniki. Szczególną uwagę poświęca się merytorycznej interpretacji skupień oraz ocenie, czy zidentyfikowane grupy dostarczają wartościowych wniosków biznesowych, czy jedynie odzwierciedlają techniczne właściwości danych.
Drugi blok programistyczny koncentruje się na organizacji bardziej złożonych projektów analitycznych. Uczestnicy poznają zaawansowane funkcje, programowanie defensywne oraz programowanie obiektowe w języku R z wykorzystaniem systemów S3 i R6. Zastosowanie tych narzędzi jest przedstawiane w kontekście częstego problemu występującego w programowaniu wspieranym przez AI: generowania wielu niepowiązanych skryptów, które trudno weryfikować, modyfikować i ponownie wykorzystywać.
Zamiast traktować analizę jako ciąg luźno powiązanych promptów i skryptów, uczestnicy uczą się projektować modułowy proces analityczny. Poszczególne elementy mogą odpowiadać za przygotowanie danych, specyfikację i trenowanie modelu, generowanie predykcji, ocenę wyników, wizualizację oraz raportowanie. Funkcje i obiekty są wykorzystywane do przechowywania powiązanych informacji oraz tworzenia spójnej struktury, umożliwiającej dodawanie lub zastępowanie metod analitycznych.
W trakcie kursu prezentowane jest również, w jaki sposób starannie zaprojektowane funkcje, kontrole danych wejściowych, informacyjne komunikaty o błędach oraz dobrze zdefiniowane obiekty mogą zwiększyć niezawodność kodu analitycznego i ułatwić jego testowanie. Uczestnicy są zachęcani do zaplanowania struktury projektu przed zleceniem narzędziom AI wygenerowania poszczególnych elementów implementacji.
Blok poświęcony uczeniu nadzorowanemu wprowadza metody Random Forest i XGBoost jako narzędzia predykcyjne, które mogą wspierać analizę tematów biznesowych przydzielonych poszczególnym grupom. Uczestnicy poznają ogólne zasady działania zespołów drzew decyzyjnych oraz porównują bagging, reprezentowany przez Random Forest, z boostingiem, reprezentowanym przez XGBoost.
Blok obejmuje interpretację predykcji, ocenę jakości modeli oraz analizę ważności zmiennych, przy jednoczesnym podkreśleniu ograniczeń tych miar. Uczestnicy stosują poznane metody do pytań opracowanych przez swoje grupy i rozważają, w jaki sposób modele predykcyjne mogą wspierać zrozumienie satysfakcji klientów, sprawności dostaw, wyników sprzedaży, jakości produktów lub innych istotnych zjawisk biznesowych.
Modele są implementowane w ramach modułowych procesów analitycznych opracowanych podczas bloku programistycznego. Uczestnicy wykorzystują funkcje i struktury obiektowe do organizowania przygotowania danych, trenowania modeli, oceny wyników i ich prezentacji. Pozwala to porównywać różne modele bez konieczności każdorazowego tworzenia całej analizy od początku.
Końcowa część kursu jest poświęcona dokończeniu projektów i przygotowaniu prezentacji grupowych. Każda grupa przedstawia przeprowadzony proces analityczny, najważniejsze wyniki oraz wynikające z nich rekomendacje biznesowe. Prezentacja powinna pokazywać jasną ścieżkę prowadzącą od pierwotnego pytania biznesowego, przez przygotowanie danych i modelowanie, do możliwego do zinterpretowania wniosku.
Po prezentacjach odbywa się wspólna dyskusja dotycząca zastosowanych metod, uzyskanych wyników i sformułowanych rekomendacji. Uczestnicy porównują swoje podejścia, zastanawiają się nad wiarygodnością wniosków oraz rozważają możliwości wykorzystania wyników w rzeczywistym kontekście biznesowym.
Kurs umożliwia także refleksję nad pracą pod presją czasu przy wsparciu narzędzi AI. Uczestnicy omawiają sposoby podziału zadań analitycznych w zespole, koordynowania kodu i wyników, obszary, w których AI może zwiększać efektywność, oraz sytuacje, w których niezbędne pozostają wiedza merytoryczna, krytyczne myślenie i weryfikacja przez człowieka. Techniki promptowania poznane podczas wcześniejszych zajęć są zatem wykorzystywane w kontekście kompletnego projektu analitycznego, a nie jedynie w ramach odrębnych ćwiczeń.
Projekt Application of Artificial Intelligence in Business and Finance (nr BPI/SPI/2024/1/00078) realizowany przez Uniwersytet Warszawski w ramach programu Spinaker organizowanego przez Narodową Agencję Wymiany Akademickiej (w ramach projektu Wsparcie tworzenia i realizacji międzynarodowych programów kształcenia, finansowanego ze środków Funduszy Europejskich dla Rozwoju Społecznego 2021-2027).
Koordynatorzy przedmiotu
Certyfikat mikropoświadczenia
Efekty uczenia się
Po ukończeniu przedmiotu osoba biorąca udział w zajęciach
w sferze wiedzy:
● zna i rozumie rolę zaawansowanych praktyk programistycznych w złożonych projektach analitycznych;
● rozumie zasady projektowania modułowych i reprodukowalnych procesów analitycznych;
● zna i rozumie podstawowe zasady uczenia maszynowego nadzorowanego i nienadzorowanego;
● rozumie sposób działania metod grupowania k-średnich i PAM;
● wie, w jaki sposób dobór zmiennych, skalowanie i miary odległości wpływają na wyniki grupowania;
● rozumie ogólne zasady działania metod Random Forest i XGBoost;
● rozumie różnicę między baggingiem a boostingiem;
● zna i rozumie podstawowe zasady programowania obiektowego w języku R;
● zna najważniejsze właściwości systemów S3 i R6;
● rozumie rolę zaawansowanych funkcji i programowania defensywnego w podnoszeniu jakości kodu;
● rozumie korzyści i ograniczenia programowania wspieranego przez AI;
● rozumie znaczenie weryfikacji przez człowieka w pracy analitycznej wspieranej przez sztuczną inteligencję.
w sferze umiejętności:
● potrafi formułować pytania biznesowe i badawcze, na które można odpowiedzieć za pomocą analizy danych;
● potrafi zaprojektować uporządkowane badanie analityczne;
● potrafi pracować ze złożonym, wielotabelowym zbiorem danych biznesowych;
● potrafi przygotować dane do zastosowania metod uczenia nadzorowanego i nienadzorowanego;
● potrafi stosować i interpretować metody grupowania k-średnich i PAM w języku R;
● potrafi dobierać odpowiednie zmienne, przekształcenia i miary odległości na potrzeby analizy skupień;
● potrafi trenować i porównywać modele Random Forest i XGBoost;
● potrafi oceniać jakość modeli i krytycznie interpretować ich wyniki;
● potrafi pisać funkcje przeznaczone do wielokrotnego wykorzystania oraz stosować zasady programowania defensywnego;
● potrafi wykorzystywać obiekty S3 i R6 do organizowania kodu analitycznego i wyników;
● potrafi zaprojektować modułowy proces obejmujący przygotowanie danych, modelowanie, ocenę wyników i ich prezentację;
● potrafi wykorzystywać narzędzia AI do wspierania tworzenia kodu bez przenoszenia na nie odpowiedzialności za końcowy rezultat;
● potrafi analizować, testować, poprawiać i udoskonalać kod R wygenerowany przez AI;
● potrafi przekładać wyniki analiz na jasne i oparte na danych rekomendacje biznesowe;
● potrafi zaprezentować i uzasadnić wyniki grupowego projektu analitycznego.
w sferze kompetencji społecznych:
● jest gotowa do współpracy przy rozwiązywaniu złożonego problemu analitycznego;
● jest gotowa do dzielenia zadań, koordynowania pracy i współdzielenia odpowiedzialności w grupie;
● jest gotowa do krytycznej oceny kodu i wniosków przygotowanych przy wsparciu AI;
● jest gotowa do przyjmowania odpowiedzialności za wiarygodność końcowej analizy;
● jest gotowa do rozróżniania jakości predykcyjnej modelu od merytorycznej interpretacji jego wyników;
● jest gotowa do komunikowania wyników analiz osobom o różnym poziomie wiedzy technicznej;
● jest gotowa do refleksji nad możliwościami i ograniczeniami wykorzystywania AI w warunkach presji czasu;
● jest gotowa do modyfikowania swojego podejścia analitycznego w odpowiedzi na dowody, informacje zwrotne i wyniki weryfikacji.
Kryteria oceniania
Efekty uczenia się są oceniane na podstawie grupowego projektu analitycznego oraz jego prezentacji.
W ocenie uwzględnia się jakość pytań badawczych, poprawność i organizację kodu w języku R, właściwe zastosowanie metod analitycznych, krytyczną interpretację wyników, reprodukowalność procesu analitycznego oraz trafność rekomendacji biznesowych.
Ocena końcowa jest ustalana indywidualnie na podstawie wyników testu końcowego.
Literatura
Matuszelański, K., Kopczewska, K. (2022). Customer Churn in Retail E-Commerce Business: Spatial and Machine Learning Approach. „Journal of Theoretical and Applied Electronic Commerce Research”, 17(1), 165–198.
Prezentacje, zbiory danych, instrukcje dotyczące pracy grupowej oraz materiały programistyczne udostępnione uczestnikom.