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.
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.
- odniesienie standardowe, T on Elementy statystyki Nauka autor: Hastie /
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
- ML w R tutorial skład: slide deck i R code autorstwa Josha Reicha
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
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.
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!
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!
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.
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.
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.
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:
-
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.
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).
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.
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