Feature implementation not found: conserv
skodapetr opened this issue · comments
There are several conservation features named:
conserv_cloud
conserv
conservationcloud
conservationcloudscaled
conservation
However, not all of then works, for conserv
I got:
java.lang.IllegalStateException: Feature implementation not found: conserv
I do not see a difference between the features - is there a description somewhere?
As far as I know, there is also no recommendation of which feature should be used.
Where are they named?
List of currently available conservation based features is:
conservation
,conservationcloud
,conservationcloudscaled
conserv_sas
,conserv_atomic
,conserv_cloud
You can see that in cz.siret.prank.features.api.FeatureRegistry
. First triplet are original features by Lukas and are described in his Bc. thesis (https://is.cuni.cz/webapps/zzp/detail/189243/41539668). Second triplet is new cleaner implementation by me that serve also as an example of using Residue/SAS/Atomic features framework and converters.
There is no recommendation which to use. Comprehensive experiments have not been performed, although I think you might find some comparison and discussion in Lukas's Bc. thesis. It is not hard to compare their contribution on your development dataset, either by calculating feature importances or comparing them one-by-one. My expectation would be that the difference between them is not substantial. They all start with the same information but map it onto SAS points in slightly different ways. Personally I would use second triplet in combination with tuning conserv_cloud_radius
parameter.
@skodapetr, is the explanation sufficient?
The aim of the question was to found out why there is a class
https://github.com/rdk/p2rank/blob/develop/src/main/groovy/cz/siret/prank/features/implementation/conservation/ConservRF.groovy
with conservatio name conserv
that when used throws java.lang.IllegalStateException: Feature implementation not found: conserv
.
I would expect to be able to get the information you mention in your respojnse from a comment in the code or documentation. As now I know, but other person may not ... but at least there is chance that they may find this issue.