【机器学习sklearn实战】计算偏差和方差

采用mlxtend可以很方便的计算Bias-Variance误差分解,下面是回归决策树方法的偏差-方差分解。

python 复制代码
from mlxtend.evaluate import bias_variance_decomp
from sklearn.tree import DecisionTreeRegressor
from mlxtend.data import boston_housing_data
from sklearn.model_selection import train_test_split

X, y = boston_housing_data()
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    test_size=0.3,
                                                    random_state=123,
                                                    shuffle=True)

tree = DecisionTreeRegressor(random_state=123)

avg_expected_loss, avg_bias, avg_var = bias_variance_decomp(
        tree, X_train, y_train, X_test, y_test, 
        loss='mse',
        random_seed=123)

print('Average expected loss: %.3f' % avg_expected_loss)
print('Average bias: %.3f' % avg_bias)
print('Average variance: %.3f' % avg_var)

输出结果为:

sh 复制代码
Average expected loss: 31.536
Average bias: 14.096
Average variance: 17.440

作为对比,下面是Bagging方法的偏差-方差,可以看出采用Bagging方法可以降低variance。

python 复制代码
from sklearn.ensemble import BaggingRegressor

tree = DecisionTreeRegressor(random_state=123)
bag = BaggingRegressor(estimator=tree,
                       n_estimators=100,
                       random_state=123)

avg_expected_loss, avg_bias, avg_var = bias_variance_decomp(
        bag, X_train, y_train, X_test, y_test, 
        loss='mse',
        random_seed=123)

print('Average expected loss: %.3f' % avg_expected_loss)
print('Average bias: %.3f' % avg_bias)
print('Average variance: %.3f' % avg_var)

输出结果为:

sh 复制代码
Average expected loss: 18.620
Average bias: 15.460
Average variance: 3.159
相关推荐
龚大龙13 分钟前
机器学习(李宏毅)——RL(强化学习)
人工智能·机器学习
万事可爱^7 小时前
HDBSCAN:密度自适应的层次聚类算法解析与实践
算法·机器学习·数据挖掘·聚类·hdbscan
若兰幽竹11 小时前
【机器学习】多元线性回归算法和正规方程解求解
算法·机器学习·线性回归
Watermelo61711 小时前
从DeepSeek大爆发看AI革命困局:大模型如何突破算力囚笼与信任危机?
人工智能·深度学习·神经网络·机器学习·ai·语言模型·自然语言处理
北_鱼12 小时前
支持向量机(SVM):算法讲解与原理推导
算法·机器学习·支持向量机
IT古董16 小时前
【漫话机器学习系列】100.L2 范数(L2 Norm,欧几里得范数)
人工智能·机器学习
B站计算机毕业设计超人17 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
夏莉莉iy17 小时前
[MDM 2024]Spatial-Temporal Large Language Model for Traffic Prediction
人工智能·笔记·深度学习·机器学习·语言模型·自然语言处理·transformer
pchmi18 小时前
CNN常用卷积核
深度学习·神经网络·机器学习·cnn·c#
pzx_00119 小时前
【机器学习】K折交叉验证(K-Fold Cross-Validation)
人工智能·深度学习·算法·机器学习