rascaline
rascaline copied to clipboard
Transformer class for the property selection
Hello, everyone! This PR is the first step in adding the 'Transformer' class to rascaline. The 'Transformer' class makes it easy to create a representation matrix when using some other matrix as a reference. A classic use case is to create a TensorMap representation for a dataset, then perform transformations within that TensorMap (e.g., keys_to_features or keys_to_properties), and select the most useful features in the transformed TensorMap. The 'Transformer' allows a set of these features to be used to calculate a new TensorMap, thus saving computation time and maintaining a single I tried to explain the logic of the algorithm in the comments to the code, but if you have any questions - ask, I'll be happy to answer, as well as happy to receive any comments and suggestions.
IMPORTANT: We need to add to the code the ability to perform several transformations one by one. This will be the next step. Note that this branch is based on the selected_keys branch, which itself is still a PR. representation for all representations.