New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCA could be faster #198

Closed
rcurtin opened this Issue Dec 29, 2014 · 2 comments

Comments

Projects
None yet
1 participant
@rcurtin
Member

rcurtin commented Dec 29, 2014

Reported by rcurtin on 17 Oct 42162159 13:08 UTC
Right now we are transposing the data matrices:


void PCA::Apply(const arma::mat& data,
                arma::mat& transformedData,
                arma::vec& eigVal,
                arma::mat& coeffs) const
{
  arma::mat transData = trans(data);

  ...
}

I'm convinced we could avoid transposing the matrices and end up with a speed gain as a result. There is a function in arma_extend, arma::ccov(), which will be useful for this. It's the equivalent to cov(trans(matrix)), but without actually performing the transpose.

@rcurtin rcurtin self-assigned this Dec 29, 2014

@rcurtin rcurtin added this to the mlpack 1.0.7 milestone Dec 29, 2014

@rcurtin rcurtin closed this Dec 29, 2014

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin Dec 30, 2014

Member

Commented by rcurtin on 27 Jun 43359020 05:05 UTC
r15050, which was to fix #280, significantly helps this along too. Only PCA remains.

Member

rcurtin commented Dec 30, 2014

Commented by rcurtin on 27 Jun 43359020 05:05 UTC
r15050, which was to fix #280, significantly helps this along too. Only PCA remains.

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin Dec 30, 2014

Member

Commented by rcurtin on 16 Mar 43359031 08:44 UTC
The PCA work was actually done a long time ago but I never knew. So this can be resolved.

Member

rcurtin commented Dec 30, 2014

Commented by rcurtin on 16 Mar 43359031 08:44 UTC
The PCA work was actually done a long time ago but I never knew. So this can be resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment