Data Analyst KIM

[빅데이터 커리어 가이드북] 3. 빅데이터 지식(2) - "시각화,소프트웨어, 웹크롤링,프로그래밍,수학및통계학) 본문

일상/독서

[빅데이터 커리어 가이드북] 3. 빅데이터 지식(2) - "시각화,소프트웨어, 웹크롤링,프로그래밍,수학및통계학)

김두연 2023. 5. 12. 22:18
반응형

 

3. 빅데이터 지식(2) - "3. 시각화, 4. 소프트웨어, 5. 웹크롤링, 6. 프로그래밍, 7. 수학 및 통계학)

 

3. 시각화


<시각화 유형>

꺾은선그래프, 히스토그램, 막대그래프, 히트맵(상관관계파악), 지도 등을 이용하여 다양하게 시각화를 한다.

시각화 도구로는 파이썬의 경우 'Matplotlib' , 'Seaborn' 등을 많이 사용한다.

만약 고정된 시각화가 아닌 사용자의 조작으로 원하는 정보를 볼 수 있는 반응형 시각화는 'plotly'패키지를, 지도 위에 시각화하고 싶다면 'folium'패키지를 사용하면 된다.

 

시각화R, python과 같은 프로그래밍 언어로 수행할 수 있다.

하지만 'Tableau' , 'Spotfire' , 'Qlikview' , 'Power BI'를 사용하여 코딩 없이 시각화가 가능하다.

프로그래밍에 자신이 있다면 프로그래밍 언어를 사용하면 더 높은 시각화를 구현할 수 있지만

자신이 없다면 시각화 전용 툴을 이용하는 것도 좋은 방법이다.

 

대시보드라는 단어를 많이 사용한다.

대시보드란 자동차의 계기판을 말하지만 데이터 분석의 관점에서는 조직 상태 파악을 위해 중요한 지표를 모아 놓은 일종의 보고서를 말한다.

 

시각화와 마찬가지로 대시보드를 쉽게 작성할 수 있는 다양한 소프트웨어가 존재한다.

이러한 소프트웨어를 BI(Business Intelligence) 도구하고 부른다.

대표적으로는 'Tableau', 'Power BI', 'Google Analytics'가 있다.

하나의 툴만 잘 사용해도 비슷하기 때문에 사용하는데 큰 어려움이 없을 것이다.

 

<공부 자료>

시각화 공부는 '구상'과 '구현'으로 나눌 수 있다.

구상은 어떻게 시각화를 할 것인지 계획하는 것이다.

정보는 어떻게 배치할 것인지, 어떤 생각을 선택할지 등등을 상상하며  스케치한다.

코딩은 전혀 하지 않고 시각화에서 고려해야 할 요소를 확인한다. 

책이나 온라인 자료 중 'Information is Beautiful'을 참고해라

 

구현은 상상 속의 시각화 결과물을 코딩으로 그려내는 것이다.

'코세라'에서 시각화 기초 강의를 소개하고 있다. 원하는 프로그래밍 언어나 BI 도구와 관련 있는 강의를 수강해 봐라.

 

 4. 데이터 분석 소프트웨어

데이터 수집에서 처리, 분석, 시각화, 결과 배포까지 데이터 분석의 모든 과정을 코딩 없이 수행할 수 있도록 만든 것이다.

R, python만큼 고난도의 데이터 분석은 불가능하다.

하지만 분석 목표나 방식이 어느 정도 정해져 있고, 분석 난도가 높지 않고, 짧은 시각 안에 결과를 도출하고 공유를 해야 할 경우에는 데이터 분석 소프트웨어를 사용하는 것이 유용하다.

데이터 분석가(애널리스트)에게는 필수인 기술이다.

KNIME, RapidMiner, Orange, SAS 등의 데이터 분석 소프트웨어가 있다.

 

 5. 웹 크롤링

'웹 크롤링' 또는 '웹 스크래핑'은 '웹 크롤러'를 활용해서 웹에서 원하는 정보를 수집하는 작업이다.

웹상의 수많은 데이터를 분석하면 큰 가치를 얻을 수 있다.

웹 크롤링 기업은 데이터에 접근하는 방식에 따라 세 가지로 나눠 볼 수 있다.

 

(1) HTTP와 HTML을 활용

HTTP 통신을 이용해서 원하는 웹 페이즈의 HTML 소스 코드를 다운로드하여 이를 적절히

'파싱'해 필요한 데이터를 추출하는 것이다.

파싱이란 문장이나 문서를 일정한 규칙에 따라 분해하는 것을 말한다.

 

(2) URL을 알기 어려울 경우

원하는 데이터가 있는 웹 페이즈의 URL을 알기 어려울 때는 웹 브라우저를 이용해 사람이 직접 데이터를 받는 모습을 따라 하는 프로그램을 만드는 방법이다.

 

(3) API 활용

데이터를 다운로드할 수 있도록 만들어진 인터페이스인 'API'를 활용하는 방법이 있다.

데이터 제공자가 API 서비스를 제공할 때 사용할 수 있는 방법이다.

API란 프로그램 간의 상호작용을 사전에 약속된 방식을 이용해 지원하는 매개체이다.

 

파이썬을 활용해서 웹 크롤링을 구현할 수 있는 패키지를 알아보겠다.

HTTP 요청을 보낼 수 있는 'requests'와 HTML 문서를 파싱 할 수 있는 'BeautifulSoup'패키지를 사용한다.

먼저 'requests' 패키지의 get함수 or post함수를 이용하여 원하는 웹 페이지의 HTML 소스 코드를 다운로드한 후 

'BeautifulSoup'패키지로 파싱해 웹 페이지를 파이썬 객체로 변환하고, HTML 태그 정보 등을 활용해 원하는 데이터를 추출한다.

 

- 웹 크롤링 시 주의사항

웹 크롤러를 구현할 때는 페이즈 요청 사이에 어느 정도의 시간 간격을 두는 것이 좋다.

빠른 속도로 해당 서버에 요청을 보내는데, 이는 서버가 안정적으로 서비스하는데 좋지 않다.

높은 빈도의 서버 요청이 올 때, 해당 요청을 크롤링으로 인지하고 차단을 해버린다.

따라서 요청과 요청 사이의 시간간격을 둬 상대 서버에 과중한 부담을 주지 않도록 하는 것이 좋다.

 

<공부 자료>

- 나도 코딩 유튜브 채널(파이썬 무료 강의 활용 편) - 웹 크롤링 

 

 

6. 프로그래밍

데이터 애널리스트와 사이언티스트 모두 Python, SQL, R을 많이 사용한다.

시각화 라이브러리는Matplotlib, seaborn, Plotly, Ggplot을 많이 사용한다.

머신러닝 프레임워크는 Scikit-learn, Tensor flow, Keras, Pytorch, Xgboost, LightGBM 순서로 많이 사용한다.

 

7. 수학 및 통계학

애널리스트의 경우 공부한 만큼 도움이 되는 것은 사실이나 지식을 크게 요구하지는 않는다.

하지만 사이언티스트나 리서처의 경우에는 매우 중요하다.

 

반응형