【机器学习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
相关推荐
是一个Bug3 小时前
Agent(智能体)应用 的入门学习路径
学习·机器学习
盖小雅6 小时前
自动化排班如何破解劳动法合规难题:从规则冲突到可追溯的排班表
大数据·运维·机器学习·自动化
踏歌~7 小时前
YA期货准备:0 了解期货
机器学习
数据科学小丫8 小时前
特征工程处理
人工智能·算法·机器学习
weixin_4684668511 小时前
PaddlePaddle 深度学习框架实战应用指南
人工智能·深度学习·机器学习·ai·paddlepaddle
Hello world.Joey13 小时前
吴恩达深度学习基础
人工智能·深度学习·神经网络·opencv·算法·机器学习·计算机视觉
水木流年追梦13 小时前
大模型入门-大模型优化方法1
人工智能·学习·算法·机器学习·正则表达式
我叫张土豆13 小时前
向量库原理与 Qdrant 实现详解
人工智能·机器学习
学习中.........14 小时前
大语言模型的采样参数与输出控制机制
人工智能·机器学习·语言模型
weixin_4684668514 小时前
迁移学习落地实战:从场景匹配到价值验证
人工智能·深度学习·机器学习·迁移学习·模型训练·小样本