PhasesResearchLab / pySIPFENN

Python python toolset for Structure-Informed Property and Feature Engineering with Neural Networks. It offers unique advantages through (1) effortless extensibility, (2) optimizations for ordered, dilute, and random atomic configurations, and (3) automated model tuning.
https://pysipfenn.org
Other
19 stars 3 forks source link

Add KS2022 Random Solution Featurization #10

Closed amkrajewski closed 10 months ago

amkrajewski commented 11 months ago

This PR adds KS2022 Random Solution Featurizer pysipfenn/descriptorDefinitions/KS2022_randomSolutions.py, which allows users to (1) take a structure (or its prototype) and a desired chemical composition, then (2) create a small supercell (acting as a batch of sites), and finally (3) keep "expanding" the set of supercells, while calculating all KS2022 features, until all of them converge onto stable values.

Additionally, it:

codecov[bot] commented 11 months ago

Codecov Report

Attention: 13 lines in your changes are missing coverage. Please review.

Comparison is base (9d09a00) 92.61% compared to head (b3ca142) 93.63%. Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #10 +/- ## ========================================== + Coverage 92.61% 93.63% +1.01% ========================================== Files 16 16 Lines 1814 1649 -165 ========================================== - Hits 1680 1544 -136 + Misses 134 105 -29 ``` | [Files](https://app.codecov.io/gh/PhasesResearchLab/pySIPFENN/pull/10?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PhasesResearchLab) | Coverage Δ | | |---|---|---| | [pysipfenn/descriptorDefinitions/KS2022.py](https://app.codecov.io/gh/PhasesResearchLab/pySIPFENN/pull/10?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PhasesResearchLab#diff-cHlzaXBmZW5uL2Rlc2NyaXB0b3JEZWZpbml0aW9ucy9LUzIwMjIucHk=) | `90.79% <100.00%> (-1.44%)` | :arrow_down: | | [pysipfenn/descriptorDefinitions/Ward2017.py](https://app.codecov.io/gh/PhasesResearchLab/pySIPFENN/pull/10?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PhasesResearchLab#diff-cHlzaXBmZW5uL2Rlc2NyaXB0b3JEZWZpbml0aW9ucy9XYXJkMjAxNy5weQ==) | `95.34% <100.00%> (-1.38%)` | :arrow_down: | | [pysipfenn/tests/test\_KS2022\_randomSolution.py](https://app.codecov.io/gh/PhasesResearchLab/pySIPFENN/pull/10?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PhasesResearchLab#diff-cHlzaXBmZW5uL3Rlc3RzL3Rlc3RfS1MyMDIyX3JhbmRvbVNvbHV0aW9uLnB5) | `97.29% <97.29%> (+1.14%)` | :arrow_up: | | [pysipfenn/descriptorDefinitions/KS2022\_dilute.py](https://app.codecov.io/gh/PhasesResearchLab/pySIPFENN/pull/10?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PhasesResearchLab#diff-cHlzaXBmZW5uL2Rlc2NyaXB0b3JEZWZpbml0aW9ucy9LUzIwMjJfZGlsdXRlLnB5) | `93.65% <83.33%> (-1.52%)` | :arrow_down: | | [...nn/descriptorDefinitions/KS2022\_randomSolutions.py](https://app.codecov.io/gh/PhasesResearchLab/pySIPFENN/pull/10?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PhasesResearchLab#diff-cHlzaXBmZW5uL2Rlc2NyaXB0b3JEZWZpbml0aW9ucy9LUzIwMjJfcmFuZG9tU29sdXRpb25zLnB5) | `95.55% <95.55%> (+12.36%)` | :arrow_up: |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

amkrajewski commented 11 months ago
  1. Improved the testing. Coverage should be increased to 90+ now.
  2. Polished the code style and fixed a few typos.
  3. Tuned the default parameters to better converge for complex cases (6-element HEAs)