FastICA output
I'm looking into the code of FastICA and FastICAModel. I'm confused by some things.
First, FastICAModel.toResultString() prints the weights of component with index 1. I think it should be index 0. I've filed a bug about this. However, I wonder if this is useful anyway. The components in an ICA model are not ordered like they are for a PCA model. So it's arbitrary to output just one component.
Also, what is output is from the matrix A. This matrix is not used in FastICAModel.apply(..). So again I wonder if it's meaningful to output it. I guess I don't know what "attribute weights" mean in this context if they are not actually used when the model is applied. I would expect to see in the output some part of the model that is actually used in its application. The application uses <example> - mean * K * W, so I would expect K*W to be the weights, but K*W != A.
Any help interpreting FastICA?
First, FastICAModel.toResultString() prints the weights of component with index 1. I think it should be index 0. I've filed a bug about this. However, I wonder if this is useful anyway. The components in an ICA model are not ordered like they are for a PCA model. So it's arbitrary to output just one component.
Also, what is output is from the matrix A. This matrix is not used in FastICAModel.apply(..). So again I wonder if it's meaningful to output it. I guess I don't know what "attribute weights" mean in this context if they are not actually used when the model is applied. I would expect to see in the output some part of the model that is actually used in its application. The application uses <example> - mean * K * W, so I would expect K*W to be the weights, but K*W != A.
Any help interpreting FastICA?