scikit-learn 1.0 版本重要新特性一览

简介: scikit-learn 1.0 版本重要新特性一览

1 简介

就在几天前,著名的机器学习框架scikit-learnpypi上释放了其1.0rc1版本,这里给大家科普一下,版本号中的rcRelease Candidate的简称,代表当前的版本是一个候选发布版本,一旦到了这个阶段,scikit-learn对于1.0版本的开发设计就基本上不会再新增功能,而是全力投入到查缺补漏的测试中去也就意味着:

经历了十余年的开发进程,scikit-learn即将迎来其颇具里程碑意义的一次大版本发布!

在这次大版本更新中,scikit-learn也很有诚意地带来了诸多新特性,下面我们就来对其中一些关键性的内容进行简单的介绍。

2 scikit-learn 1.0 版本重要特性一览

2.1 强制要求使用关键词参数传参

按照scikit-learn官方的说法,为了更加清楚明确地构建机器学习代码,在之后的版本中,绝大部分API都将逐渐转换为强制使用「关键词参数」,使用「位置参数」则会直接抛出TypeError错误,以SVC为例:

2.2 新增r_regression()

在新版本中新增了sklearn.feature_selection.r_regression(),可以用来快速计算各个自变量与因变量之间的皮尔逊简单相关系数来辅助特征工程过程。

2.3 新增线性分位数回归模型QuantileRegressor()

新版本中在sklearn.linear_model下添加了线性分位数回归模型QuantileRegressor(),可用于构建回归模型由自变量求出因变量的条件分位数,近年来在计量经济学中应用广泛。

2.4 新增基于随机梯度下降的OneClassSvm模型

sklearn.linear_model中新增了基于随机梯度下降法的异常检测模型SGDOneClassSVM()

2.5 带交叉验证的Lasso回归与ElasticNet新增sample_weight参数

sklearn.linear_model中的LassoCV()ElasticNetCV()新增参数sample_weight,可帮助我们在模型建立的过程中通过构建权重提升部分样本的重要性。

2.6 为分位数回归模型新增模型性能度量指标

伴随着新的分位数回归模型,scikit-learn也顺势新增了专门用于度量分位数回归模型性能的Pinball loss系数:

2.7 模型选择新增StratifiedGroupKFold()

新版中将sklearn.model_selection中常用的StratifiedKFold()GroupKFold()进行结合,使得我们可以快速构建分层分组K折交叉验证流程,详情参考:https://scikit-learn.org/dev/modules/generated/sklearn.model_selection.StratifiedGroupKFold.html#sklearn.model_selection.StratifiedGroupKFold

2.8 KMeans聚类中的k-means++初始化方法运算速度提升

新版本中cklearn.cluster中常用的KMeans()MiniBatchKMeans()聚类模型,在默认的k-means++簇心初始化方法下运算速度获得大幅度提高,尤其是在多核机器上表现更佳。

2.9 多项式&交互项特征生成速度提升

新版本中sklearn.preprocessing中用于快速合成多项式&交互项特征的PolynomialFeatures()的运算速度更快了,且在输入为大型稀疏特征时效果更为明显。

2.10 np.matrix型输入即将弃用

1.0版本开始,scikit-learn中的各种算法模型在接受numpy中的matrix类型输入时,会打印「弃用警告」,且从未来的1.2版本开始,当用户输入np.matrix类型时将会直接报错:

2.11 利用feature_names_in_获取pandas数据框输入下的特征名称

当输入的特征为pandas中的DataFrame类型时,对于训练好的模型,可以使用feature_names_in_属性获取到对应输入特征的字段名称:

2.12 绘制局部依赖图的方式变化

在我们试图对模型进行解释时,局部依赖图是一个比较经典的工具,在以前的版本中我们可以使用sklearn.inspection中的plot_partial_dependence()来绘制局部依赖图,而在新版本中将会弃用这种方式,并且在1.2版本开始正式移除这个API,新的替代方案是使用sklearn.inspection.PartialDependenceDisplayfrom_estimator()

目录
相关文章
|
10月前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
11月前
|
Ubuntu 安全 API
Python3.14正式支持Free Threaded版本!
Python 社区迎来历史性时刻!Python 3.14 正式将无 GIL 构建列为受支持选项,标志着 Free‑Threaded Phase II 启动。本文将深入解析 PEP 779 规定的支持标准、3.14.0b3 版本的新变化,以及这对Python开发者意味着什么。文末还有小彩蛋哦!
1636 87
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
760 7
|
机器学习/深度学习 数据采集 算法
深入调查研究Scikit-learn
【11月更文挑战第11天】
459 1
|
10月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
12月前
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
1301 12
Scikit-learn:Python机器学习的瑞士军刀
|
Ubuntu Shell Linux
pyenv 管理多个 Python 版本(1)
pyenv 管理多个 Python 版本(1)
608 86
pyenv 管理多个 Python 版本(1)
|
Shell Python
使用 pyenv 来管理多个 Python 版本(2)
使用 pyenv 来管理多个 Python 版本(2)
534 71
使用 pyenv 来管理多个 Python 版本(2)
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
784 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
Python与机器学习:使用Scikit-learn进行数据建模

推荐镜像

更多