piątek, 13 listopada 2015

SPSS Modeler & Spark


W ostatnich dnia września wypuszczona została nowa wersja programu IBM SPSS Modeler – wersja 17.1. Główną funkcjonalnością owej wersji jest integracja z silnikiem przetwarzania danych Apache SPARK


Wspomniana integracja oznacza, że wszystkie procedury, dla których dostępna była opcja Hadoop-Pushback, mogą być wykonane nie tylko z wykorzystaniem MapReduce, ale także SPARK-a, przy czym w pierwszej kolejności SPSS będzie wykorzystywał SPARK-a, a gdy ten nie jest dostępny, to SPSS wykorzysta MapReduce. Szczegółową listę procedur wspierających Hadoop-Pushback można znaleźć w dokumentacji.


Najnowsza wersja programu została także wzbogacona o dodatkowe, napisane pod kątem przetwarzania równoległego w klastrze Hadoop, algorytmy:

  • Random Trees – IBM-owska implementacja algorytmu lasy losowe,
  • drzewo AS – drzewo dezyzyjne Chaid,
  • GLE - uogólnione modele liniowe,
  • Liniowy AS - czyli modele liniowe,
  • LSVM – metoda wektorów nośnych.

Jak widać jedynie pierwszy z wymienionych węzłów wprowadza do SPSS nowy algorytm, pozostałe powstały w wyniku przepisania istniejących algorytmów w sposób pozwalający w pełni wykorzystać przetwarzanie równoległe w Hadoop.



W związku z tym, że algorytmów przepisanych na architekturę Hadoop przybywa, to doczekały się one osobnej zakładki na karcie Modelowanie.


Na tym jednak nie koniec ulepszeń. Idąc krok dalej, Kreator Niestandardowych Okien Dialogowych został rozbudowany o możliwość wykorzystania języka Python dla Spark (PySpark). Funkcjonalność ta zapewnia użytkownikom SPSS dostęp do algorytmów uczenia maszynowego napisanych w Sparku

Co więcej, kreator niestandardowych okien dialogowych został rozbudowany o możliwość wykorzystanie również języka Python dla Sparka - PySpark. Oznacza to, że użytkownicy SPSS Modeler zyskują dostęp do biblioteki modeli algorytmów uczenia maszynowego napisanych w SparkuMllib.


W bibliotece znajduje się m.in. algorytm do nadawania indeksów stronom internetowym – Page Rank () oraz stosowany często w silnikach rekomendacyjnych algorytm Collaborative Filtering .


Dużą przewagą rozwiązania jest fakt, że użytkownik nie jest zmuszony do programowania owych węzłów samodzielnie. Wspomniane procedury obudowane węzłami są do pobrania na IBM-owskim Githubie. Z moich informacji wynika, że kolejne 3 węzły są obecnie w przygotowaniu.

Na koniec chciałem jeszcze wspomnieć o jednej malej, ale dość istotnej zmianie dotyczącej integracji SPSS z R. W węzłach Transformacje R oraz Scoring R można ustawić wielkość paczek, w których rekordy wysłane są do R.


We wcześniejszych wersjach programu było to możliwe jedynie przez zmianę kodu źródłowego węzła, co z kolei nie było rekomendowane przez IBM

P.S. Szczegółowe informacje dot. technologii IBM SPSS można znaleźć na stronie: 
http://spss-polska.pl/