Artur Suchwałko

szkolenia: ryzyko kredytowe, data mining, statystyka, analiza danych

Feb
04

Tworzenie GUI dla programów pisanych w GNU R

Często spotykam się z potrzebą udostępnienia programu analizującego dane czy budującego modele predykcyjne napisanego w języku R użytkownikom, którzy systemu R nie znają. Idealnym rozwiązaniem w takiej sytuacji jest stworzenie graficznego interfejsu użytkownika (GUI) dla skryptu wykonującego tę analizę.

Możliwe jest na przykład połączenie R z dowolnym językiem programowania, w którym później zostanie napisane GUI. Można wykorzystać Tcl/Tk (tak, jak w pakiecie RCommander). Kolejna opcja to stworzenie aplikacji analitycznej działającej na serwerze i dostępnej przez przeglądarkę internetową. Skorzystanie z każdego z tych rozwiązań wymaga jednak sporo czasu. Oprócz kilku innych możliwości istnieje bardzo proste, ale – jak sądzę – niezbyt powszechnie znane, rozwiązanie.

RGG – R GUI Generator jest narzędziem bardzo upraszczającym pisanie w języku R programów wyposażonych w GUI. Tworzenie interfejsu użytkownika polega na utworzeniu odpowiedniego pliku składającego się ze znaczników XML opisujących kontrolki GUI
oraz z kodu analizy napisanego w R. Do działania programu z GUI konieczne jest posiadanie zainstalowanego R, Javy oraz dodatkowego “środowiska uruchomieniowego”. Przykłady można znaleźć na stronie RGG.

Oczywiście, rozwiązanie to ma ograniczenia i czasami jest konieczne wybranie innego narzędzia umożliwiającego komunikację programu napisanego w R z jego użytkownikiem.

Feb
04

Ciekawa książka: “Super Crunchers”

Parę tygodni temu dostałem książkę “Super Crunchers: Why Thinking-By-Numbers is the New Way To Be Smart” autorstwa I. Ayresa. Wciągająca lektura, przeczytałem ją błyskawicznie.

Książkę naprawdę przyjemnie się czyta. Pokazuje ona robiące duże wrażenie nietypowe zastosowania prostych modeli predykcyjnych. Wyjątkowo ciekawy jest przykład pozwalający na dosyć dobrą prognozę przyszłej ceny wina na podstawie warunków pogodowych panujących w rejonie i okresie uprawy winorośli, z których to wino było wyprodukowane.

Oto link do strony książki: http://www.randomhouse.com/bantamdell/supercrunchers/ oraz link do strony jej autora: http://islandia.law.yale.edu/ayers/indexhome.htm

Polecam tę książkę wszystkim!

Jan
13

Wykład o R w ramach Open Academy

We środę 21. stycznia będę prowadził w ramach inicjatywy OpenAcademy ogólnodostępny wykład “Wprowadzenie do języka GNU R”. Podczas wykładu przedstawię środowisko R, jego unikatowe cechy oraz podstawy korzystania z tego systemu.

Czas i miejsce: środa 21.01.2009, godzina 17:30, sala 0.32 budynku C-13 Politechniki Wrocławskiej.

Zapraszam wszystkich zainteresowanych!

Jan
13

The New York Times o R

W The New York Times opublikowano 06.01.2009 artykuł o GNU R. Jest naprawdę interesujący. Pokazuje, jak potężne jest to narzędzie i jak bardzo R jest niedoceniany w naszym kraju. Oto cytat z artykułu:

”The great beauty of R is that you can modify it to do all sorts of things,”
said Hal Varian, chief economist at Google.
”And you have a lot of prepackaged stuff that’s already available, so you’re standing on the shoulders of giants.”

Jan
06

Konferencje związane z data mining

Czy ktoś z Was jest zainteresowany udziałem w konferencji związanej z data mining? Można próbować ocenić popularność konferencji na podstawie ankiety ze strony KDnuggets. Uwaga: ankiety ze strony KDnuggets często przygotowane są na małej próbie, mogą więc nie być miarodajne!

Za informację o tej ankiecie dziękuję dr. Adamowi Zagdańskiemu, uczestnikowi jednej z wymienionych konferencji.

Jan
06

Świetne wprowadzenie do systemu R

Dzisiaj chciałbym polecić wyjątkowe wprowadzenie do systemu R: Quick-R (autor: Rob Kabacoff). Jest naprawdę dobrze przygotowane i zwięzłe.

