24 using namespace shogun;
28 m_whitening(do_whitening_), m_mode(mode_), thresh(thresh_)
40 "Transformation matrix (Eigenvectors of covariance matrix).",
43 SG_ADD(&m_eigenvalues_vector,
"eigenvalues vector",
69 SG_INFO(
"num_examples: %ld num_features: %ld \n", num_vectors, num_features);
76 for (i=0; i<num_vectors; i++)
78 for (j=0; j<num_features; j++)
83 for (i=0; i<num_features; i++)
90 for (i=0; i<num_vectors; i++)
92 for (k=0; k<num_features; k++)
95 cblas_dger(CblasColMajor,
96 num_features,num_features,
104 for (i=0; i<num_features; i++)
106 for (j=0; j<num_features; j++)
107 cov[i*num_features+j]/=(num_vectors-1);
110 SG_INFO(
"Computing Eigenvalues ... ") ;
124 for (i=0; i<num_features; i++)
128 for (i=num_features-1; i>-1; i--)
132 if (com_sum/eig_sum>=
thresh)
138 for (i=num_features-1; i>-1; i--)
147 SG_INFO(
"Done\nReducing from %i to %i features..", num_features,
num_dim) ;
153 for (i=num_features-
num_dim; i<num_features; i++)
155 for (k=0; k<num_features; k++)
161 cov[num_features*i+k];
184 SG_INFO(
"get Feature matrix: %ix%i\n", num_vectors, num_features);
188 SG_INFO(
"Preprocessing feature matrix\n");
192 for (int32_t vec=0; vec<num_vectors; vec++)
196 for (i=0; i<num_features; i++)
199 cblas_dgemv(CblasColMajor,CblasNoTrans,
208 m_transformed[i] = res[i];
215 SG_INFO(
"new Feature matrix: %ix%i\n", num_vectors, num_features);
226 for (int32_t i=0; i<vector.
vlen; i++)
229 cblas_dgemv(CblasColMajor,CblasNoTrans,