如何用Python来计算偏差-方差权衡?( 三 )
#estimate the bias and variance for a regression model frompandas import read_csv fromsklearn.model_selection import train_test_split fromsklearn.linear_model import LinearRegression frommlxtend.evaluate import bias_variance_decomp #load dataset url ='https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.csv' dataframe= read_csv(url, header=None) #separate into inputs and outputs data= http://news.hoteastday.com/a/dataframe.values X, y= data[:, :-1], data[:, -1] #split the data X_train,X_test, y_train, y_test = train_test_split(X, y, test_size=0.33,random_state=1) #define the model model= LinearRegression() #estimate bias and variance mse,bias, var = bias_variance_decomp(model, X_train, y_train, X_test, y_test,loss='mse', num_rounds=200, random_seed=1) #summarize results print('MSE:%.3f' % mse) print('Bias:%.3f' % bias) print('Variance:%.3f' % var)执行上述代码 , 记录估计出的误差和模型的偏差和方差 。
注意:考虑到算法或评估过程的自然随机性或者是数值精度的不同 , 你的结果有可能会存在很大的差异 。 你可以考虑把这段代码反复执行几次 , 比较结果的平均值 。
本例中 , 我们可以看到这个模型具有高偏差和低方差 。 这是预料之中的 , 因为我们用的是线性回归模型 。 我们还可以看到估计平均值加上方差等于模型的评估误差 , 即20.726+1.1761=22.487 。
MSE:22.487 Bias:20.726 Variance:1.761
深入了解
如果您想进一步了解 , 本节将提供更多有关该主题的资源 。
- 教程
https://machinelearningmastery.com/gentle-introduction-to-the-bias-variance-trade-off-in-machine-learning/
- 书籍
https://amzn.to/2RC7ElX
《预测模型应用》 , 2013版:
https://amzn.to/3a7Yzrc
- 文章
https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
偏差方差分解 , MLxtend库:
http://rasbt.github.io/mlxtend/user_guide/evaluate/bias_variance_decomp/
总结
在这篇教程中 , 你掌握了如何计算一个机器学习模型的偏差和方差 。
具体而言 , 你学到了:
- 模型误差包含模型方差、模型偏差以及不可约误差 。
- 我们寻求具有低偏差和低方差的模型 , 但是一般情况下一个值的缩小会导致另一个值的增大 。
- 如何将均方误差分解成模型的偏差和方差 。
How to Calculate the Bias-Variance Trade-off with Python
原文链接:
https://machinelearningmastery.com/calculate-the-bias-variance-trade-off/
编辑:晏斓辉
译者简介
本文插图
吴振东 , 法国洛林大学计算机与决策专业硕士 。 现从事人工智能和大数据相关工作 , 以成为数据科学家为终生奋斗目标 。 来自山东济南 , 不会开挖掘机 , 但写得了Java、Python和PPT 。
——END——
【如何用Python来计算偏差-方差权衡?】想要获得更多数据科学领域相关动态 , 诚邀关注清华-青岛数据科学研究院官方微信公众平台“ 数据派THU ” 。 欢迎大家评论区讨论和留言~
推荐阅读
- 下个10年,Go能取代Python成为开发者的首选语言吗?
- 游戏葡萄|七年磨一剑的任天堂,如何用美术诠释游戏?
- 大数据&云计算长飞公司亮相2020中国国际信息通信展览会
- 设备间微软推出SurfaceFleet 一种实现多设备间交互的计算概念
- 「计算机组成原理」:一文快速了解计算机原理知识点-附思维导图
- 南方新闻网|研祥凭什么做世界特种计算机NO.1?陈志列这三句话就是底气
- 艾问人物||艾问人物,隐私计算“四小龙”将如何重塑未来互联网
- 上海宝山|自愿加班,加班工资该如何计算?来看解答
- 快科技|新一代7nm计算卡就要来了,AMD申请CDNA商标
- 阿里云弹性高性能计算E-HPC:攀登性能“高峰”,加速行业创新
