いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【KNIME】階層型クラスタリングをやってみたい(Hierarchical Clustering)

・これまでは非階層型クラスタリングを試していたが、今回は階層型クラスタリングを試してみたい。

・試しに組んでみた(下図)。

f:id:choron81:20211117224512p:plain

・階層型クラスタリングといえば、デンドログラム(樹形図)での表示だと思う。

・Hierarchical Clusteringのノードを右クリックしてViewを選ぶと、樹形図を見ることができる(下図)。

f:id:choron81:20211117224706p:plain

f:id:choron81:20211117224805p:plain

・なんだか新鮮。

クラスタ数をこれまでに倣い3に設定し、クラスターごとに色を塗って散布図を描いてみた(下図)。

f:id:choron81:20211117224948p:plain

・特長はクラスタリング自体にクラスター数を決める必要がないこと、データごとの類似性・関係性が分かりやすいことだろうか。

 

終わり。

 

【KNIME】One Row To Manyで行を複製したい

・データを処理していると、行を複製したくなることがあった。

・行を複製するOne Row To Manyというノードがあったので、記載する。

・このノードは、表中の整数データの入った列の数値の数だけ行を複製する機能がある(下図)。

f:id:choron81:20211103165323p:plain

・左が入力テーブル、真ん中が設定画面(複製する数を引いてくる列を指定)、右が出力テーブル。

・ちなみに、反復回数をゼロに指定すると、列を削除することができる。

 

終わり。

【KNIME】recursive loop (2 ports)を使ってみたい

・KNIMEでLoop処理を実行していると、複数のTableを変更してLoop処理したい場面があった。
・今回私が遭遇したケースでは、回帰処理が求められたので、recursive loop (2 ports)で対応した(下図)。
f:id:choron81:20211103135804p:plain
・初回の処理では、Startの上のポートから入ったTableは、Loop処理でも上のポートから出力され、下のポートも同様に下から出力される。
・ややこしいのはEndの方で、入力ポートが3つあるうえ、出力ポートが1つしかない。
・入力ポートの上は「出力ポートに出力してほしいデータを入力するポート」、
真ん中は「Loop Startの上の出力ポートにバックして欲しいデータを入力するポート」、
下は「Loop Startの下の出力ポートにバックして欲しいデータを入力するポート」のようだ。
・例えば、①編集したい表と②参照したい表(マスタデータテーブルなど)がある場合を考える。
・Startの上の入力ポート、Endの上と真ん中の入力ポートには表①を接続し、Startの下の入力ポートとEndの下の入力ポートには表②を接続する必要がある。
・もちろん逐次処理を間に挟むことになるので、達磨落としのように表②が削られていくフローを間に挟むような構成になるかと思う。
・初めて使う際に面食らった。

終わり。