ケミカルスペースを可視化しよう! t-SNE, UMAP

データ分析

こんにちはnissyです。
最近データ分析で化学構造を取り扱うテーマに携わらせていただきました。

私としては初めての経験で、日々勉強、勉強でした!

今回は、化学構造のSMILESをフィンガープリントに変換し、それらを次元削減することによりデータセットのケミカルスペースを可視化したいと思います。
次元削減にはt-SNEとUMAPという2つのアルゴリズムを利用します。

どちらも非線形の次元削減アルゴリズムとなりますが、
得られるアウトプットとしてどのような違いが生じるか観察していきましょう!!

データセットの準備 SMILESのフィンガープリント変換

まずは、データセットを読み込んで次元削減する手前の前処理を実施していきます!

データセットは明治大学金子研究室で公開しているデータセットを利用しました
1290分子の水溶解度(LogS)データ

ライブラリーを読み込みます

データセットを読み込んで、中身を確認します。

SMILESをフィンガープリントに変換します!

以上で準備完了です!!

t-SNEによる可視化

それでは、フィンガープリントを次元削減していきます。

まずはt-SNEの実装コードを紹介します。

t-SNEのハイパーパラメータであるperplexityを最適化します。

探索範囲は「0〜サンプル数」の間を探索します。

結果を確認してみましょう!

k3n-errorsの値が最小となるperplexityを設定します。

それではt-SNEの結果を出力してみましょう!

UMAPによる可視化

次にUMAPで次元削減を実装するコードを紹介します!

UMAPはハイパーパラメータチューニングがないのでシンプルです

 

まとめ

UMAPとt-SNEの結果を比較すると、データのクラスタリングや分布の違いが見えてきます。

例えば、t-SNEでは全体的な円の構造を保ちつつ次元削減されています。

一方、t-SNEでは、近いデータポイント間の関係が強調され、クラスタリングの詳細が明確に分かりやすいですね。

化学構造使ったデータ分析を行う際に、ぜひご活用下さい!!

 

 

データ分析
未経験の壁をぶっこわ〜す!化学系データサイエンティスト転職ブログ

コメント

タイトルとURLをコピーしました