scikit-learn 0.22版正式发布,第一时间来学习新功能

搞机器学习的应该没有人不知道scikit-learn吧,这个在ML中使用非常频繁的库在昨天已经发布了它最新版本0.22了。

scikit-learn 0.22版正式发布,第一时间来学习新功能

scikit-learn 0.22的发布,其中包含许多错误修复和新功能!我们在下面详细介绍此版本的一些主要功能。

要安装最新版本(使用pip):

pip install -U scikit-learn

使用conda

conda install scikit-learn

新增的绘图API

新的绘图API可用于创建可视化。这个新的API可以快速调整绘图的视觉效果,而无需进行任何重新计算。也可以在同一图形上添加不同的图。下面的例子说明plot_roc_curve,但其他地块事业的支持一样 plot_partial_dependenceplot_precision_recall_curveplot_confusion_matrix

scikit-learn 0.22版正式发布,第一时间来学习新功能

scikit-learn 0.22版正式发布,第一时间来学习新功能

堆叠分类和回归

StackingClassifierStackingRegressor 允许您使用一堆带有最终分类器或回归器的估算器。堆叠概括包括堆叠各个估算器的输出,并使用分类器来计算最终预测。堆叠允许通过将每个单独的估算器的输出用作最终估算器的输入来利用其强度。基本估计量完全拟合,X而最终估计量则使用进行交叉验证的基本估计量预测进行训练cross_val_predict。

scikit-learn 0.22版正式发布,第一时间来学习新功能

输出:0.9473684210526315

基于排列(permutation)的特征重要性

inspection.permutation_importance可用于获取的每个特征的重要性,对于任何拟合估计的估计:

scikit-learn 0.22版正式发布,第一时间来学习新功能

scikit-learn 0.22版正式发布,第一时间来学习新功能

原生支持缺失值以进行梯度增强

ensemble.HistGradientBoostingClassifierensemble.HistGradientBoostingRegressor现在有遗漏值(NaN的)的原生支持。这意味着在训练或预测时无需插补数据。

scikit-learn 0.22版正式发布,第一时间来学习新功能

输出:[0 0 1 1]

预先计算的稀疏最近邻居图

大多数基于最近邻图的估计量都接受预先计算的稀疏图作为输入,以将同一图重用于多个估计量拟合。要在管道中使用此功能,可以使用memory参数以及两个新转换器之一 neighbors.KNeighborsTransformerneighbors.RadiusNeighborsTransformer。预计算也可以由自定义估算器执行,以使用替代实现,例如近似最近邻方法。

scikit-learn 0.22版正式发布,第一时间来学习新功能

基于KNN的插补

支持使用k最近邻来完成缺失值的估算。

每个样本的缺失值都是使用n_neighbors训练集中找到的最近邻的平均值估算的 。如果两个都不丢失的特征都关闭,则两个样本关闭。默认情况下,支持缺失值的欧几里得距离度量标准 nan_euclidean_distances用于查找最近的邻居。

scikit-learn 0.22版正式发布,第一时间来学习新功能

输出:

scikit-learn 0.22版正式发布,第一时间来学习新功能

树的剪枝

树建成后,现在可以修剪大多数基于树的估计量。修剪基于最小的成本复杂性。

scikit-learn 0.22版正式发布,第一时间来学习新功能

输出:

Average number of nodes without pruning 22.3

Average number of nodes with pruning 6.4

从OpenML检索数据帧

datasets.fetch_openml 现在可以返回pd.DataFrame,从而正确处理具有异构数据的数据集:

scikit-learn 0.22版正式发布,第一时间来学习新功能

输出:

scikit-learn 0.22版正式发布,第一时间来学习新功能

检查估计器的scikit-learn兼容性

开发人员可以使用来检查其scikit-learn兼容估计器的兼容性check_estimator。例如,check_estimator(LinearSVC)通行证。

现在,我们提供了一个pytest特定的装饰器,该装饰器允许pytest 独立运行所有检查并报告失败的检查。

scikit-learn 0.22版正式发布,第一时间来学习新功能

ROC AUC支持多类别分类

该roc_auc_score功能也可以用于多类分类。

当前支持两种平均策略:

“一对多”算法计算成对的ROC AUC分数的平均值,

“一对多休息”算法计算每个类别相对于所有其他类别的ROC AUC分数的平均值。

在这两种情况下,都根据模型根据样本属于特定类别的概率估计来计算多类ROC AUC分数。OvO和OvR算法支持统一加权(average='macro')和按流行度(average='weighted')进行加权。

scikit-learn 0.22版正式发布,第一时间来学习新功能

输出:0.9957333333333332

喜欢使用scikit-learn的朋友赶快去试试它的新功能吧!


分享到:


相關文章: