Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



23.01.2020

Google Project Zero

Inicjatywa Google Project Zero
23.01.2020

Ochrona tylko w chmurze

Kaspersky Security Cloud Free
23.01.2020

Eksport SI pod lupą

Export Control Reform Act
23.01.2020

Orkiestracja na medal

Bug bounty dla Kubernetes
23.01.2020

Długie pożegnanie

Chrome na Windows 7
23.01.2020

Dell XPS 13

Dell zaprezentował najnowszą odsłonę laptopa będącego jednym z najczęstszych wyborów...
23.01.2020

Inteligentne drukowanie

Ricoh IM C300, C400
23.01.2020

Bezpieczny punkt dostępowy

D-Link Covr AC2200
23.01.2020

Elastyczny laptop

Lenovo ThinkPad X1 Fold

Sztuczna inteligencja w Power BI

Data publikacji: 21-01-2020 Autor: Marcin Szeliga
Rys. 1. Power BI pomaga...

Zbieranie szczegółowych danych na temat każdego aspektu działalności firmy nie jest już wyzwaniem – większość obecnie dostępnych programów udostępnia przetwarzane w nich dane nie tylko za pośrednictwem standardowo wbudowanych raportów, ale również pozwala na ich eksportowanie i odczytywanie za pomocą zewnętrznych narzędzi.

 

Głównym problemem jest zrozumienie specyfiki szybko rosnących zbiorów danych, wydobycie ukrytych w nich wartościowych wzorców i wykorzystanie pozyskanych informacji do podejmowania decyzji biznesowych. Tu z pomocą przychodzą narzędzia do samodzielnej analizy danych, takie jak Power BI. Chociaż usługa Power BI cieszy się ogromną popularnością, niewielu jej użytkowników wie, że pozwala ona w prosty sposób korzystać z zaawansowanych metod uczenia maszynowego. A jeszcze mniej osób potrafi prawidłowo używać tych narzędzi.

 

> PRZYGOTOWANIE DANYCH

 

Sztuczna inteligencja w Power BI jest używana do zautomatyzowanych analiz oraz wzbogacania modeli uczenia maszynowego. Ponadto Power BI jest w pełni zintegrowane z API usług poznawczych Microsoft, co oznacza, że pozwala korzystać z tych usług za pośrednictwem języków Power BI, takich jak np. Power Query (M). W niniejszym artykule przyjrzymy się funkcjom pozwalającym na automatyczną analizę danych. 
Użyte w poniższych przykładach dane pochodzą z:
 
  • przykładowego raportu „Sales and Marketing Sample PBIX” – dostępny na stronie Microsoftu: tinyurl.com/SamplePBIX
  • biblioteki ggplot2 języka R – jeżeli na komputerze zainstalowany jest język R i Power BI zostało skonfigurowane do pracy z tym językiem, przykładowe dane możemy załadować, wybierając opcję Pobierz dane Skrypt języka R. W polu skryptu należy wpisać i uruchomić poniższe instrukcje:

 
install.packages("ggplot2")
dat <- ggplot2::diamonds
 
Po zaznaczeniu tabeli dat można załadować dane do modelu. Alternatywnym sposobem jest pobranie pliku CSV z tymi danymi z repozytorium GitHuba: tinyurl.com/ggplot2dat.
 
> PYTANIA I ODPOWIEDZI
 
W dzisiejszym świecie coraz częściej komunikujemy się z maszynami za pomocą języka naturalnego. Wielu z nas korzysta z pomocy wirtualnych asystentów, takich jak Alexa, Google, Cortana czy Siri. Jeszcze popularniejsze są chatboty, czyli wirtualni doradcy, z którymi można rozmawiać i z ich pomocą realizować określone zadania. Power BI również umożliwia analizowanie danych za pomocą języka naturalnego (niestety, na liście wspieranych języków nie znajdziemy polskiego). Umożliwiająca to wizualizacja Pytania i odpowiedzi pozwala odczytywać, wybierać, analizować i wizualizować dane bez pisania skomplikowanych zapytań. Wizualizacja ta dostępna jest zarówno w programie Power BI Desktop, jak i na portalu powerbi.com. Jako że program Power BI Desktop jest darmowy i ogólnie dostępny w internecie, korzystanie z pierwszej opcji nie wymaga zakupu licencji – do zalogowania wystarczy licencja darmowa. Niektóre funkcjonalności, w tym Pytania i odpowiedzi, wymagają jednak posiadania płatnej licencji pro lub premium.
 
Pracę zaczynamy od zapytania o liczbę produktów należących do poszczególnych kategorii. Po kliknięciu znajdującego się na pasku narzędzi przycisku Zadaj pytanie do raportu dodana zostanie odpowiednia wizualizacja. Wystarczy wpisać w niej pytanie, na które chcemy uzyskać odpowiedź, np. show count of product by product category (rys. 1).
 
Można oczywiście zapytać o wybrane produkty, np. wpisując pytanie show products where the product manufacturer is Abbas. Możliwe jest również grupowanie i sortowanie danych, co łatwo sprawdzić, pytając np. o sprzedaż produktów firmy Abbas z podziałem na kategorie: show products by product category and sales $ where the product manufacturer is Abbas (product manufacturer) order sales $. Jak widać, typ wizualizacji jest automatycznie dostosowywany do zwracanego wyniku. Można jednak jawnie poprosić o przedstawienie wyników w wybrany sposób – w tym celu wystarczy dopisać as <wizualizacja>  (rys. 2).
 
