FastICA output

kgeiskgeis Member Posts: 5 Contributor II
edited November 2018 in Help
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?

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    thanks for taking a look into the ICA. I must admit that it sounds strange to return the second component and changed it to the first. Of course this does not solve the issue that they aren't ordered at all.
    We will take a look at this as soon as possible.

    Greetings,
      Sebastian
  • kgeiskgeis Member Posts: 5 Contributor II
    I made a lot of progress interpreting the output. I wonder how useful it is to show part of the mixing matrix as the output. Again, I would expect to see either W (the unmixing matrix) or K*W (pre-whitening matrix * unmixing matrix). It would give me a better idea of how the model will transform my data.
  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    would it be a solution to add a view for each single matrix? Then please add a feature request for that.

    Greetings,
      Sebastian
Sign In or Register to comment.