Ich bin mit der Eigen-Bibliothek in C++ zu berechnen: I zur Zeit der Kovarianzmatrix selbst bin Berechnung wie folge:Eigen: Gibt es eine eingebaute Möglichkeit, Probe Kovarianz
Eigen::MatrixXd covariance_matrix = Eigen::MatrixXd::Constant(21, 21, 0);
data mean = calc_mean(all_data)
for(int j = 0; j < 21; j++){
for(int k = 0; k < 21; k++){
for(std::vector<data>::iterator it = all_data.begin(); it!= all_data.end(); it++){
covariance_matrix(j,k) += ((*it)[j] - mean[j]) * ((*it)[k] - mean[k]);
}
covariance_matrix(j,k) /= all_data.size() - 1;
}
}
Gibt es einen eingebauten/optimierteren Weg zu Mach das mit der Eigenen Bibliothek? Zum Beispiel, wenn ich meine Daten in einem MatrixXd
wo jede Zeile ist eine Beobachtung und jede Spalte ein Feature?
Dank
Vorsicht für 'mat.rows() == 1 '. –