たまにはちょっとソフトウェア

ワークフロー&スウィィート

KNIME 4.0 について

 

www.knime.com

 

 

個人的にお気に入りのソフトウェア「KNIME」の最新バージョン 4.0 がリリースされました。早速新機能をチェックしてみましょう。

Components

Wrapped Metanodes の呼び名が Components に変更されました。右クリックメニューの Metanode の内容などが変更になっています。使用感は変わらず、普通の Metanode はそのままのようです。(細かい変更理由はこちら

f:id:tymsk3891:20190629155024p:plain

KNIME 4.0 - Components

f:id:tymsk3891:20190629155307p:plain

KNIME 3.7 - Wrapped Metanodes

Performance

KNIME のパフォーマンスが大きく改善しました。

  • できる限り直近に読み込んだテーブルをメモリに保持
  • テーブルをメモリに保持できない場合、高度なファイル圧縮アルゴリズムを使用
  • ノードのデータ処理量の大部分を並列化
  • ガベージコレクションアルゴリズムの更新によってフリーズが減少
  • Parquet カラムナフォーマットのテーブルを利用

数倍スピードアップした例が紹介されています。

KNIME Database Extension

KNIME Labs でリリースされていた DB ノードが正式なノードとしてリリースされました。旧 Database ノードからパワーアップしているようです。

  • データタイプマッピング
  • データベーススキーマの操作性
  • ドライバー管理
  • データベース接続管理
  • 全 Reader / Writer ノードのストリーミング対応
  • 進化した SQL エディタ(シンタックスハイライト、プレビュー)

f:id:tymsk3891:20190629172653p:plain

KNIME 4.0 - DB vs. KNIME 3.7 - Database

Machine Learning

機械学習モデル解釈と自動化のためのノードと新しいアルゴリズムが追加されました。

Machine Learning Interpretability (機械学習解釈可能性)

LIME / SHAP / Shapley Values Loop ノードを使うと、予測モデルが行ごとにどのように動作するかの説明が得られ、モデルの予測結果についての理解を助けてくれます。

Partial Dependence/ICE Plot (JavaScript) ノードを使うと、モデル予測が単一列の変化にどのように反応するか調べることができます。

 

Machine Learning Algorithms

以下が追加されました。

  • Isolation Forest (H2O)
  • t-SNE 
  • ONNX フォーマットの読み込み

 

Machine Learning Automation

Parameter Optimization Loop ノードで Bayesian Optimization (ベイズ的最適化)が使えるようになりました。

 

Plotly Integration

Plotly のライブラリがバンドルされ、Plotly ライブラリを使った View ノードが追加されました。

f:id:tymsk3891:20190704014151p:plain

JavaScript Views - Plotly

f:id:tymsk3891:20190704014035p:plain

3D Scatter Plot (Plotly)

 

Duplicate Row Filter

Duplicate Row Filter ノードが追加されました。重複行を除くシンプルなノードですが、コミュニティからのリクエストに応えて作成されました。GroupBy ノードを使うよりも直感的に重複除去できます。

 

AdoptOpenJDK

KNIME Analytics Platform 4.0 から Java ランタイムが AdoptOpenJDK に変更されました。以前は Oracle Java を使用していました。

 

クラウド系、ビッグデータ、商用版の機能については割愛します。

 

まとめ

機械学習を自動化するための機能が強化され、KNIMEによって分析が完全自動化できる日がすぐそこまで来ているような気がします。