Niektóre wizualizacje wymagają pogrupowania danych w odpowiedni sposób. Na przykład na pytanie show sales $ on map dostajemy odpowiedź $7 mld, czyli całkowitą wartość sprzedaży. Żeby zobaczyć odpowiedź na mapie, musimy podać jakiś atrybut, który pozwoli powiązać wartość sprzedaży ze współrzędnymi geograficznymi, np. nazwę produktu: show sales $ by product as filled map. Omawiana wizualizacja pozwala również wybierać i grupować dane: na podstawie dat, np. zadać pytanie: Show daily sales $ between Jan 2014 and Dec 2014 (date) as line chart.
 
> MODEL DANYCH I SZCZEGÓŁOWE INFORMACJE
 
Działanie omawianej funkcji jest bardzo proste. Power BI szuka w pytaniach słów kluczowych, takich jak by wizualizacja, oraz nazw miar i atrybutów odczytywanych z nagłówków kolumn. Wynika z tego, że im lepiej przygotowujemy model danych, tym sensowniejsze odpowiedzi będą zwracane na większy zakres pytań. W szczególności powinniśmy połączyć tabele odpowiednimi relacjami oraz prawidłowo określić typ i format kolumn. Równie ważny jest sposób zadania pytania. Jeżeli jakaś jego część nie zostanie zrozumiana, zostanie ona podkreślona. Kliknięcie takiej niezrozumiałej frazy spowoduje wyświetlenie sugestii jego przeformułowania. Będziemy też mogli samodzielnie zdefiniować taki termin, np. przypisać go do wybranego atrybutu lub miary (rys. 3).
 
Druga, równie prosta w użyciu i jednocześnie przydatna funkcja dostępna jest wyłącznie w portalu powerbi.com. Pozwala ona jednym kliknięciem myszki wyszukać w zestawie danych potencjalnie interesujące informacje. Po wybraniu opcji Szybki wgląd w szczegółowe informacje (rys. 4) znalezione zostaną:
 
  • wartości odstające – takie jak np. wyraźnie wyższa od pozostałych sprzedaż produktów firmy VanArdsel,
  • zmiany w trendzie i sezonowość – dotyczy szeregów czasowych,
  • silnie skorelowane zmienne – takie jak np. Total Units YTD i Total OTHER Units YTD,
  • wartości o małej zmienności (wariancji) – np. rozkład produktów w rejonach.
 
> KLUCZOWE ELEMENTY
 
W lutym minionego roku Power BI otrzymało wizualizację Kluczowe elementy mające wpływ. To pierwsza wizualizacja, która automatycznie tworzy i trenuje na dostarczonych danych modele uczenia maszynowego, a następnie używa tych modeli do wyjaśnienia ukrytych w danych wzorców. Po wybraniu analizowanych zmiennych wizualizacja ustala, co ma na nią największy wpływ, i znajduje potencjalnie interesujące segmenty.
 
Jeżeli analizowana zmienna jest ciągła, trenowany jest model regresji liniowej. Takie modele stosowane są do modelowania liniowych zależności pomiędzy wieloma zmiennymi objaśniającymi x a ciągłą, czyli przyjmującą nieskończenie wiele wartości, zmienną objaśnianą y:
 
y = f(x) = b0 + b1x1 + b2x2 + … + bm xm
 
Podczas uczenia model znajduje optymalne wartości parametrów b0… bm, gdzie b0 jest wyrazem wolnym, a b1… bm parametrami kolejnych zmiennych wejściowych. Nauczony model zwraca obliczoną wartość zmiennej wyjściowej.
 
Jeżeli analizowana zmienna jest kategoryczna, trenowany jest model regresji logistycznej. Takie modele stosowane są do modelowania liniowych zależności pomiędzy wieloma zmiennymi objaśniającymi a kategoryczną, czyli przyjmującą określoną liczbę stanów, zmienną objaśnianą. Nauczony model zwraca prawdopodobieństwo, z jakim przykłady należą do jednej z możliwych klas. Ponieważ funkcja liniowa zwraca wartości z zakresu od -∞ do ∞, trudno interpretować jej wyniki jako prawdopodobieństwo. Nie wiadomo, co miałyby oznaczać wartości mniejsze od zera i większe od 1. Potrzebna jest więc inna funkcja, najlepiej zwracająca wartości z zakresu od 0 do 1, które łatwo można zinterpretować jako prawdopodobieństwa. Doskonale nadaje się do tego funkcja sigmoidalna. Wyniki funkcji sigmoidalnej można traktować jako prawdopodobieństwo, z jakim przykład należy do klasy pozytywnej. Im większy wynik funkcji, tym większe prawdopodobieństwo, że mamy do czynienia z przykładem klasy pozytywnej. A jeżeli przekroczy ono określoną wartość progową, uznamy, że wynikiem predykcji jest klasa pozytywna.
 
Modele regresji liniowej i logistycznej należą do jednych z najczęściej stosowanych modeli uczenia maszynowego. Dzięki swojej prostocie uczenie jest szybkie i skalowalne, a więc nie wymaga dużej mocy obliczeniowej ani dużo pamięci RAM. W dodatku prostota modelu zmniejsza ryzyko jego nadmiernego dopasowania. Jednak modele regresji liniowej i logistycznej prawidłowo reprezentują zależności między zmiennymi, o ile zmienne wejściowe są liniowo skorelowane z wyjściową (założenie liniowości), w danych nie występują wartości odstające (założenie normalności rozkładu), a korelacje między zmiennymi objaśniającymi nie są zbyt silne (założenie niezależności zmiennych wejściowych). Jeżeli któreś z tych założeń nie jest spełnione, otrzymane wyniki mogą być błędne.
 

[...]

 

Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie; jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional. 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"