在Python中使用决策树进行回归分析的评估指标
在Python中使用决策树进行回归分析的评估指标主要包括:
-
均方误差(Mean Squared Error,MSE):计算预测值与真实值之间的平均二次差异,公式为MSE = (1/n) * Σ(yi - yi')^2,其中yi表示真实值,yi'表示预测值,n表示样本数量。
-
均方根误差(Root Mean Squared Error,RMSE):是MSE的平方根,公式为RMSE = sqrt(MSE)。
-
平均绝对误差(Mean Absolute Error,MAE):计算预测值与真实值之间的平均绝对差异,公式为MAE = (1/n) * Σ|yi - yi'|。
-
决定系数(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。
相关文章