python计算rmse
时间: 2023-08-31 08:41:12 浏览: 130
### 回答1:
如果你要计算真实值 y 和预测值 y_hat 的均方根误差 (RMSE),可以使用以下代码:
```python
from sklearn.metrics import mean_squared_error
import math
y = [1, 2, 3, 4, 5]
y_hat = [1.2, 2.3, 2.8, 3.9, 4.5]
rmse = math.sqrt(mean_squared_error(y, y_hat))
print("RMSE:", rmse)
```
输出:
```
RMSE: 0.45226701686664543
```
其中,`mean_squared_error` 函数计算均方误差,`math.sqrt` 函数计算平方根,从而得到 RMSE。需要注意的是,这里使用了 `math.sqrt` 函数,因此需要导入 `math` 模块。
### 回答2:
在Python中,可以使用以下代码计算均方根误差(RMSE):
首先,导入必要的库,如`numpy`和`math`:
```python
import numpy as np
import math
```
接下来,定义一个计算RMSE的函数:
```python
def calculate_rmse(actual_values, predicted_values):
squared_error = np.square(np.subtract(actual_values, predicted_values))
mean_squared_error = np.mean(squared_error)
rmse = math.sqrt(mean_squared_error)
return rmse
```
在上述函数中,`actual_values`和`predicted_values`分别是实际值和预测值的数组。函数首先计算两个数组的差值的平方,然后取平均值得到均方误差(MSE)。接着,使用`math.sqrt()`函数计算均方误差的平方根,得到RMSE,并将其作为函数的返回值。
最后,可以调用上述函数来计算RMSE:
```python
actual_values = np.array([1, 2, 3, 4, 5])
predicted_values = np.array([1.2, 1.8, 2.9, 4.2, 4.8])
rmse = calculate_rmse(actual_values, predicted_values)
print("RMSE:", rmse)
```
在上述示例中,`actual_values`和`predicted_values`分别是实际值和预测值的示例数组。程序输出结果为`RMSE: 0.42640143271122083`,表示均方根误差的值为0.4264。
希望以上回答能对您有所帮助!
阅读全文