2019年5月,Scikit-learn(sklearn)迎来了历史性的0.21版本,不再支持Python 2.7和3.4,仅支持Python 3.5及后续版本。此前,2018年9月0.20版本发布时,已对此做出了提前说明。
sklearn版本更新内容的六大分类
在了解这一次的版本更新内容前,先熟悉一下sklearn对更新内容的分类习惯。
sklearn将更新内容划分成六个大类,由四种颜色标识。分别是:
- 绿色,重大新功能 Major Feature;
- 绿色,新功能 Feature;
- 蓝色,效率提高 Efficiency;
- 蓝色,性能增强 Enhancement;
- 红色,缺陷修复 Fix;
- 橙色,接口改动 API Change。
在0.21版本发布后,陆续更新了几个以缺陷修复为主的小版本。考虑到0.21版本的更新内容不算少,所以,挑选绿色标识的内容,主要关注一下新增的功能。
0.21的绿色功能更新内容摘要
一共有24个绿色标签的功能性改动,涉及到了14个类别。其中,13类是具体模块,剩下的1类,是牵涉多个模块的基础性改动。
sklearn.cluster 新增了1项
- 一个聚类算法 cluster.OPTICS,比cluster.DBSCAN更方便调参。
sklearn.ensemble 新增了2项
- 两个实验性质的梯度下降树GBT,分别是ensemble.HistGradientBoostingClassifier 和 ensemble.HistGradientBoostingRegressor,据说是受到了LightGBM的启发。当样本数量大于数万个时,会比ensemble.GradientBoostingRegressor 和 ensemble.GradientBoostingClassifier要快。但因为是实验性质的,功能还不健全,sklearn也可能随时修改这一项更新的内容,对结果不做一致性的保证。