均方根误差(RMSE)c++
时间: 2024-08-12 08:02:01 浏览: 76
均方根误差(Root Mean Square Error, RMSE)是一种常用的评估预测模型性能的统计指标,特别是在回归分析中。它计算的是实际值和预测值之间差异平方的平均值的平方根。在C++中,如果你有一个预测数组和真实值数组,可以按照以下步骤计算RMSE:
```cpp
#include <iostream>
#include <cmath>
#include <vector>
double calculate_RMSE(const std::vector<double>& predictions, const std::vector<double>& actuals) {
double sum_of_squares = 0.0;
for (size_t i = 0; i < predictions.size(); ++i) {
double error = predictions[i] - actuals[i];
sum_of_squares += pow(error, 2);
}
double mean_square_error = sum_of_squares / predictions.size();
return sqrt(mean_square_error);
}
int main() {
// 示例数据
std::vector<double> prediction_data = {1.0, 2.0, 3.0, 4.0, 5.0};
std::vector<double> actual_data = {1.1, 2.2, 3.3, 4.4, 5.5};
double rmse = calculate_RMSE(prediction_data, actual_data);
std::cout << "RMSE: " << rmse << std::endl;
return 0;
}
```
在这个例子中,`calculate_RMSE`函数接受预测值向量和实际值向量作为输入,计算每个元素的误差,求和后再除以元素个数并取平方根。