概要
MODNet(Material Optimal Descriptor Network)は、材料の記述とその特性との関係を学習するPythonフレームワークです。リポジトリでは、データセットが限られる場合に適し、複数の特性の同時学習をサポートすると説明されています。材料ワークフローでは予測モデリングの段階に位置づけられます。材料組成または結晶構造を材料の記述として入力し、学習済みモデルが実験測定値ではなく特性の予測値を出力します。
このプロジェクトは、インストール可能なパッケージと、文書で説明された事前学習済みモデルを組み合わせています。READMEには、結晶構造から屈折率と振動熱力学特性を予測する2つの事前学習済みモデルが記載されています。独自のモデルを開発するユーザー向けに、引用された手法では特徴選択と同時学習が説明されています。パッケージが宣言する依存関係にはTensorFlow、pymatgen、matminer、scikit-learnが含まれ、Pythonの材料インフォマティクスのエコシステムに属します。ReadTheDocsは公式ドキュメントの入口であり、GitHubのリリース概要では変更情報を確認できます。
再現性を保つにはソフトウェア環境への注意が必要です。READMEでは、依存関係の変更によって特定の特徴量の値が変わる可能性があると警告し、異なるマシン間またはMODNetのバージョン間で環境を固定するよう推奨しています。提供された情報では、最低Pythonバージョンについても食い違いがあります。READMEには3.8+、setup.pyには3.9+と記載されています。出典の抜粋には、詳細な入力形式、事前学習済みモデルの適用範囲、現在の予測精度は示されていません。そのため、予測結果を科学的な判断に用いる前に、リンク先のドキュメントを確認し、対象とする材料データセットで評価する必要があります。
主な機能
- 材料の記述として組成または結晶構造を用いた、教師ありの材料特性学習。
- フレームワーク内で複数の材料特性を同時に学習。
- リンク先のMODNet論文で説明されている手法の一部として、特徴選択に対応。
- 結晶構造から屈折率および振動熱力学特性を予測する、文書で説明された事前学習済みモデルを2つ提供。
- PyPI経由でPythonパッケージを配布し、リポジトリを使った開発用インストール方法も文書に記載。
用途
- 評価案:ラベル付きの小規模な材料データセットで特性予測モデルを学習し、学習に使用していない材料で予測を評価する。
- 評価案:同じ評価用データ分割を用いて、関連する特性の同時学習と、ターゲットごとに個別に学習するモデルを比較する。
- 評価案:スクリーニング研究に関連する結晶構造を用いて、文書で説明された屈折率または振動熱力学特性の事前学習済みモデルを評価する。
使い方
- リポジトリのREADMEを確認し、モデルを学習するか、文書で説明された2つの事前学習済みモデルのいずれかを使用するかを選びます。利用可能な組成データまたは結晶構造データに合う方法を選択してください。
- 公式ドキュメントで、入力データの準備方法とモデルのワークフローの詳細を確認します。出典の抜粋には、必要なデータ形式や予測APIは記載されていません。
- 分離されたPython環境を作成し、READMEに記載されたPyPIでのインストール方法に従います。開発用途では、READMEに記載されたリポジトリ経由の方法も利用できます。環境を選ぶ前に、READMEとsetup.pyのPythonバージョン要件の不一致を解決してください。
- 依存関係を含め、環境を記録して固定します。READMEでは、依存関係の変更が特徴量の値に影響する可能性があると明記されています。MODNetのバージョンを変更する際は、リリース概要を確認してください。
- 評価案として、独立した材料を評価用に確保し、予測を既知のターゲット値と比較して誤差を調べてから、スクリーニングや科学的解釈に出力を使用してください。