Jan
06

Blog dotyczący GNU R

Wczoraj znalazłem świetny blog dotyczący GNU R:
Revolutions. News about R, statistics and the world of open source from the staff of REvolution Computing
. Jest on prowadzony przez pracowników firmy oferującej jedną z komercyjnych wersji systemu R.

Bardzo interesujący jest wpis dotyczący sporej i wciąż rosnącej popularności GNU R wśród ludzi zajmujących się data miningiem.

Jan
06

Ciekawe opinie dotyczące GNU R

Pakiet fortunes dla R zawiera cytaty wypowiedzi twórców R oraz jego znanych użytkowników. Jest kilka możliwości użycia tej biblioteki:

> library(fortunes)
> fortune() # losowanie cytatu
> fortune(92)
If you don't go with R now, you will someday.
-- David Kane (on whether to use R or S-PLUS)
R-SIG-Finance (November 2004)
>

Moje ulubione cytaty to (oprócz podanego w przykładzie wyżej): fortune(109), fortune(184).

Dec
10

Analiza dużych zbiorów danych w GNU R

Jedną z wad systemu R jest trudna praca z dużymi danymi. Dlaczego? Dane, na których pracuje R, powinny mieścić się w pamięci operacyjnej komputera. Istnieje kilka sposobów obejścia tego problemu.

Ciekawym przykładem jest pakiet biglm. Pozwala on na budowę modeli regresji liniowej i uogólnionych modeli liniowych (do tej grupy należy na przykład często używana w budowie systemów scoringowych regresja logistyczna) dla danych, które nie mieszczą się w pamięci komputera.

Dec
10

Łączenie GNU R i MS Excel

Często zdarza się potrzeba przeprowadzenia bardziej skomplikowanych obliczeń w arkuszu Excel. Przykładem takiego zadania mogą być bardziej zaawansowane testy statystyczne. Jednym z rozwiązań jest napisanie odpowiedniego kodu w Visual Basic’u. Druga z opcji to skorzystanie z GNU R jako silnika obliczeniowego.

Jednym z wykorzystywanych do tego celu rozwiązań jest RExcel. GNU R staje się dostępny z menu Excel’a, w formułach umieszczonych w komórkach Excel’a oraz z poziomu Visual Basic’a.

RExcel wykorzystuje technologię (D)-COM, dzięki której GNU R może być wykorzystywany przez oprogramowanie praktycznie w dowolnym języku na platformie Windows (patrz: R (D)COM Server).

Ten wpis to kontynuacja postu dotyczącego pakietu xlsReadWrite.

Nov
28

Ułatwienie pracy z modelami predykcyjnymi w GNU R: PMML

PMML (Predictive Model Markup Language) jest opartym na XML językiem, który umożliwia wygodny eksport modeli predykcyjnych z narzędzia analitycznego, w którym model powstał, do systemu, w którym model będzie wykorzystywany (na przykład definiującego listy mailingowe dla kampanii marketingowej). Oczywiście, wyeksportowany w PMML model można wczytać do dowolnej innej aplikacji używającej standardu PMML i kontynuować pracę.

Specyfikacja PMML dostępna jest na stronie Data Mining Group.

System R posiada możliwość eksportu modeli zgodnie ze standardem PMML. Pakiet nazywa się PMML i oferuje możliwość eksportu podstawowych modeli. Według mnie najważniejszy z nich to drzewa klasyfikacyjne budowane z wykorzystaniem pakietu rpart. Pozostałe modele to sieci neuronowe, SVM, regresja liniowa i logistyczna oraz wyniki analizy skupień (k-means) i odkrywania reguł asocjacyjnych.

Można obejrzeć wideo pokazujące, jak z GNU R eksportuje się modele w formacie PMML.

Wyobrażenie o częstości korzystania z PMML dają wyniki ankiety ze strony KDNuggets.

Nov
14

Text mining z wykorzystaniem GNU R

Text mining to grupa metod analizy danych tekstowych wykorzystujących metody data mining. W języku angielskim text mining bywa czasem nazywany text data mining, co idealnie wyjaśnia, na czym on polega (oto definicja text miningu z Wikipedii).

Jeszcze do niedawna R był pozbawiony pakietu umożliwiającego wygodną analizę eksploracyjną danych tekstowych. Sytuacja zmieniła się, kiedy pojawił się pakiet tm. Informacje o nim dostępne są tutaj.

