다시 정리하고… 블로그를

요약 1.Excel에서는 더 이상 흠집, R/Python 같은 툴에는 도저히 적응이 안 돼서 knime 같은 대안 툴을 알아보고 있을 겁니다.

2. R/Python은 원활하게 사용할 수 없고 답답하며 Excel 정도를 다룰 능력이 있다면(조금 더 노력하여) Knime을 통해 R/Python 대비 (대략) 60 ~ 70% 성능은 어렵지 않게 낼 수 있을 것입니다.(매우 주관적 의견).

3. ETL 등 손이 많이 가는 데이터 정제 작업에서는 오히려 Knime 같은 비주얼툴이 R/Python보다 뛰어납니다. Script의 직렬적인 코딩과는 달리 직병렬 구성이 자유롭습니다. 한번 익숙해지면 일반적인 line coding에 다시 적응하기 어려울 정도로 편안합니다(어느 쪽이 더 편하고 불편한지는 지극히 주관적인 의견입니다).

4. 길을 잃었을 때 하늘을 보면서 내가 지금 어디에 있고(전체 전망), 또 땅을 내려다 보면서 내가 무엇을 하고 있는지(상세 파악) 파악할 수 있습니다. 길을 잃지 않고 끝까지 가는데 아주 중요해요.

업데이트를 안 하고 있는데 이후를 위해서 Knime 사용법을 정리할까 합니다. 프로그램 자체가 무료이고, 툴/커뮤니티에서 수많은 샘플을 공유하고 있습니다만, 직접 보면 되기 때문에 굳이 사용법에 대한 설명이 불필요하다고 생각했습니다, 그렇지 않다고 생각합니다. Knime은 단기간에 Gartner의 Magic Quadrant 등으로 호평을 받았으나 최근 잠잠해지고 있는 것 같습니다. 장점과 단점이 있는 도구이기 때문에 굳이 추천하지 않지만 의미 없는 도구도 아닙니다. 보통 무료이면서 막대한 R/Python을 사용하면 된다고 합니다. 맞아요, 그게 가능한 분들은 이미 그렇게 하고 계실 거라고 생각해요. 프로그래밍 언어의 체계를 이해하고 이를 실현해 본 경험이 있는 분은 그렇게 하고 계실 것입니다. 그 진입 장벽을 넘지 못하는 분들은 과연 어떻게 해야 할까요? 될 때까지 계속 매달려야 할까요? 생각보다 오랜 기간에 걸쳐도 헤매는 분들이 많을 겁니다. Knime은 프로그래밍 시스템에 대해 깊이 이해할 필요가 없습니다. Excel보다는 확실히 어렵지만, 비교적 간단한 직관적 사용법을 익히면 누구라도 간단하게 진입할 수 있습니다(매우 주관적).

최근 빅데이터 시대에 교육을 받은 젊은이들은 R/Python 사용이 비교적 쉽다고 생각합니다. 문제는 엑셀 정도를 경험한 40대 이상/IT 비전공자들이 남의 일처럼 살아온 빅데이터의 세계로 내던져지고 마이닝/머신러닝 같은 업무를 바로 해야할 때입니다. 정공법은 다 알고 있어요 R/Python 공부해서 쓰면 돼요 근데 그게 잘 안 되는 분들이 있어요. 한없이 들여다봐도 예제 몇 개를 볼 수 있고, 하지만 그 경험에서 내 데이터를 집어넣어 분석하면 계속 오류로 감당할 수 없는. 나의 지식이 없어서 녹초가 되는 경험의 반복.

R/Python이 자유로운 분들은 이해할 수 없는 경험입니다, 그리고 Knime 같은 툴을 불필요하게 왜 사용하는지 이해가 안 됩니다. 저도 필요할 때 억지로 쓰긴 하지만 R/Python 같은 line byline script 기반의 프로그래밍을 몸이 거부합니다.(사용 중 짜증나서 포기한다는 표현이 맞습니다.) 어차피 알고리즘을 개발 할 생각은 처음부터 없습니다, 이미 구축된 모델들을 엑셀처럼 쉽게 다루고 프로토타입 시스템 정도 구축할 수 있으면 그것으로 만족합니다. R/Python과 같은 line byline 프로그래밍이 가진 장점, Knime과 같은 비주얼 프로그래밍이 갖는 장점, 평행선을 긋습니다. 필요에 따라서 두 가지 방법론을 조합해서 써야 합니다. 고도의 벡터 연산이 필요하면 Matlab/Python 같은 툴을 사용하면 되고, 그런 작업에 Knime을 사용하면 자살행위입니다. 뒤죽박죽인 데이터를 정제/마이닝해서 고순도 데이터로 변환시키려면 나는 Knime을 사용합니다.(매우 주관적인 의견입니다)

