【机器学习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
相关推荐
feifeikon3 分钟前
SFT与Lora
人工智能·深度学习·机器学习
马特说15 分钟前
金融时间序列机器学习训练前的数据格式验证系统设计与实现
python·机器学习·金融
zhangfeng11332 小时前
机器学习 YOLOv5手绘电路图识别 手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘
人工智能·yolo·机器学习
小牛头#7 小时前
clickhouse 各个引擎适用的场景
大数据·clickhouse·机器学习
kngines11 小时前
【力扣(LeetCode)】数据挖掘面试题0002:当面对实时数据流时您如何设计和实现机器学习模型?
机器学习·数据挖掘·面试题·实时数据
网安INF12 小时前
深度学习中批标准化与神经网络调优
人工智能·深度学习·神经网络·机器学习
爱思德学术13 小时前
中国计算机学会(CCF)推荐学术会议-B(计算机体系结构/并行与分布计算/存储系统):SOCC 2025
网络协议·机器学习·云计算·边缘计算
巴伦是只猫14 小时前
【机器学习笔记 Ⅲ】1 无监督学习
笔记·学习·机器学习
蓝婷儿14 小时前
Python 机器学习核心入门与实战进阶 Day 7 - 复盘 + 综合实战挑战
python·机器学习
神经星星16 小时前
AI 论文周报 | Chai-2刷新抗体设计效率,命中率提高100倍;多篇ICML入围论文一键速览
人工智能·深度学习·机器学习