いろいろ倉庫

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

クラスタリング

【R】Heatmap.2のクラスタリング情報を扱ってみたい

・お題:遺伝子発現を比較する際に、ヒートマップというカラフルな図をheatmap.2を使って作ってみた。この図では階層型クラスタリングとセットで使われることが多い。図示するだけではなく、階層型クラスタリングの情報も扱ってみたい。 ・正確には、クラス…

【KNIME】化合物だって階層型クラスタリングしてみたい。

・前回に引き続き、化合物を構造でまとめたい。 ・今回は階層型クラスタリングをしてみたい。 ・ワークフローを組んでみた(下図)。 ・流れは以下の通り。 ①SDF読み込み。 ②情報抽出。今回はchembl_id(RowIDに設定)と構造情報だけにした(下図)。 ③Finge…

【KNIME】Spectral Clusteringでクラスタリングしたい。

・先日KNIMEでk-meansクラスタリングなどを実施してみた。k-meansクラスタリングの特徴は、プロットした空間中で中心から距離をベースに考えるところで、要は2次元グラフ上なら丸く分布していないと綺麗に分けることができない。 ・歪んだ分布の場合、Spectr…

【KNIME】階層型クラスタリングに使う距離情報を読み込みたい。

・データ間の距離情報のみを得た場合に、階層型クラスタリグを適用したい。 ・そこで、距離情報を読み込んで階層型クラスタリングに適用してみたい。 ・サンプルデータとして、10個のポイントの相互距離を用いた(下図)。 ・これを三角行列風の表に加工し、…

【KNIME】外れ値も加味したクラスタリングをしてみたい(DBSCAN)

・クラスタリングの手法として、密度を基準に、ぎゅっと集まっているところを一つのクラスタ、疎なところを外れ値として解釈するDBSCANという手法がある。 ・ざっくりと組んでみた(下図)。これもデータ間の距離を算出してやる必要があるので、Numeric Dist…

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

・これまでは非階層型クラスタリングを試していたが、今回は階層型クラスタリングを試してみたい。 ・試しに組んでみた(下図)。 ・階層型クラスタリングといえば、デンドログラム(樹形図)での表示だと思う。 ・Hierarchical Clusteringのノードを右クリ…

【KNIME】シルエット図を描きたい。

・シルエット図を描きたくて、少し調べてみた。 ・以下の構成で、それっぽいグラフを描くことができた。ちなみに、k=3で、直観的にはそこそこ綺麗に分けられる筈。 ・少々癖があるのがBar Chartノードで、デフォルトだと垂直グラフなので、水平グラフにする…

【KNIME】クラスタ数を決めたい(シルエット係数)

・これまでにいくつかクラスタを扱ったが、k-meansなどの手法はクラスタ数を自分で決めなければならない。 ・何を以て「最適なクラスタ数」というのはは諸説あるが、k-means法でクラスタ数を決めるのに一般的に用いられたいるのは、エルボー法かシルエット法…

【KNIME】もっとクラスタリングしてみたい(k-Medoids)

・先のノード検索の際に出てきたk-Medoidsを使ってみる。 ・細かいことは分からないが、k-Meansのように仮想の重心を置くのではなく、データの中から重心に相当するものを選抜することでクラスタリングをするらしい。 ・特長は外れ値に比較的強いことだとか…

【KNIME】ちょっとFuzzyにクラスタリングしてみたい(Fuzzy c-Means)

・先の記事で、k-Meansで気軽にクラスタリングを試して気づいたが、似たような名前のクラスタリング手法がある。Fuzzy c-Meansとk-Medoidsだ。 ・後者はいったん置いておいて、前者を前回と同じデータに対して試した。 ・Fuzzy c-Meansノードの出力ポートを…

【KNIME】クラスタリングしてみたい(k-Means)

・KNIMEはデータ解析プラットフォームなので、Extensionを追加しなくても、デフォルトで様々な解析が可能。 ・巷で流行っている機械学習などもノードをくっつけてモデルのパラメータを与えてやればある程度実行できる。 ・今回は、クラスタリングというもの…