개발자 레벨 분들은 Knime 사용하지 않습니다, 저 같은 분석의 소비자가 사용하는 도구입니다. 하드웨어의 성능을 바닥까지 떼야 할 상황은 고려하지 않습니다. 기가에서 테라 밀도 데이터, 수천만-억대 라인의 데이터 정도는 소화되고 있네요, 엑셀보다 조금 어려울 정도에서 프로토 타입 시스템도 구축할 수 있습니다. 예산에 여유가 있으면 AWS에 탑재된 KnimeServer를 사용할 수도 있고, 저는 무료이기 때문에 한계가 있어도 이 툴을 사용합니다. 분명히 기능에 한계가 있지만 그냥 이 정도의 성능을 실현하고 주시면 감사할 뿐입니다.

너무 주관적인 의견입니다만…여러가지 도구를 보고손을 대고 보았는데 정말 잘 못 해서 포기하는 것보다는 내가 도중에서 그만둘 것 같아요. “내가 지금 어디에 있고 앞으로 뭘 하면 앞으로 나아갈 수 있는지, 길을 잃는 엄청난 경험이 쌓이면서 자신의 손으로 포기했어요. 당분간 포기해도 쉬고 앞으로 나가야 합니다, 그러려면 정말 많은 것이 필요합니다만, 그것이 나에게는 Knime이었습니다. 이 도구가 나를 당하고 있던 것은 길을 잃었을 때 위를 올려다보니 내가 어디에 있어(전체 프로젝트에서의 위치와 방향), 그리고 아래를 내려다보고 내가 무엇을 하는지(현재 맞은 문제)가 번갈아 파악하는 것이 가장 간단한 도구였다 때문입니다. Knime 같은 방식을 비주얼 프로그래밍이라고도 하고, 표현하는 방법은 다양하지만, 적어도 일반적인 R/Python 같은 linebyline코딩 법에서는 스스로 못 가고 포기한 많은 과정을 시각적 방식으로 끝까지 계속하도록 지원하는 “줄다리기 기능”이 가장 컸습니다.(적어도 스스로 어느 정도 자립할 수 있을 때까지)자신의 기획이 구체화하는 코딩 과정을 끝까지 진행 경험을 쌓는 것이 필요합니다, 빅 데이터 시대에 던져진 초심자들에게 가장 중요한 것은 아닐까라고 생각합니다. 그리고는 선택의 문제입니다. 혼자 어떤 도구에서도 쓰겠어요. 한번은 그것을 경험해야 합니다. 그 쉽다는 R/Python에서 왜 일부는 끝까지 갈 수가 없어요? 간단하지 않을지도 모른다는 것입니다. R/Python이 아니더라도 뭐든지 좋습니다. 한번은 자신이 머릿속에서 구상한 분석 체계를 끝까지 그리고 보세요. 나는 그것이 Knime이고, 현재 R/Python과 혼용하고 있습니다. 특정 영역은 Knime이 다른 툴을 압도한다(매우 주관적)성능을 내고 거기까지는 Knime을 사용합니다. 벡터 연산을 많이 사용해야 하거나 특정 기능을 수행할 때는 다른 도구로 갈아탑니다. 아니면 프로그래밍을 섞어서 사용해요. 요즘은 cross-platform이 기본기능입니다. Knime 내부에서 R/Python 코딩을 구현을 하고 사용을 하겠습니다. Knime의 경우 한글에 특화된 자연어 처리에 한계가 있기 때문에 Konlp(R), Konlpy(Python)를 Knime 내에서 구현하여 사용합니다. 또 다른 도구를 고집할 이유가 없습니다, 좋은 도구를 모아서 새로운 환경을 구성할 수도 있습니다.

error: Content is protected !!