sklearn.metrics 的平均绝对值百分比误差怎么用
时间: 2023-07-24 22:59:30 浏览: 183
在 sklearn.metrics 中,平均绝对值百分比误差(Mean Absolute Percentage Error, MAPE)并没有直接提供,但你可以自己实现它。
以下是一个自定义的函数来计算 MAPE 的示例:
```python
import numpy as np
def mean_absolute_percentage_error(y_true, y_pred):
y_true = np.array(y_true)
y_pred = np.array(y_pred)
return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
```
使用该函数时,你需要传入两个参数:y_true 表示真实的目标值,y_pred 表示预测的目标值。函数会返回 MAPE 的百分比值。
示例用法:
```python
from sklearn.metrics import mean_absolute_error
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
# 创建一个回归数据集
X, y = make_regression(n_samples=100, n_features=1, random_state=42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型并进行预测
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
# 计算 MAPE
mape = mean_absolute_percentage_error(y_test, y_pred)
print("MAPE:", mape)
```
请注意,MAPE 在实际使用中可能会出现除以零的情况,因此在计算前应该先检查分母是否为零,并进行相应的处理。
阅读全文