Big Data Analytics - narzędzia do analizy danych
Istnieje wiele narzędzi, które pozwalają analitykowi danych na efektywną analizę danych. Zazwyczaj inżynierski aspekt analizy danych koncentruje się na bazach danych, a naukowcy zajmujący się danymi koncentrują się na narzędziach, które mogą wdrażać produkty danych. W poniższej sekcji omówiono zalety różnych narzędzi, ze szczególnym uwzględnieniem pakietów statystycznych, których naukowcy używają w praktyce najczęściej.
Język programowania R.
R to język programowania typu open source, który koncentruje się na analizie statystycznej. Pod względem możliwości statystycznych konkuruje z komercyjnymi narzędziami, takimi jak SAS, SPSS. Uważa się, że jest to interfejs do innych języków programowania, takich jak C, C ++ czy Fortran.
Kolejną zaletą języka R jest duża liczba dostępnych bibliotek typu open source. W CRAN jest ponad 6000 pakietów, które można pobrać bezpłatnie i w formacieGithub dostępna jest szeroka gama pakietów R.
Pod względem wydajności, R jest powolny w przypadku intensywnych operacji, biorąc pod uwagę dużą liczbę dostępnych bibliotek, wolne sekcje kodu są napisane w językach kompilowanych. Ale jeśli zamierzasz wykonywać operacje, które wymagają pisania głębokich pętli for, to R nie byłby najlepszą alternatywą. Do celów analizy danych istnieją ładne biblioteki, takie jakdata.table, glmnet, ranger, xgboost, ggplot2, caret które pozwalają używać R jako interfejsu do szybszych języków programowania.
Python do analizy danych
Python jest językiem programowania ogólnego przeznaczenia i zawiera znaczną liczbę bibliotek poświęconych analizie danych, takich jak pandas, scikit-learn, theano, numpy i scipy.
Większość tego, co jest dostępne w R, można również zrobić w Pythonie, ale odkryliśmy, że R jest prostszy w użyciu. W przypadku pracy z dużymi zbiorami danych, zwykle Python jest lepszym wyborem niż R. Python może być używany dość skutecznie do czyszczenia i przetwarzania danych wiersz po wierszu. Jest to możliwe z poziomu R, ale nie jest tak wydajne jak Python do zadań związanych ze skryptami.
Do uczenia maszynowego, scikit-learnto przyjemne środowisko, które udostępnia dużą liczbę algorytmów, które bez problemu radzą sobie z średniej wielkości zbiorami danych. W porównaniu z równoważną biblioteką R (daszkiem),scikit-learn ma bardziej przejrzysty i spójny interfejs API.
Julia
Julia to wysokopoziomowy, dynamiczny język programowania o wysokiej wydajności do obliczeń technicznych. Jego składnia jest dość podobna do R lub Pythona, więc jeśli już pracujesz z R lub Pythonem, napisanie tego samego kodu w Julii powinno być dość proste. Język jest całkiem nowy i znacznie się rozwinął w ostatnich latach, więc w tej chwili jest to zdecydowanie opcja.
Zalecamy Julię do tworzenia prototypów algorytmów, które wymagają dużej mocy obliczeniowej, takich jak sieci neuronowe. To świetne narzędzie do badań. Jeśli chodzi o wdrażanie modelu do produkcji, prawdopodobnie Python ma lepsze alternatywy. Jednak staje się to mniejszym problemem, ponieważ istnieją usługi internetowe, które zajmują się inżynierią implementacji modeli w językach R, Python i Julia.
SAS
SAS to język komercyjny, który jest nadal używany do analizy biznesowej. Posiada język bazowy, który pozwala użytkownikowi programować szeroką gamę aplikacji. Zawiera sporo produktów komercyjnych, które dają użytkownikom niebędącym ekspertami możliwość korzystania ze złożonych narzędzi, takich jak biblioteka sieci neuronowych, bez konieczności programowania.
Poza oczywistą wadą komercyjnych narzędzi, SAS nie skaluje się dobrze do dużych zbiorów danych. Nawet średni zbiór danych będzie miał problemy z SAS i spowoduje awarię serwera. Tylko jeśli pracujesz z małymi zbiorami danych, a użytkownicy nie są ekspertami w dziedzinie danych, zaleca się SAS. Zaawansowanym użytkownikom R i Python zapewniają bardziej produktywne środowisko.
SPSS
SPSS, jest obecnie produktem IBM do analizy statystycznej. Służy głównie do analizy danych ankietowych, a dla użytkowników, którzy nie są w stanie programować, jest przyzwoitą alternatywą. Prawdopodobnie jest tak samo prosty w użyciu jak SAS, ale pod względem implementacji modelu jest prostszy, ponieważ zapewnia kod SQL do oceny modelu. Ten kod zwykle nie jest wydajny, ale to początek, podczas gdy SAS sprzedaje produkt, który ocenia modele dla każdej bazy danych osobno. W przypadku małych danych i niedoświadczonego zespołu SPSS to opcja równie dobra jak SAS.
Oprogramowanie jest jednak dość ograniczone, a doświadczeni użytkownicy będą o rząd wielkości bardziej produktywni, używając języka R lub Python.
Matlab, Octave
Dostępne są inne narzędzia, takie jak Matlab lub jego wersja open source (Octave). Te narzędzia są najczęściej używane do badań. Pod względem możliwości R lub Python może zrobić wszystko, co jest dostępne w Matlabie lub Octave. Zakup licencji na produkt ma sens tylko wtedy, gdy jesteś zainteresowany wsparciem, jakie zapewnia.