R i Data Mining

Zamiast zacząć kodować w Matlabie, ostatnio zacząłem uczyć się R, głównie dlatego, że jest open-source. Obecnie pracuję w obszarze eksploracji danych i uczenia maszynowego. Znalazłem wiele algorytmów uczenia maszynowego zaimplementowanych w R i nadal badam różne pakiety zaimplementowane w R.

Mam szybkie Pytanie: Jak porównać R do Matlab dla aplikacji data mining, jej popularność, wady i zalety, akceptacja przemysłu i akademickiej itp.? Którą byś wybrał i dlaczego?

Przeszedłem przez różne porównania dla Matlab vs R przeciwko różnych metryk, ale jestem szczególnie zainteresowany, aby uzyskać odpowiedź na jego zastosowanie w eksploracji danych I ML. Ponieważ oba języki są dla mnie całkiem nowe, zastanawiałem się, czy R byłby dobrym wyborem, czy nie.

Doceniam wszelkie sugestie.

Author: Nightfirecat, 2011-01-27

8 answers

Przez ostatnie trzy lata używałem R codziennie, a największa część tego codziennego użytku jest przeznaczona na problemy z uczeniem maszynowym/eksploracją danych.

Byłem wyłącznym użytkownikiem Matlab podczas studiów; wtedy myślałem, że to doskonały zestaw narzędzi / platformy. Jestem pewien, że to również dzisiaj.

The Neural Network Toolbox, the Optimization Toolbox, Statistics Toolbox, i zestaw narzędzi do dopasowania krzywej są bardzo pożądane (jeśli nie niezbędne) dla kogoś, kto używa MATLAB dla ML / Data Mining działa, jednak wszystkie są oddzielone od podstawowe środowisko MATLAB - innymi słowy, muszą być zakupione oddzielnie.

My Top 5 list for Learning ML / Data Mining in R :

Odnosi się to do kilku rzeczy: po pierwsze, grupa pakietu R, która zaczyna sięarules (dostępne z CRAN); można znaleźć pełną listę (arules, aruluesViz, itp.) na Strona Główna Projektu . Po drugie, wszystkie te pakiety są oparte na technice eksploracji danych znanej jako analiza rynkowa i alternatywnie jako reguły Asocjacji . Pod wieloma względami ta rodzina algorytmów jest istotą eksploracji danych-wyczerpująco przemierza duże bazy danych transakcji i znajduje ponadprzeciętne powiązania lub korelacje między polami (zmiennymi lub cechami) w tych bazach danych. W praktyce łączysz je ze źródłem danych i pozwalasz im działać na noc. Pakiet centralny R w wyżej wymienionym zbiorze nazywa się arules; na stronie pakietu CRAN dla arulesznajdziesz linki do kilku doskonałych źródeł wtórnych ( winiety w leksykonie R) na temat pakietu arules i ogólnie na temat techniki reguł Asocjacji.

Najbardziej aktualne wydanie tej książki jest dostępne w formie cyfrowej za darmo . Podobnie, na stronie książki (podlinkowane nieco powyżej) są wszystkie zbiory danych używane w ESL, dostępne do pobrania za darmo. (Na marginesie, mam darmową wersję cyfrową; zakupiłem również wersję w twardej oprawie od BN.com; wszystkie wykresy kolorów w wersji cyfrowej są odtwarzane w wersji hardbound.) ESL zawiera dokładne wprowadzenie do co najmniej jednego przykładu z większości głównych Ml rubrics--np. neural metworks, SVM, KNN; bez nadzoru techniki (LDA, PCA, MDS, SOM, clustering), liczne smaki regresji, CART, Techniki bayesowskie, a także techniki agregacji modeli (Boosting, Bagging) i tuning modelu (regularyzacja). Na koniec zdobądź Pakiet R, który towarzyszy książce od CRAN (co zaoszczędzi kłopotu z pobieraniem zestawów danych enter).

  • CRAN widok zadania: Uczenie maszynowe

+3500 pakietów dostępnych dla R są podzielone według domeny na około 30 rodzin pakietów lub 'widoki Zadań'. Uczenie Maszynowe jest jedną z tych rodzin. Widok zadań uczenia maszynowego zawiera około 50 Paczki. Niektóre z tych pakietów są częścią podstawowej dystrybucji, w tym e1071 (rozbudowany pakiet ML, który zawiera kod roboczy dla wielu zwykłe kategorie ML.)

Ze szczególnym uwzględnieniem postów oznaczonych tagiem Analiza Predykcyjna

Dokładne badanie kodu samo w sobie byłoby doskonałym wprowadzeniem do ML w R.

I jeden ostatni zasób, który moim zdaniem jest doskonały, ale nie znalazł się w pierwszej 5:

Zamieszczone na blogu A Piękne WWW

 61
Author: doug,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-18 05:14:21

Proszę spojrzeć na widoki Zadań CRAN, a w szczególności na widok zadań CRAN na uczenie maszynowe i uczenie statystyczne, który ładnie to podsumowuje.

 9
Author: Dirk Eddelbuettel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-27 02:29:32

Zarówno Matlab, jak i R są dobre, jeśli wykonujesz ciężkie operacje matrycowe. Ponieważ mogą do tego używać wysoce zoptymalizowanego kodu niskiego poziomu (biblioteki BLAS i takie tam).

