はじめに
みなさん、KNIME(ナイム)ってご存知ですか?
会社が使っているという場合でないと知らないツールかもしれません。
ちなみに私は2017年ごろに出会いました。1週間で習得しないといけない状況で半ばあきらめていましたが、ちょうどその時す (id:sumtat)さんのブログ
が始まったころで、大変助かった記憶があります。何より分かりやすくて読みやすい!
その後は社内の人に教える機会が多くなったので、自分でも書いてみようと思いこのブログを作ってみました。
KNIMEとは?
KNIME*1とは、テーブルを使用して色々処理ができる*2ツールです。色々とは、テーブルの処理からデータのグラフ化、機械学習、データの送信のことです。プログラミング言語を処理の途中にいれることもできます。
色々できるでは分かりにくいので、絞ります。私のブログではCitizen Developerを念頭に置いているので、ETL(Extract(抽出)、Transform(変換)、Load(ロード)) ツール*3として使用します。
特徴は?
特徴として下記の3つが挙げられます。
- タダ
- コーディングしなくてよい
- 共有しやすい
1 . タダ
オープンソースで無料です。
2. コーディングしなくてよい
これ大事ですよね。基本的にコーディングがいりません。ノードといわれるブロックをつなぎ合わせていくことによって、コーディングなしでデータを処理できるのが特徴です。
3. 共有しやすい
こんなことありませんか?「昔の人が作ったAccessツールなんだけど、今や誰もロジックを知らず修正できない」「人が作ったプログラムが読めない」
コーディングルールの知らない人が何かツールを作るとよく上記のことが起こると思います。一方KNIMEは、「設定をできる範囲が限られているので、誰が見ても同じ解釈になる」ことから共有しやすいと思います。
多くの人が感覚的に分かるのが嬉しいポイントです。Accessでどのテーブルがどのテーブルにリンクしているかなど、解析するの大変だった記憶が、、
何ができるの?
いわゆるデータベース(テーブルの形をしたデータ)の処理です。
もしMicrosoft Accessを使ったことがあれば、やれることは「Microsoft Accessと同じ」です。Microsoft Excelで例えるならば、テーブルの機能の自動化です。
その他にも機械学習をはじめとしたデータ分析のツールとして使われることが多いです。
毎日こんな作業ないですか?
「Microsoft Excelでテーブルを使って毎日フィルタリングやピボットなどを行い、別ファイルにして共有」
「複数のファイルをVLOOKUPでくっつけてレポートとして共有」
KNIMEはそんな作業を自動化するのが得意です。
最後に
このブログではKNIMEの入門から上級レベルまで紹介していこうと思います。KNIME初心者、プログラム初心者でも自動化ツールを難なく作れるようになるのが目標です!
ブログ、書く時間を確保するのって大変ですね、、
書こう書こうと思って早2週間、習慣づけない限り無理ですね。。。
余談
難しそう、、ブログ書けない、、忙しいから、、
私が良く思ってしまうことです。軽くYesの気持ちで行きましょう!!
*1:公式サイトは下記(英語)です。
*2:正式には、KNIME Analytics Platformです。プラットフォームといわれるくらいですから、拡張機能(Extension)次第でデータの読み込みから、データの処理、データの可視化、機械学習、Reportingまで様々な事ができます。基本はコーディングなしで行えるというのがコンセプトですが、コーディング(Python, R, Java等)をすることも可能です。
紹介動画(英語)を参考に載せます。
KNIME Software: Creating and Productionizing Data Science
*3:最近覚えました。データベースを処理するツールの事です。データベースというと引けを感じるかもしれませんが、いわゆるExcelのテーブルのようなものです。