Comments (6)
maybe something for @kylebystrom ?
from matminer.
@computron, I did some reasearch into the structure features in above paper. I'm going to implement GRDF, incorporating PRDF into the featurizer, along with AFS. Summary below is mostly for my benifit.
PRDF (partial radial distribution function) vector
- already implemented
- need to update return section of doc
GRDF (general radial distribution function) vector
- similar to AGNIFingerprints
- PRDF and AGNIFingerprints (baring direction resolved features) could be implemented inside of GRDF
- GRDF uses a generalized distance functional for binning (atom can belong to more than one bin, and its weight need not be one)
- suggested bins: gaussians, trig functions, bessel functions
- should implement site-wise not element-pair-wise
AFS (angular fourier series) 2x2 matrix
- also uses generalized distance metrics (could share with GRDF)
- each element is two generalized distance metrics multiplied by angle
BOP (bond orientation parameter) vector
- first few terms implemented as q2, q4, and q6 in OPSiteFingerprint
- metric for nearest neighbor enviornments
from matminer.
Thanks for looking in to this, @dyllamt !
I agree, having a GRDF class would cover all of these use cases quite nicely. I'm worried how expansive the number of options for that class might become to cover all of these types of radial distribution functions. Have you already considered making featurizers for PRDF/RDF subclasses of GRDF, or creating clearly-defined presets for common types of GRDF's (e.g., the PRDF)?
from matminer.
I like the subclass suggestion @WardLT .
The parent and child classes could share the same featurize() function, but have different init() for defining the bins--GRDF would have a list of bin functions as inputs, while PRDF would only have a cutoff and binsize as currently implemented.
RDF could be implemented as an option with a boolean flag, which specifies whether to sum the PRDFs for each site.
from matminer.
I think we can close this issue. There are some wrinkles getting ironed out with multiprocessing, but AFS and GRDF were implemented in pull request #138
from matminer.
Ok closing
Will weigh in on the other stuff later, I try to do most code reviews Friday.
from matminer.
Related Issues (20)
- Materials Project time split dataset - `load_data_from_json` returns `None` during debugging (conditionally)
- `matminer.datasets.utils._validate_dataset()` flaky on Windows? HOT 5
- [FEATURE REQUEST] SkipAtom compositional featurizer
- AttributeError: 'DensityFeatures' object has no attribute 'desired_features' HOT 1
- SOAP features HOT 2
- Suggestion: OPTIMADE data retriever HOT 1
- Fail to approach MPData HOT 4
- Handling NaNs from ElementProperty HOT 3
- CI failing due to broken mongo service
- Fixing matminer's multiprocessing problem HOT 1
- New release 0.9.0? HOT 2
- WenAlloy wrong valence electron counts
- mp-api for MPDataRetrieval needs upgrade badly
- Missing compatibility with pandas v2 HOT 11
- Issue link to matsci.org broken
- compatibility request: pandas-2+ HOT 2
- Error in import composition HOT 6
- Simple composition-based featurization fails due to an upgrade in pymatgen HOT 2
- Re-enable tests that are skipped in CI HOT 3
- when I import matminer,mistake as following:ValueError: Unexpected atomic number Z=119。 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matminer.