Jednak eksploracja danych to coś więcej niż tylko chrupanie matryc. Wiele osób całkowicie zaniedbuje cały organizacja danych aspekt eksploracji danych (w przeciwieństwie do zwykłego uczenia maszynowego). A kiedy dotrzesz do data organization, R I Matlab są uciążliwe. Spróbuj zaimplementować R * - tree W R lub matlab aby zapisać O(n^2) algorytm w dół do O(n log n) runtime. Po pierwsze, jest to całkowicie sprzeczne ze sposobem projektowania R I Matlab (użyj masowych operacji matematycznych, jeśli to możliwe), po drugie zabije Twoją wydajność. Interpretowany kod R na przykład wydaje się działać z prędkością około 50% szybkości kodu C (spróbuj R wbudowany k-oznacza vs. flexclus K-oznacza); a Biblioteki BLAS są zoptymalizowane do szalonego poziomu, wykorzystując rozmiary pamięci podręcznej,wyrównanie danych, zaawansowane funkcje procesora. Jeśli jesteś żądny przygód, spróbuj implementacja ręcznego mnożenia macierzy w R lub Matlab i porównywanie jej z natywną. Nie zrozum mnie źle. Jest wiele rzeczy, w których R i matlab są po prostu eleganckiei doskonałe do prototypowania . Możesz rozwiązać wiele rzeczy w zaledwie 10 linijkach kodu i uzyskać przyzwoitą wydajność. Pisanie tego samego ręcznie byłoby setkami linii i prawdopodobnie 10x wolniej. Ale czasami można zoptymalizować przez poziom złożoności, która dla dużych zbiory danych czy pokonują zoptymalizowane operacje macierzy R i matlab.

Jeśli chcesz skalować do "Hadoop size" na dłuższą metę, musisz } również myśleć o układzie i organizacji danych, chyba że potrzebujesz tylko liniowego skanowania danych. Ale wtedy możesz też pobierać próbki!

 2
Author: Anony-Mousse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-04 08:05:27

Wczoraj znalazłem dwie nowe książki o eksploracji danych. Seria książek zatytułowana "Data Mining" odnosi się do potrzeb, prezentując dogłębny opis nowatorskich algorytmów górniczych i wielu przydatnych aplikacji. Oprócz dogłębnego zrozumienia każdej sekcji, dwie książki prezentują przydatne wskazówki i strategie rozwiązywania problemów w kolejnych rozdziałach.Postęp technologii eksploracji danych i duża popularność publiczna powodują potrzebę opracowania obszernego tekstu na ten temat. Książki są: "Nowe podstawowe technologie w eksploracji danych" tutaj http://www.intechopen.com/books/show/title/new-fundamental-technologies-in-data-mining & "Knowledge-Oriented Applications in Data Mining" tutaj http://www.intechopen.com/books/show/title/knowledge-oriented-applications-in-data-mining {[2] } są to książki o otwartym dostępie, więc możesz je pobrać za darmo lub po prostu przeczytać na platformie do czytania online, tak jak ja. Zdrowie!

 1
Author: Jonny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-28 10:43:31

Nie powinniśmy zapominać o źródłach pochodzenia tych dwóch programów: obliczenia naukowe, a także przetwarzanie sygnałów prowadzi do Matlab, ale statystyka prowadzi do R.

Używałem Matlaba dużo na uniwersytecie, ponieważ mamy jeden zainstalowany na Unixie i otwarty dla wszystkich studentów. Jednak cena za Matlab jest zbyt wysoka, szczególnie w porównaniu do wolnego R. Jeśli główny nacisk nie jest na obliczanie matrycy i przetwarzanie sygnału, R powinien działać dobrze dla Twoich potrzeb.

 1
Author: Leo5188,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-26 03:35:31

Myślę, że to również zależy w jakim kierunku studiów jesteś. Znam ludzi z badań przybrzeżnych, którzy używają dużo Matlab. Używanie R w tej grupie utrudniłoby Ci życie. Jeśli kolega rozwiązał problem, nie możesz go użyć, ponieważ naprawił go za pomocą Matlab.

 1
Author: Paul Hiemstra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-17 22:34:48

Chciałbym również spojrzeć na możliwości każdego, gdy masz do czynienia z dużą ilością danych. Wiem, że R może mieć z tym problemy i może być restrykcyjne, jeśli jesteś przyzwyczajony do iteracyjnego procesu eksploracji danych. Na przykład przeglądanie wielu modeli jednocześnie. Nie wiem, czy MATLAB ma ograniczenia danych.

 0
Author: Ralph Winters,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-09 21:59:40

Przyznaję się do faworyzowania Matlaba do problemów z eksploracją danych i podaję tutaj Niektóre z moich argumentów:

Dlaczego MATLAB dla Data Mining?

Przyznam się tylko do przelotnej znajomości R / S-Plus, ale poczynię następujące spostrzeżenia:

  1. R zdecydowanie bardziej skupia się na statystyce niż MATLAB. Wolę budować własne narzędzia w Matlabie, aby dokładnie wiedzieć, co robią i mogę je dostosować, ale jest to bardziej koniecznością w Matlabie niż będzie w R.

  2. Kod dla nowych technik statystycznych (statystyki przestrzenne, solidne statystyki itp.) często pojawia się wcześnie W S-Plus (zakładam, że to przenosi się na R, przynajmniej niektóre).

  3. Kilka lat temu odkryłem, że komercyjna wersja R, S-Plus ma bardzo ograniczoną pojemność dla danych. Nie mogę powiedzieć, jaki jest dziś stan R/S-Plus, ale może warto sprawdzić, czy Twoje dane będą wygodnie pasować do takich narzędzi.

 -1
Author: Predictor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-27 11:01:02