지난주까지 python을 활용해서 금융 데이터 기계학습 논문을 리뷰해보았다. 이번 주부터는 no-code-ml인 KNIME를 활용해서 동일한 작업을 수행해보자. 리뷰 이전에, KNIME이 무엇이고 어떤 역할을 수행할 수 있는지 먼저 알아보도록 하자.
KNIME
KNIME은 데이터 과학 어플리케이션으로, 개발/데이터 및 분석 도구의 지속적인 통합을 가능하게 하는 오픈 소스 소프트웨어이다. 코딩작업 없이 마우스의 드래그 앤 드롭을 통해 workflow를 작성하고, 이를 통해 데이터 분석을 진행할 수 있다. 약 4,000개의 node를 활용하여 다양한 데이터를 연결하고 전처리 할 수 있으며, R/Python/Java 등의 언어 script 역시 활용할 수 있다는 장점이 있다. 아래의 예시를 보면서 직접 확인해보자.

KNIME으로 간단한 ETL을 수행해보았다. 사용한 데이터는 2008-2011년 사이 국가별 제품 판매 데이터로, date&time 변환 및 정렬, filtering을 수행하여 전처리를 진행하였다. 순서는 다음과 같다.
- Data Load
- string column을 date&time으로 변환
- sorter(정렬)후 필요없는 column 제거
- groupby로 국가별, ID별 결과 집계
- Row filter로 총 구매액 이상, 특정 국가 데이터만 추출
- concat 이후, inner join으로 기존 데이터와 결합해서 조건에 맞는 상품의 결과 출력


이처럼 KNIME을 활용하면, code를 활용하지 않고 node와의 결합만으로도 보다 쉽고 직관적으로 원하는 데이터를 추출할 수 있다. 데이터 분석가는 분석 결과를 기반으로 의사결정에 도움을 주기 때문에 다른 부서와 소통하여 데이터를 수집하고, 분석 결과를 설명하고, 의견을 수렴하는 능력이 필요하다. 이 때, python 혹은 R와 같은 프로그래밍 언어를 사용하면 언어를 모르는 사람과의 소통이 힘들고, 원하는 결과를 도출하는데 오랜 시간이 걸릴 수 있다. 하지만 KNIME의 UI를 기반으로 설명을 진행하면 원하는 결과를 보다 쉽게 설명할 수 있고, 중간 과정에서의 소통도 원활하게 할 수 있다는 장점이 있다.
시각화 역시 데이터 분석에서 중요한 부분인데, KNIME은 다양한 시각화 기능을 지원하고있다. 간단한 예시를 통해 살펴보자.




디즈니 영화 개봉 데이터에서 total_gross(총 수입) column을 활용해 EDA를 진행해보았다. Statistics node를 사용하면 원하는 컬럼의 요약통계량을 지정해서 볼 수 있고, genre(장르)를 기준으로 groupby 후 pie chart / box plot을 활용해 시각화를 할 수도 있다. 위에서 사용한 node 외에도 Scatterplot, Density plot, ROC_Curve 등을 전처리가 끝난 데이터와 연결시켜서 바로 직관적으로 표현할 수 있다. 또한, node에서 filtering을 통해 개별적으로 분리하는 것이 아니라 상황에 맞게 필요한 데이터만 클릭으로 추출할 수 있다는 장점도 존재한다.
이번 주에는 KNIME이 무엇인지 살펴보고, 간단하게 기능들을 소개해보았다. 다음 주에는 KNIME으로 논문을 구현해보면서, 주식 데이터 분석 프로젝트 리뷰를 끝내도록 하자.
출처
https://www.knime.com
'데이터 분석 > 주식 선행연구 분석' 카테고리의 다른 글
| [주식] 기계학습을 활용한 주식 데이터 분석 - 9주차 (0) | 2023.09.05 |
|---|---|
| [주식] 기계학습을 활용한 주식 데이터 분석 - 8주차 (0) | 2023.09.03 |
| [주식] 기계학습을 활용한 주식 데이터 분석 - 6주차 (0) | 2023.08.14 |
| [주식] 기계학습을 활용한 주식 데이터 분석 - 5주차 (0) | 2023.08.08 |
| [주식] 기계학습을 활용한 주식 데이터 분석 - 4주차 (0) | 2023.08.06 |