25 using namespace shogun;
29 m_whitening(do_whitening_), m_mode(mode_), thresh(thresh_)
42 "transformation matrix",
"Transformation matrix (Eigenvectors of covariance matrix).");
44 "mean vector",
"Mean Vector.");
46 "eigenvalues vector",
"Vector with Eigenvalues.");
48 "initalized",
"True when initialized.");
50 "whitening",
"Whether data shall be whitened.");
54 "thresh",
"Cutoff threshold.");
76 SG_INFO(
"num_examples: %ld num_features: %ld \n", num_vectors, num_features);
83 for (i=0; i<num_vectors; i++)
85 for (j=0; j<num_features; j++)
90 for (i=0; i<num_features; i++)
97 for (i=0; i<num_vectors; i++)
99 for (k=0; k<num_features; k++)
102 cblas_dger(CblasColMajor,
103 num_features,num_features,
111 for (i=0; i<num_features; i++)
113 for (j=0; j<num_features; j++)
114 cov[i*num_features+j]/=(num_vectors-1);
117 SG_INFO(
"Computing Eigenvalues ... ") ;
131 for (i=0; i<num_features; i++)
135 for (i=num_features-1; i>-1; i--)
139 if (com_sum/eig_sum>=
thresh)
145 for (i=num_features-1; i>-1; i--)
154 SG_INFO(
"Done\nReducing from %i to %i features..", num_features,
num_dim) ;
160 for (i=num_features-
num_dim; i<num_features; i++)
162 for (k=0; k<num_features; k++)
168 cov[num_features*i+k];
193 SG_INFO(
"get Feature matrix: %ix%i\n", num_vectors, num_features);
197 SG_INFO(
"Preprocessing feature matrix\n");
201 for (int32_t vec=0; vec<num_vectors; vec++)
205 for (i=0; i<num_features; i++)
208 cblas_dgemv(CblasColMajor,CblasNoTrans,
217 m_transformed[i] = res[i];
224 SG_INFO(
"new Feature matrix: %ix%i\n", num_vectors, num_features);
235 for (int32_t i=0; i<vector.
vlen; i++)
238 cblas_dgemv(CblasColMajor,CblasNoTrans,