Scikit-learn(sklearn)是Python的机器学习库。它从2007年开始,距今2019年,已经服务12年。
那年Python正好18岁
如果说机器学习(ML)的研究热点变化,影响了sklearn的兴衰,那么有关Python的变化,与有存亡焉。
Python作为一门编程语言,诞生至今,一直在蓬勃发展,具有很强的生命力。其公认的是创始人是Guido,荷兰人。他在1989年圣诞夜的闲暇中,决定开发Python。有关命名也是一段趣事,这里不谈。
由于创始人独特的理念,以及开源后各地开发者的热情,随后的二十多年间,Python不断发展。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。
© 2007 - 2019, scikit-learn developers (BSD License).
Python诞生后的第18个年头,2007年,scikit-learn诞生了。故事就从这里开始。
与Python 2相知相守的12年
sklearn初期的版本由少数几位开发者维护,直到2010年后,开发者的名单慢慢变长,文档也越来越规范,更新的内容也都记录在册。那时Python 3小荷才露尖尖角,很多库都还是基于Python 2.x。
before August 26, 2010 (Earlier versions)
- Earlier versions included contributions by Fred Mailhot, David Cooke, David Huard, Dave Morrill, Ed Schofield, Travis Oliphant, Pearu Peterson.
sklearn第一次开始支持Python3是在0.8版本,那是2011年5月。那时的sklearn正在快速补充数据科学工具箱内的物件:各种函数、模型,以及随之而来的各类bug。版本更新里,已经去掉了开发者的名单。
May 11, 2011 (Version 0.8)
- scikit-learn 0.8 was released on May 2011, one month after the first “international” scikit-learn coding sprint and is marked by the inclusion of important modules: Hierarchical clustering, Cross decomposition, Non-negative matrix factorization (NMF or NNMF), initial support for Python 3 and by important enhancements and bug fixes.
开始拥抱Python 3之后,是sklearn的2与3共存时代。同时,也意味着sklearn开始了告别Python 2之旅。比如,发布于2012年1月的0.10版本,sklearn宣告Python 2.5被淘汰,支持从2.6开始。
January 11, 2012 (Version 0.10)
- Python 2.5 compatibility was dropped; the minimum Python version needed to use scikit-learn is now 2.6.
2018年3月,创始人Guido在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。2018年7月,创始人Guido发邮件表示退出决策层。作为一个发展中的Python库,sklearn也要做出一些选择。
0.20宣告决心:准备不再支持Python 2.7和3.4
在2018年9月25日发布的0.20版本中,sklearn做出了声明:将在0.21正式抛弃Python 2.7 和 Python 3.4。
作为一个从Python 2走出来的Python库,这样的反应不算迟钝。这一切要归功于辛勤的开发者们。
September 25, 2018 (Version 0.20.0)
- Warning: Version 0.20 is the last version of scikit-learn to support Python 2.7 and Python 3.4. Scikit-learn 0.21 will require Python 3.5 or higher.
0.21正式分手,携手Python 3.5继续前行
终于,2019年5月,sklearn迎来了0.21版本,这应是一个接轨了Python未来的版本,并且从3.5开始支持。
从更新的内容来看,库没有大地震,包有众多更新,模块有新功能。并在其后陆续更新了几个小版本,修复了不少内容。有兴趣的,可以就0.21这个版本的更新内容做一个了解,也是个了解sklearn的好机会。
文/良宵听雨。授权“游戏夜读”发表。