Warto przeczytać rozdział “An Introduction to Text Mining in R” w najnowszym wydaniu R-News. Zaprezentowano tam naprawdę ciekawe przykłady analizy danych tekstowych wykonane przy pomocy pakietu tm.

Lista pakietów dla GNU R przydatnych w analizie tekstu dostępna jest w odpowiednim dziale CRAN Task Views.

Do ciekawych rozwiązań należy też ReadMe: Software for Automated Content Analysis (strona projektu ReadMe).

Znane narzędzie data miningowe Open Source RapidMiner również oferuje dodatek (plug-in) do analizy tekstu.

Informacje o innych narzędziach oferujących metody text mining można znaleźć na stronie KDnuggets.

Nov
12

GNU R i dane z MS Excel

Jak wczytać do GNU R dane z arkusza Excela? Jest wiele możliwości. Między innymi eksport do pliku CSV, kopia przez schowek, wykorzystanie ODBC, czy bezpośrednie użycie technologii COM.

Warto sprawdzić działanie pakietu xlsReadWrite (oto jego strona). Pakiet jest prosty w użyciu i zawiera dwie funkcje podstawowe:

  • read.xls – odczyt danych,
  • write.xls – zapis danych

oraz kilka funkcji pomocniczych do konwersji daty i czasu między formatami Excela i GNU R.

Nov
10

Szkolenie z budowy systemów scoringowych metodą regresji logistycznej

W dniach 15-16.12.2008 prowadzę w Warszawie dla firmy eForum szkolenie z zakresu budowy systemów scoringowych “Budowa Modeli Scoringowych z Wykorzystaniem Regresji Logistycznej (Rating/Scoring Kredytowy II)”.

Szkolenie przeznaczone jest głównie dla osób, które miały już styczność z systemami scoringowymi i posiadają podstawową wiedzę z dziedziny ryzyka kredytowego.

Podstawowe walory szkolenia to przedstawienie metody regresji logistycznej oraz całego procesu budowy karty scoringowej z wykorzystaniem regresji logistycznej – najpopularniejszej i pod wieloma względami najlepszej metody stosowanej do tego celu. Drugi atut szkolenia to możliwość przećwiczenia każdego etapu samodzielnie, z wykorzystaniem komputera. Budowa własnych modeli scoringowych pozwoli na lepsze zrozumienie poruszanej tematyki. Informacje o bardziej zaawansowanych metodach analitycznych stosowanych w budowie systemów scoringowych to kolejny walor kursu.

Zapraszam wszystkich zainteresowanych!

Nov
10

Obliczenia symboliczne i optymalizacja numeryczna w GNU R

System R potrafi (w bardzo ograniczonym zakresie) wykonywać obliczenia symboliczne. Oto przykład:

D(expression(x^2+3),'x')
W tym przykładzie wyznaczana jest pochodna wyrażenia x^2 + 3 względem zmiennej x.

W podobny sposób można stworzyć funkcję, która umożliwia łatwe numeryczne wyznaczanie pochodnych funkcji podanej symbolicznie:

funkcja <- deriv((y ~ x^2 + .5 * x^4), "x", func = TRUE)
Z nowej funkcji korzystamy jak z każdej innej: funkcja(0). Uwaga: nowa funkcja nie składa się z pochodnych cząstkowych funkcji podanej symbolicznie, ale umożliwia wyznaczanie tych pochodnych oraz wartości wyjściowej funkcji. Bardziej złożony przykład powinien wyraźniej pokazać przewagę wariantu z pochodnymi liczonymi symbolicznie.

Symboliczne wyznaczanie pochodnych znajduje zastosowanie w optymalizacji numerycznej. Umożliwia to zastosowanie bardziej zaawansowanych i skutecznych metod, na przykład nlm i optim. Oto przykład porównujący optymalizację z wykorzystaniem symbolicznie wyznaczonej pochodnej:

nlm(funkcja, 3)
oraz bez niej:

funkcja.num <- function(x) {x^2 + .5 * x^4}
nlm(funkcja.num, 3)

Jak widać, oszczędzamy jedną / połowę iteracji.



szkolenia | data mining | analiza danych | statystyka | system statystyczny R | predictive modeling

prognozowanie | credit scoring | ryzyko kredytowe | programowanie | eksploracyjna analiza danych

analiza skupień | klasyfikacja | wizualizacja | darmowe oprogramowanie statystyczne | Wrocław