데이터 사이언스 분야에서는 다양한 프로그래밍 언어와 소프트웨어들이 사용됩니다.
Programming Languages
프로그래밍 언어의 활용은 데이터 사이언티스트가 원하는 프로그램을 직접 구현할 수 있도록 도와줍니다.
제가 블로그에서 데이터 사이언스 공부를 위해 사용하게 될 파이썬이 가장 대표적이라고 할 수 있겠네요.
현재 세계적으로 데이터 사이언스에서 가장 널리 사용되는 프로그래밍 언어는 Python과 R입니다.
이 두가지 언어의 가장 큰 장점은 매우 유연하여 여러가지 상황에 대한 분석을 아우를 수 있다는 것 입니다.
특히 수학적, 통계학적 연산에 뛰어납니다.
하지만, 반면 특정 문제들에 대해서는 분석할 수 없는 경우도 존재합니다.
SQL은 relational database를 관리 시스템을 사용할 때 활용하도록 만들어졌습니다.
SQL은 traditional historical data를 다룰 때 매우 효과적입니다.
또한 MATLAB도 데이터 사이언스에서 사용되는 언어들 중 하나입니다.
Matlab는 수학적 함수나 행렬 연산에 있어서 강점을 보입니다.
이러한 이유로 Matlab은 빅데이터를 제외한 traditional data, business intelligence, traditional predection methods, machine learning에서 주로 사용됩니다.
Matlab은 훌륭하지만 유료이기 때문에 R과 Python같은 오픈소스 언어에게 밀리고 있다고 합니다.
종합적으로 빅데이터가 아닌 전통적 데이터를 다룰 때는 R, Python, Matlab, SQL이 대부분의 일을 처리할 수 있는 언어들입니다.
반면 빅 데이터를 다룰 때에는 전통적 데이터와는 다르게 java와 Scala를 많이 사용합니다.
이 두 언어들은 통계학적 연산을 위해 탄생한 언어는 아니지만, 여러 소스의 데이터들을 합칠 때에 강점을 보입니다.
머신 러닝에 관해서 얘기하자면, 머신 러닝은 빅 데이터와 연관되어 있기 때문에 매우 높은 연산 능력을 요구합니다.
그렇기 때문에 R, Python, Matlab, Java, Scala에 연산 처리 속도가 빠른 언어들인 JavaScript, C, C++들도 함께 사용되고 있습니다.
Softwares
Data Science에서 사람들은 한개 이상의 언어를 활용하며, 더욱 용이하게 하기 위하여 application software (or software solutions)들을 만들었습니다.
이러한 application software들은 특정한 비즈니스 목적에 맞추어 조정된 소프트웨어들입니다.
더욱 좁은 범위의 목적성을 가진 이 소프트웨어들은 배우기가 훨씬 쉽고, 해당 비즈니스에서의 활용도가 매우 높습니다.
비교적 복잡한 연산을 더욱 간단하게 하도록 도와주고, 시각화 하는 것을 빠르고 용이하게 만들어줍니다.
대표적인 예시로는 마이크로소프트 엑셀이 있겠네요.
실제로 엑셀은 traditional data, business intelligence, 그리고 traditional prediction method를 다룰 때 주로 사용됩니다.
비슷하게 IBM의 SPSS 또한 엑셀이 사용되는 상황들에서 매우 널리 사용되는 소프트웨어입니다.
빅 데이터의 경우에는, 매우 큰 양의 데이터를 다룰 때 더욱 적합한 소프트웨어들을 사용하게 됩니다.
그 종류로는 Apache Hadoop, Apache HBase, 그리고 MongoDB가 있습니다.
Apache Hadoop은 빅 데이터의 복잡성과 연산의 난이도를 낮추기 위해서 사용되는 소프트웨어 프레임워크입니다.
Hadoop은 연산을 여러개의 컴퓨터에 나눠서 진행하고, 그것이 최근 빅 데이터를 다루는 대표적인 방법입니다.
Business Intelligence의 경우에는 상술한 엑셀에 더하여 Power B-I, SAS, Qlik, 그리고 가장 널리 사용되는 Tableau가 있습니다.
주로 BI 시각화에 있어서 사용되는 소프트웨어들입니다.
Traditional Prediction Methods, 전통적 예측 방법들의 경우에는 엑셀과 SPSS에 더하여 경제적 time-series 모델에 널리 사용되는 EViews, 그리고 회귀, cluster, 그리고 factor analysis가 자주 사용되는 학술적, 통계학적, 그리고 경제학적 연구에서 주로 사용되는 Stata가 있습니다.
비즈니스 또는 이론적 이해도가 비교적 낮은 경우에는 여러 소프트웨어를 익히는게 언어를 공부하는 것보다 훨씬 쉽고 용이합니다.
하지만 이해도가 높은 경우에는 소프트웨어의 능력이 부족하다고 느낄 수 있습니다.
이런 경우에는 프로그래밍 언어 또한 학습하여 더욱 높은 분석적 자유도를 얻는 것이 좋다고 할 수 있습니다.
'Data Science > 개념과 용어' 카테고리의 다른 글
Regression Analysis - Linear Regression | 회귀 분석 - 선형 회귀 (0) | 2024.06.02 |
---|---|
Data와 관련된 직업들엔 어떤 것이 있을까요? (Data Scientist, Data Engineer, BI Developer, etc) (0) | 2024.05.19 |
Machine Learning | 머신 러닝 (0) | 2024.05.18 |
Traditional Predictive Analysis | 전통적 예측 분석 (0) | 2024.05.18 |
Business Intelligence (BI) | 비즈니스 인텔리전스 (0) | 2024.05.18 |