在Python中使用决策树进行回归分析的评估指标

2023-04-14 00:00:00 指标 回归 评估

在Python中使用决策树进行回归分析的评估指标主要包括:

  1. 均方误差(Mean Squared Error,MSE):计算预测值与真实值之间的平均二次差异,公式为MSE = (1/n) * Σ(yi - yi')^2,其中yi表示真实值,yi'表示预测值,n表示样本数量。

  2. 均方根误差(Root Mean Squared Error,RMSE):是MSE的平方根,公式为RMSE = sqrt(MSE)。

  3. 平均绝对误差(Mean Absolute Error,MAE):计算预测值与真实值之间的平均绝对差异,公式为MAE = (1/n) * Σ|yi - yi'|。

  4. 决定系数(Coefficient of Determination,R^2):表示模型对样本数据方差的解释能力,取值范围为[0, 1],越接近1表示模型越好,公式为R^2 = 1 - Σ(yi - yi')^2 / Σ(yi - y_mean)^2,其中y_mean表示样本真实值的平均值。

下面是使用sklearn库中的DecisionTreeRegressor进行决策树回归的代码演示:

from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 构造样本数据
X = [[i] for i in range(10)]
y = [2*i+1 for i in range(10)]

# 构造模型并拟合数据
model = DecisionTreeRegressor()
model.fit(X, y)

# 预测并计算评估指标
y_pred = model.predict(X)
mse = mean_squared_error(y, y_pred)
rmse = mean_squared_error(y, y_pred, squared=False)
mae = mean_absolute_error(y, y_pred)
r2 = r2_score(y, y_pred)

# 打印评估指标
print("MSE:", mse)  # 输出MSE: 0.0
print("RMSE:", rmse)  # 输出RMSE: 0.0
print("MAE:", mae)  # 输出MAE: 0.0
print("R^2:", r2)  # 输出R^2: 1.0

其中,构造的样本数据中X为样本特征,y为样本真实值。构造的模型为决策树回归模型DecisionTreeRegressor,调用fit()方法拟合数据。预测并计算评估指标时,使用predict()方法得到预测值,然后用mean_squared_error()、mean_absolute_error()和r2_score()等函数分别计算评估指标。最后打印评估指标。以上代码中,模型预测的结果非常准确,因此各项指标的值都为0或1。

相关文章