pycytominer
pycytominer copied to clipboard
Determine epsilon from the data
The current implementation of sphering in pycytominer uses a constant value (1e-6
) for the regularization parameter epsilon
.
https://github.com/cytomining/pycytominer/blob/a5dac9e3fa3cdf61e9607f479ba53eac7fed18b1/pycytominer/operations/transform.py#L25
Sphering performance may improve if the value of epsilon
is determined directly from the data using @shntnu's approach where epsilon
is one-tenth the eigenvalue at the knee of the the eigenvalue curve.
Here is crude implementation of this approach that I wrote used the kneed package. We may want to rewrite and add it to the sphering method in pycytominer.