
KNIME 툴에 대한 기본 지식을 다지기 위해 EXEM사가 만든 ‘KNIME을 활용한 빅데이터 분석’ 도서를 활용했다. 본 발명은 데이터 분석 과정(데이터 가공-데이터 전처리-데이터 탐색-데이터 분석)시 주로 사용되는 커넥터의 특성에 대해 설명해준다. 데이터 분석 과정에 대한 상세한 설명은 없다. ‘각 커넥터별 사용설명서(한국어 VER)’ 정도로 이해하는 것이 좋다.
사용 리뷰 ‘워크플로우 기반’, 사실 이 단어가 KMINE을 설명하는 가장 명확한 말이다. 기존의 CUI 방식(코딩)에서 VPL 방식으로의 이동은 많은 변화를 주었다. 첫째, 직관성이다. 워크플로우가 직관적으로 보이고 문제 유무가 각 커넥터 상에 표현됨으로써 명확하게 오류를 인지할 수 있었다. 그리고 내 모델 구성이 어떻게 진행될지 길을 잃지 않고 따라갈 수 있었다. 둘째, 효율성이다. 코딩으로 모델을 구축하기 위해서는 각 패키지별 특성을 이해하는 시간이 필요하다. 예를 들어, Python 상의 Seaborn, Pytorch, Keras 등 ML과 관련된 패키지의 사용법은 조금씩 다르다. 하지만 KNIME상에는 이런 차이가 없다. 다만 적절한 커넥터를 찾아 연결해 나가면 된다. 다음 단계의 커넥터를 찾는 과정도 용이하다. 빅데이터를 기반으로 커넥터를 추천해 주기 때문에 단계를 진행하는 과정이 어렵지 않다. 셋째, 개방성이다. 커넥터로 쉽게 구축함에 따른 장점도 있지만 물론 단점도 존재한다. 컨트롤 할 수 있는 영역이 확실히 적어졌다. 예를 들어 Pythorch에서 내가 조정할 수 있는 변수와 KNIME에서 조정할 수 있는 변수의 수는 분명히 차이가 있다. 또한 R에서 다룰 수 있는 Partitioning 방법과 KNIME에서의 방법의 수는 다르다. 단순화를 위해 KNIME은 몇 가지 기능을 포기했다. 그러나 이를 프로그래밍 간 연동으로 극복한다. KNIME은 R, Python, 자바 등 다양한 툴과의 연동을 통해 이를 보완한다.
앞으로의 계획은 아직 완벽하지는 않지만 이 매력적인 도구를 공부하면서 문법을 터득한 느낌이다. 실제 CUI 코딩만으로도 쉽게 문법을 일깨워 자신만의 문체를 만들어가는 사람도 많다. 그러나 나는 그러지 못하고 사경을 헤매고 있었다. 하지만 이제는 문법에 대해 눈이 뜨이기 시작하면서 문체를 바라볼 수 있는 수준이 됐다고 본다. 좀 더 나은 모델을 구축하기 위해서는 수리통계, 선형대수 등 코딩을 벗어난 이론에 대한 많은 공부가 필요하다고 생각한다. 앞으로는 그런 분야에 대한 공부를 병행해볼 생각이다. KNIME을 완전히 놓치지는 않을 것이다. Kaggle, Daycon 예제를 바탕으로 KNIME의 다양한 커넥터 공부를 병행한다. 천천히 자신만의 문체를 만들기 위해 다시 한번 나아가보자.