分子溶解度予測モデルの構築と解析

AI/ML

概要

本リポジトリ「Molecular-solubility-prediction」は、分子の溶解度を定量的に予測するための機械学習モデルを開発したものです。溶解度(LogS)は薬剤設計や材料開発において重要なパラメータであり、実験的測定には時間とコストがかかるため、効率的な予測手法の開発が望まれています。本プロジェクトでは、Pythonを用いてMolLogP、分子量、回転可能結合数、芳香族比率といった分子記述子を特徴量として抽出し、線形回帰とランダムフォレストでモデルを構築。両モデルの性能を比較検証した結果、ランダムフォレストが非線形な相互作用をより適切に捉え、高い予測精度を示しました。

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 3
  • ファイル数: 3
  • メインの言語: Jupyter Notebook

主な特徴

  • 分子記述子を用いた溶解度(LogS)予測モデルの構築
  • 線形回帰とランダムフォレストを比較し、非線形性の扱いに優れたランダムフォレストの有効性を実証
  • PythonのPandas、NumPy、Matplotlib、Scikit-Learnを活用したデータ処理と可視化
  • Colab環境での実行を想定したノートブックとPythonスクリプトを提供

技術的なポイント

本プロジェクトは、分子の物理化学的特徴量を入力として溶解度を予測する機械学習パイプラインを構築しています。まず、分子記述子としてMolLogP(分子の疎水性指標)、MolWt(分子量)、NumRotatableBonds(回転可能な結合数)、AromaticProportion(芳香族原子比率)を選定。これらは分子の溶解度に影響を与える重要なパラメータであり、データ解析の初期段階でこれらの特徴量の分布や相関を確認しています。

モデル構築にはScikit-LearnのLinear Regression(線形回帰)とRandom Forest Regressor(ランダムフォレスト回帰)を用いました。線形回帰は単純かつ解釈性が高い一方で、分子記述子間の非線形な相互作用を捉えるのが難しいという課題があります。これに対しランダムフォレストは複数の決定木を組み合わせたアンサンブル学習であり、非線形性や特徴量間の複雑な関係を柔軟に捕捉可能です。

評価指標として決定係数R²を使用し、両モデルの性能を比較しました。結果として、線形回帰とランダムフォレストのR²は共に約0.7645と同水準でしたが、ランダムフォレストは非線形な特徴の捉え方に優れており、より堅牢な予測が期待できます。

また、データの可視化や特徴量の分布確認にはMatplotlibを活用。コードはJupyter Notebook形式で提供され、Google Colab上での実行も容易です。READMEには実行手順も明記されており、環境構築からモデル学習・評価までを一通り体験可能です。

本リポジトリは分子溶解度予測という特化した応用分野に焦点を当てつつ、機械学習の基礎的な適用例としても参考になる構成です。シンプルながら実践的なコード例が揃っており、化学情報学や機械学習の入門者にとって有用な教材となるでしょう。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: プロジェクト概要・実行方法の説明
  • Welcome_To_Colab.ipynb: Google Colabで動作するJupyter Notebook形式のメイン実装ファイル
  • welcome_to_colab.py: Notebookを補助するPythonスクリプト

まとめ

分子の溶解度予測に特化した機械学習モデルをシンプルに実装し、非線形モデルの有効性を示した実用的リポジトリ。

リポジトリ情報: