版本0.24#
有关该版本主要亮点的简短描述,请参阅 scikit-learn 0.24发布亮点 .
换象传说
Major Feature 一些你以前做不到的大事。
Feature 一些你以前做不到的事情。
Efficiency 现有功能现在可能不需要那么多的计算或内存。
Enhancement 一个杂七杂八的小改进。
Fix 以前没有按照记录或合理预期发挥作用的事情现在应该起作用了。
API Change 您需要更改您的代码才能在将来产生相同的效果;或者将来将删除某个功能。
版本0.24.2#
April 2021
Changelog#
sklearn.compose
#
Fix
compose.ColumnTransformer.get_feature_names
does not callget_feature_names
on transformers with an empty column selection. #19579 by Thomas Fan .
sklearn.cross_decomposition
#
Fix 修复了回归
cross_decomposition.CCA
. #19646 通过 Thomas Fan .Fix
cross_decomposition.PLSRegression
对常量y残差而不是StopIteration
error. #19922 by Thomas Fan .
sklearn.decomposition
#
Fix 修复了中的一个错误
decomposition.KernelPCA
的inverse_transform
. #19732 通过 Kei Ishikawa .
sklearn.ensemble
#
Fix 修复了中的一个错误
ensemble.HistGradientBoostingRegressor
fit
与sample_weight
参数和least_absolute_deviation
损失功能。 #19407 通过 Vadim Ushtanit .
sklearn.feature_extraction
#
Fix Fixed a bug to support multiple strings for a category when
sparse=False
infeature_extraction.DictVectorizer
. #19982 by Guillaume Lemaitre.
sklearn.gaussian_process
#
Fix 避免在中显式形成逆协方差矩阵
gaussian_process.GaussianProcessRegressor
当设置为输出标准差时。对于某些协方差矩阵,这个逆矩阵显式计算是不稳定的。调用Cholesky求解器可以缓解计算中的这个问题。 #19939 通过 Ian Halvic .Fix 缩放恒定目标时避免被零除
gaussian_process.GaussianProcessRegressor
.这是由于性病。dev.等于0。现在,这种情况被检测到并进行了std。dev.被影响为1,避免被零除,从而避免标准化目标中存在NaN值。 #19703 通过 @sobkevich , Boris Villazón-Terrazas 和 Alexandr Fonari .
sklearn.linear_model
#
Fix :修复了中的一个错误
linear_model.LogisticRegression
:sample_weight对象不再被修改。 #19182 通过 Yosuke KOBAYASHI .
sklearn.metrics
#
Fix
metrics.top_k_accuracy_score
现在支持仅出现两个类的多类问题y_true
并且所有类都在中指定labels
. #19721 通过 Joris Clement .
sklearn.model_selection
#
Fix
model_selection.RandomizedSearchCV
和model_selection.GridSearchCV
现在正确显示单个指标的得分并且详细度> 2。 #19659 通过 Thomas Fan .Fix 一些价值观
cv_results_
attribute ofmodel_selection.HalvingRandomSearchCV
andmodel_selection.HalvingGridSearchCV
were not properly converted to numpy arrays. #19211 by Nicolas Hug .Fix The
fit
method of the successive halving parameter search (model_selection.HalvingGridSearchCV
, andmodel_selection.HalvingRandomSearchCV
) now correctly handles thegroups
parameter. #19847 by Xiaoyu Chai.
sklearn.multioutput
#
Fix
multioutput.MultiOutputRegressor
现在与动态定义的估计器一起工作predict
during fitting, such asensemble.StackingRegressor
. #19308 by Thomas Fan .
sklearn.preprocessing
#
Fix 初始化构造函数参数
handle_unknown
在preprocessing.OrdinalEncoder
只允许'error'
和'use_encoded_value'
战略布局 #19234 通过Guillaume Lemaitre <glemaitre>
.Fix 修复dype =“S”的编码器类别
preprocessing.OneHotEncoder
和preprocessing.OrdinalEncoder
. #19727 通过 Andrew Delong .Fix
preprocessing.OrdinalEncoder.transform
正确处理字符串数据类型的未知值。 #19888 通过 Thomas Fan .Fix
preprocessing.OneHotEncoder.fit
不再改变drop
parameter. #19924 by Thomas Fan .
sklearn.semi_supervised
#
Fix 在标签传播期间避免NaN
LabelPropagation
. #19271 通过 Zhaowei Wang .
sklearn.tree
#
Fix 修复中的错误
fit
的tree.BaseDecisionTree
这在某些条件下会导致分段错误。fit
现在深度复制Criterion
对象以防止共享并发访问。 #19580 通过 Samuel Brice 和 Alex Adamson 和 Wil Yegelwel .
sklearn.utils
#
Fix Better包含由提供的CSS
utils.estimator_html_repr
通过为html表示提供CSS id。 #19417 通过 Thomas Fan .
版本0.24.1#
January 2021
包装#
0.24.0 scikit-learn wheels不适用于MacOS <1.15,原因是 libomp
.的版本 libomp
用于构建轮子的工具对于旧的macOS版本来说太新了。此问题已在0.24.1 scikit-learn wheels中修复。在PyPI.org上发布的Scikit-learn wheels现在正式支持macOS 10.13及更高版本。
Changelog#
sklearn.metrics
#
Fix 修复可能发生的数值稳定性错误
metrics.adjusted_mutual_info_score
和metrics.mutual_info_score
NumPy 1.20+。 #19179 通过 Thomas Fan .
sklearn.semi_supervised
#
Fix
semi_supervised.SelfTrainingClassifier
现在正在接受元估计器(例如ensemble.StackingClassifier
).一旦我们知道该方法的存在,该估计量的验证就在匹配的估计量上完成predict_proba
. #19126 通过 Guillaume Lemaitre .
版本0.24.0#
December 2020
更改型号#
以下估计量和函数在与相同的数据和参数进行匹配时,可能会产生与之前版本不同的模型。这种情况通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。
Fix
decomposition.KernelPCA
当内核具有较小的正特征值时,32位和64位数据之间的行为现在更加一致。Fix
decomposition.TruncatedSVD
通过暴露一个random_state
参数.Fix
linear_model.Perceptron
当penalty='elasticnet'
.Fix 中心初始化随机抽样程序变更
cluster.KMeans
.
详细信息见下面的变更日志。
(虽然我们试图通过提供这些信息来更好地告知用户,但我们不能保证此列表是完整的。
Changelog#
sklearn.base
#
Fix
base.BaseEstimator.get_params
现在将提出一个AttributeError
如果参数无法作为实例属性检索。以前它会回来None
. #17448 通过 Juan Carlos Alfaro Jiménez .
sklearn.calibration
#
Efficiency
calibration.CalibratedClassifierCV.fit
now supports parallelization viajoblib.Parallel
using argumentn_jobs
. #17107 by Julien Jerphanion.Enhancement 允许
calibration.CalibratedClassifierCV
配合预装使用pipeline.Pipeline
数据不在的地方X
一开始不是类数组、稀疏矩阵或双框架。 #17546 通过 Lucy Liu .Enhancement 添加
ensemble
参数以calibration.CalibratedClassifierCV
,它可以通过一系列校准器(当前方法)或使用所有数据的仅一个校准器(类似于sklearn.svm
估计器与probabilities=True
参数)。 #17856 通过 Lucy Liu 和 Andrea Esuli .
sklearn.cluster
#
Enhancement
cluster.AgglomerativeClustering
有一个新参数compute_distances
.如果设置为True
,计算集群之间的距离并存储在distances_
属性,即使参数distance_threshold
未使用。这个新参数对于生成树状图可视化很有用,但会引入计算和内存开销。 #17984 通过 Michael Riedmann , Emilie Delattre ,而且 Francesco Casalegno .Enhancement
cluster.SpectralClustering
和cluster.spectral_clustering
有一个新的关键字参数verbose
.如果设置为True
,将显示额外的消息,有助于调试。 #18052 通过 Sean O. Stalley .Enhancement 添加
cluster.kmeans_plusplus
作为公共职能。现在可以单独调用KMeans++来生成初始聚类质心。 #17937 通过 @g-walshAPI Change
cluster.MiniBatchKMeans
属性,counts_
和init_size_
,已弃用,并将在1.1中删除(0.26的重命名)。 #17864 通过 Jérémie du Boisberranger .
sklearn.compose
#
Fix
compose.ColumnTransformer
将跳过transformers,列选择器是一个为False的布尔值列表。 #17616 通过 Thomas Fan .Fix
compose.ColumnTransformer
现在在图表显示中显示其余部分。 #18167 通过 Thomas Fan .Fix
compose.ColumnTransformer
强制执行严格的列名计数和顺序fit
和transform
通过在弃用周期之后引发错误而不是警告。 #18256 通过 Madhura Jayratne .
sklearn.covariance
#
API Change 不赞成
cv_alphas_
in favor ofcv_results_['alphas']
andgrid_scores_
in favor of split scores incv_results_
incovariance.GraphicalLassoCV
.cv_alphas_
andgrid_scores_
will be removed in version 1.1 (renaming of 0.26). #16392 by Thomas Fan .
sklearn.cross_decomposition
#
Fix 修复了中的一个错误
cross_decomposition.PLSSVD
它有时会以相反的重要性顺序返回组件。 #17095 通过 Nicolas Hug .Fix 修复了中的一个错误
cross_decomposition.PLSSVD
,cross_decomposition.CCA
,而且cross_decomposition.PLSCanonical
,这将导致错误的预测est.transform(Y)
when the training data is single-target. #17095 by Nicolas Hug .Fix 增加的稳定性
cross_decomposition.CCA
#18746 通过 Thomas Fan .API Change 的边界
n_components
参数现在受到限制:成
[1, min(n_samples, n_features, n_targets)]
,对于cross_decomposition.PLSSVD
,cross_decomposition.CCA
,而且cross_decomposition.PLSCanonical
.成
[1, n_features]
或cross_decomposition.PLSRegression
.
1.1中将引发错误(重命名为0.26)。 #17095 通过 Nicolas Hug .
API Change 为
cross_decomposition.PLSSVD
,cross_decomposition.CCA
,而且cross_decomposition.PLSCanonical
,x_scores_
andy_scores_
attributes were deprecated and will be removed in 1.1 (renaming of 0.26). They can be retrieved by callingtransform
on the training data. Thenorm_y_weights
attribute will also be removed. #17095 by Nicolas Hug .API Change 为
cross_decomposition.PLSRegression
,cross_decomposition.PLSCanonical
,cross_decomposition.CCA
,而且cross_decomposition.PLSSVD
,x_mean_
,y_mean_
,x_std_
,而且y_std_
属性已被弃用并将在1.1中删除(重命名为0.26)。 #18768 通过 Maren Westermann .Fix
decomposition.TruncatedSVD
通过使用random_state
.它控制基础ARPACK求解器的权重初始化。 :pr:` #18302` 通过 Gaurav Desai 和 Ivan Panico .
sklearn.datasets
#
Feature
datasets.fetch_openml
现在验证下载或缓存的arff文件的md5检验和,以确保数据完整性。 #14800 通过 Shashank Singh 和 Joel Nothman .Enhancement
datasets.fetch_openml
现在允许争论as_frame
为“自动”,它会尝试将返回的数据转换为pandas DataFrame,除非数据稀疏。 #17396 通过 Jiaxiang .Enhancement
datasets.fetch_covtype
现在支持可选论点as_frame
;当它设置为True时,返回的Bunch对象的data
和frame
成员是熊猫DataFrames,而熊猫target
成员是熊猫系列。 #17491 通过 Alex Liang .Enhancement
datasets.fetch_kddcup99
现在支持可选论点as_frame
; when it is set to True, the returned Bunch object'sdata
andframe
members are pandas DataFrames, and thetarget
member is a pandas Series. #18280 by Alex Liang and Guillaume Lemaitre .Enhancement
datasets.fetch_20newsgroups_vectorized
现在支持作为熊猫加载DataFrame
通过设置as_frame=True
. #17499 通过 Brigitta Sipőcz 和 Guillaume Lemaitre .API Change 的默认值
as_frame
在datasets.fetch_openml
从False更改为“自动”。 #17610 通过 Jiaxiang .
sklearn.decomposition
#
API Change 为
decomposition.NMF
,init
值,当“init=无”且n_components <= min(n_samples,n_features)时,将更改为'nndsvd'
到'nndsvda'
在1.1中(重命名0.26)。 #18525 通过 Chiara Marmo .Enhancement
decomposition.FactorAnalysis
现在支持可选论点rotation
,可以取值None
,'varimax'
或'quartimax'
. #11064 通过 Jona Sassenhagen .Enhancement
decomposition.NMF
现在支持可选参数regularization
,它可以取值None
、“组件”、“转换”或“两者”,根据decomposition.NMF.non_negative_factorization
. #17414 通过 Bharat Raghunathan .Fix
decomposition.KernelPCA
当内核具有较小的正特征值时,32位和64位数据输入之间的行为现在更加一致。32位数据的小正特征值没有正确丢弃。 #18149 通过 Sylvain Marié .Fix 修复
decomposition.SparseCoder
这样它就遵循scikit-learn API并支持克隆。属性components_
在0.24中不建议使用,并将在1.1中删除(重命名为0.26)。该属性对于dictionary
属性和构造函数参数。 #17679 通过 Xavier Dupré .Fix
decomposition.TruncatedSVD.fit_transform
始终返回与decomposition.TruncatedSVD.fit
其次是decomposition.TruncatedSVD.transform
. #18528 通过 Albert Villanova del Moral 和 Ruifeng Zheng .
sklearn.discriminant_analysis
#
Enhancement
discriminant_analysis.LinearDiscriminantAnalysis
现在可以通过设置covariance_estimator
参数. #14446 通过 Hugo Richard .
sklearn.ensemble
#
Major Feature
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
现在通过对分类功能的本地支持categorical_features
parameter. #18394 by Nicolas Hug 和 Thomas Fan .Feature
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
现在支持该方法staged_predict
,这允许监控每个阶段。 #16985 通过 Hao Chun Chang .Efficiency 中断内部使用的树节点中的循环引用
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
允许对大型中间数据结构进行及时垃圾收集,并提高内存使用率fit
. #18334 by Olivier Grisel Nicolas Hug , Thomas Fan 和 Andreas Müller .Efficiency Histogram initialization is now done in parallel in
ensemble.HistGradientBoostingRegressor
andensemble.HistGradientBoostingClassifier
which results in speed improvement for problems that build a lot of nodes on multicore machines. #18341 by Olivier Grisel, Nicolas Hug, Thomas Fan, and Egor Smirnov.Fix 修复了中的一个错误
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
它现在可以接受数据uint8
dtype inpredict
. #18410 by Nicolas Hug .API Change 参数
n_classes_
现已在ensemble.GradientBoostingRegressor
并返回1
. #17702 通过 Simona Maggio .API Change 现在不建议使用该参数的平均绝对误差(“mae”)
criterion
在ensemble.GradientBoostingRegressor
和ensemble.GradientBoostingClassifier
. #18326 通过 Madhura Jayaratne .
sklearn.exceptions
#
API Change
exceptions.ChangedBehaviorWarning
andexceptions.NonBLASDotWarning
are deprecated and will be removed in 1.1 (renaming of 0.26). #17804 by Adrin Jalali .
sklearn.feature_extraction
#
Enhancement
feature_extraction.DictVectorizer
接受一个类别特征的多个值。 #17367 通过 Peng Yu 和 Chiara Marmo .Fix
feature_extraction.text.CountVectorizer
如果提供捕获多个组的自定义令牌模式,就会出现问题。 #15427 通过 Gangesh Gudmalwar 和 Erin R Hoffman .
sklearn.feature_selection
#
Feature 添加
feature_selection.SequentialFeatureSelector
它实现向前和向后顺序特征选择。 #6545 通过 Sebastian Raschka 和 #17159 通过 Nicolas Hug .Feature 新参数
importance_getter
添加至feature_selection.RFE
,feature_selection.RFECV
和feature_selection.SelectFromModel
,允许用户指定属性名称/路径或callable
用于从估计器中提取特征重要性。 #15361 通过 Venkatachalam N .Efficiency 减少内存占用
feature_selection.mutual_info_classif
和feature_selection.mutual_info_regression
通过调用neighbors.KDTree
用于计算最近的邻居。 #17878 通过 Noel Rogers .Enhancement
feature_selection.RFE
支持数量选项n_features_to_select
以浮点数的形式给出,表示要选择的特征的百分比。 #17090 通过 Lisa Schwetlick 和 Marija Vlajic Wheeler .
sklearn.gaussian_process
#
Enhancement 一种新方法
gaussian_process.kernel._check_bounds_params
在适应高斯过程后被调用并引发ConvergenceWarning
如果超参数的边界太紧 #12638 通过 Sylvain Lannuzel .
sklearn.impute
#
Feature
impute.SimpleImputer
现在支持字符串列表时strategy='most_frequent'
或strategy='constant'
. #17526 通过 Ayako YAGI 和 Juan Carlos Alfaro Jiménez .Feature 增加了方法
impute.SimpleImputer.inverse_transform
用实例化时,将估算数据恢复为原始数据add_indicator=True
. #17612 通过 Srimukh Sripada .Fix 替换默认值
impute.IterativeImputer
的min_value
和max_value
参数以-np.inf
和np.inf
,分别代替None
.然而,班级的行为并没有改变,因为None
已经默认了这些价值观。 #16493 通过 Darshan N .Fix
impute.IterativeImputer
不会尝试设置估计器的random_state
属性,允许将其与更多外部类一起使用。 #15636 通过 David Cortes .Efficiency
impute.SimpleImputer
现在更快了object
d类型数组。当strategy='most_frequent'
在SimpleImputer
. #18987 通过 David Katz .
sklearn.inspection
#
Feature
inspection.partial_dependence
和inspection.plot_partial_dependence
现在支持计算和绘制由kind
参数. #16619 通过 Madhura Jayratne .Feature 添加
sample_weight
参数以inspection.permutation_importance
. #16906 通过 Roei Kahny .API Change 立场论点在
inspection.PartialDependenceDisplay.plot
并且在1.1中会出错(重命名为0.26)。 #18293 通过 Thomas Fan .
sklearn.isotonic
#
Feature 暴露适合的属性
X_thresholds_
和y_thresholds_
其保存isotonic.IsotonicRegression
用于模型检查目的实例。 #16289 通过 Masashi Kishimoto 和 Olivier Grisel .Enhancement
isotonic.IsotonicRegression
现在接受具有1个特征的2D数组作为输入数组。 #17379 通过 Jiaxiang .Fix 在确定重复的X值时添加容差,以防止inf值由
isotonic.IsotonicRegression
. #18639 通过 Lucy Liu .
sklearn.kernel_approximation
#
Feature 添加类
kernel_approximation.PolynomialCountSketch
它实现了用于多元核特征图逼近的张量草图算法。 #13003 通过 Daniel López Sánchez .Efficiency
kernel_approximation.Nystroem
now supports parallelization viajoblib.Parallel
using argumentn_jobs
. #18545 by Laurenz Reitsam.
sklearn.linear_model
#
Feature
linear_model.LinearRegression
现在强制系数全为正值时positive
设置为True
. #17578 通过 Joseph Knox , Nelle Varoquaux 和 Chiara Marmo .Enhancement
linear_model.RidgeCV
now supports finding an optimal regularization valuealpha
for each target separately by settingalpha_per_target=True
. This is only supported when using the default efficient leave-one-out cross-validation schemecv=None
. #6624 by Marijn van Vliet.Fix 修复错误
linear_model.TheilSenRegressor
哪里predict
andscore
would fail whenfit_intercept=False
and there was one feature during fitting. #18121 by Thomas Fan .Fix 修复错误
linear_model.ARDRegression
哪里predict
提出错误时normalize=True
和return_std=True
因为X_offset_
和X_scale_
未定义。 #18607 通过 fhaselbeck .Fix 添加了缺失
l1_ratio
参数linear_model.Perceptron
,用于当penalty='elasticnet'
.这将默认值从0更改为0.15。 #18622 通过 Haesun Park .
sklearn.manifold
#
Efficiency 固定 #10493 .改进局部线性嵌入(LLE)
MemoryError
与大输入一起使用时例外。 #17997 通过 Bertrand Maisonneuve .Enhancement 添加
square_distances
参数以manifold.TSNE
,它在废弃遗留平方行为期间提供向后兼容性。1.1中默认距离平方(重命名为0.26),该参数将在1.3中删除。 #17662 通过 Joshua Newton .Fix
manifold.MDS
现在正确设置其_pairwise
attribute. #18278 by Thomas Fan .
sklearn.metrics
#
Feature 添加
metrics.cluster.pair_confusion_matrix
实现由两个集群中的元素对产生的混淆矩阵。 #17412 通过 Uwe F Mayer .Feature 新度量
metrics.top_k_accuracy_score
.这是对metrics.top_k_accuracy_score
,区别在于,只要真实标签与其中一个关联,预测就被认为是正确的k
最高预测分数。metrics.accuracy_score
是的特殊情况k = 1
. #16625 通过 Geoffrey Bolmier .Feature 添加
metrics.det_curve
计算检测误差权衡曲线分类指标。 #10591 通过 Jeremy Karnowski 和 Daniel Mohns .Feature 添加
metrics.plot_det_curve
和metrics.DetCurveDisplay
以简化DET曲线的绘制。 #18176 通过 Guillaume Lemaitre .Feature 添加
metrics.mean_absolute_percentage_error
回归问题的度量和相关评分器。 #10708 与PR固定 #15007 通过 Ashutosh Hathidara .评分者和一些实际测试案例摘自公关 #10711 通过 Mohamed Ali Jamaoui .Feature 添加
metrics.rand_score
执行(未经调整的)兰德指数。 #17412 通过 Uwe F Mayer .Feature
metrics.plot_confusion_matrix
现在支持通过设置使matplotlib图中的彩色条可选colorbar=False
. #17192 通过 Avi GuptaEnhancement 添加
sample_weight
参数以metrics.median_absolute_error
. #17225 通过 Lucy Liu .Enhancement 添加
pos_label
参数metrics.plot_precision_recall_curve
以便指定在计算精度和召回统计数据时使用的正类。 #17569 通过 Guillaume Lemaitre .Enhancement 添加
pos_label
参数metrics.plot_roc_curve
以便指定在计算ROCAUC统计量时要使用的正类。 #17651 通过 Clara Matos .Fix 修复了中的一个错误
metrics.classification_report
当调用时,它会引发AttribeRightoutput_dict=True
对于0长度值。 #17777 通过 Shubhanshu Mishra .Fix 修复了中的一个错误
metrics.classification_report
当调用时,它会引发AttribeRightoutput_dict=True
对于0长度值。 #17777 通过 Shubhanshu Mishra .Fix 修复了中的一个错误
metrics.jaccard_score
其中建议zero_division
当调用没有真实或预测样本时,参数。 #17826 通过 Richard Decal 和 Joseph WillardFix bug in
metrics.hinge_loss
当发生错误时y_true
缺少中明确提供的一些标签labels
参数. #17935 通过 Cary Goltermann .Fix 修复接受pos_label参数并根据
decision_function
或predict_proba
.以前,当pos_Label不对应时,它们会返回错误的值classifier.classes_[1]
.当直接使用字符串标记的目标类训练分类器时,这一点尤其重要。 #18114 通过 Guillaume Lemaitre .Fix 修复了
metrics.plot_confusion_matrix
当发生错误时y_true
包含分类器以前未看到的标签,而labels
和display_labels
参数设置为None
. #18405 通过 Thomas J. Fan 和 Yakov Pchelintsev .
sklearn.model_selection
#
Major Feature 添加(实验性)参数搜索估计器
model_selection.HalvingRandomSearchCV
和model_selection.HalvingGridSearchCV
它实现连续减半,并可用作model_selection.RandomizedSearchCV
和model_selection.GridSearchCV
. #13900 通过 Nicolas Hug , Joel Nothman 和 Andreas Müller .Feature
model_selection.RandomizedSearchCV
和model_selection.GridSearchCV
现在有方法了score_samples
#17478 通过 Teon Brooks 和 Mohamed Maskani .Enhancement
model_selection.TimeSeriesSplit
有两个新的关键字参数test_size
和gap
.test_size
允许固定所有折叠的样本外时间序列长度。gap
在每次折叠上删除列车和测试集之间固定数量的样本。 #13204 通过 Kyle Kosic .Enhancement
model_selection.permutation_test_score
和model_selection.validation_curve
现在接受fit_params以传递额外的估计器参数。 #18527 通过 Gaurav Dhingra , Julien Jerphanion 和 Amanda Dsouza .Enhancement
model_selection.cross_val_score
,model_selection.cross_validate
,model_selection.GridSearchCV
,而且model_selection.RandomizedSearchCV
允许估计器评分失败并将评分替换为error_score
. Iferror_score="raise"
, the error will be raised. #18343 by Guillaume Lemaitre 和 Devi Sandeep .Enhancement
model_selection.learning_curve
现在接受fit_params以传递额外的估计器参数。 #18595 通过 Amanda Dsouza .Fix 修复了
len
ofmodel_selection.ParameterSampler
when all distributions are lists andn_iter
is more than the number of unique parameter combinations. #18222 by Nicolas Hug .Fix 一个修复当一个或多个简历拆分时发出警告
model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
导致非有限分数。 #18266 通过 Subrat Sahu , Nirvan 和 Arthur Book .Enhancement
model_selection.GridSearchCV
,model_selection.RandomizedSearchCV
和model_selection.cross_validate
支持scoring
being a callable returning a dictionary of multiple metric names/values association. #15126 by Thomas Fan .
sklearn.multiclass
#
Enhancement
multiclass.OneVsOneClassifier
现在接受具有缺失值的输入。因此,可以处理缺失值的估计器(可以是具有插补步骤的管道)可以用作多类包装器的估计器。 #17987 通过 Venkatachalam N .Fix 允许的修复
multiclass.OutputCodeClassifier
接受稀疏的输入数据,fit
和predict
方法.输入有效性的检查现在委托给基本估计器。 #17233 通过 Zolisa Bleki .
sklearn.multioutput
#
Enhancement
multioutput.MultiOutputClassifier
和multioutput.MultiOutputRegressor
现在接受具有缺失值的输入。因此,可以处理缺失值的估计器(可能是具有插补步骤的管道,HistoricentBoosting估计器)可以用作多类包装器的估计器。 #17987 通过 Venkatachalam N .Fix 接受二元组的修复方法
order
参数multioutput.ClassifierChain
. #18124 通过 Gus Brocchini 和 Amanda Dsouza .
sklearn.naive_bayes
#
Enhancement 添加参数
min_categories
到naive_bayes.CategoricalNB
这允许为每个功能指定最少数量的类别。这使得训练期间未看到的类别可以被考虑在内。 #16326 通过 George Armstrong .API Change 的属性
coef_
和intercept_
现已被废弃naive_bayes.MultinomialNB
,naive_bayes.ComplementNB
,naive_bayes.BernoulliNB
和naive_bayes.CategoricalNB
,并将在v1.1中删除(重命名为0.26)。 #17427 通过 Juan Carlos Alfaro Jiménez .
sklearn.neighbors
#
Efficiency 加快
seuclidean
,wminkowski
,mahalanobis
和haversine
度量neighbors.DistanceMetric
通过在设置时避免Cython中意外获得GILn_jobs>1
在neighbors.KNeighborsClassifier
,neighbors.KNeighborsRegressor
,neighbors.RadiusNeighborsClassifier
,neighbors.RadiusNeighborsRegressor
,metrics.pairwise_distances
并通过验证循环外的数据。 #17038 通过 Wenbo Zhao .Efficiency
neighbors.NeighborsBase
改善的好处algorithm = 'auto'
启发式的。除了之前的一套规则之外,现在,当特征数量超过15个时,brute
假设数据固有维度对于基于树的方法来说太高,则选择。 #17148 通过 Geoffrey Bolmier .Fix
neighbors.BinaryTree
将筹集ValueError
当拟合具有不同维度的点的数据阵列时, #18691 通过 Chiara Marmo .Fix
neighbors.NearestCentroid
与数值shrink_threshold
将筹集ValueError
当对具有所有恒定特征的数据进行匹配时。 #18370 通过 Trevor Waite .Fix 方法中
radius_neighbors
andradius_neighbors_graph
ofneighbors.NearestNeighbors
,neighbors.RadiusNeighborsClassifier
,neighbors.RadiusNeighborsRegressor
, andneighbors.RadiusNeighborsTransformer
, usingsort_results=True
now correctly sorts the results even when fitting with the "brute" algorithm. #18612 by Tom Dupre la Tour .
sklearn.neural_network
#
Efficiency 神经网络训练和预测现在快了一些。 #17603 , #17604 , #17606 , #17608 , #17609 , #17633 , #17661 , #17932 通过 Alex Henrie .
Enhancement 避免将float32输入转换为float64,
neural_network.BernoulliRBM
. #16352 通过 Arthur Imbert .Enhancement 支持32位计算
neural_network.MLPClassifier
和neural_network.MLPRegressor
. #17759 通过 Srimukh Sripada .Fix 固定方法
neural_network.MLPClassifier.fit
不迭代max_iter
如果开始变暖。 #18269 通过 Norbert Preining 和 Guillaume Lemaitre .
sklearn.pipeline
#
Enhancement 通过的对变压器的引用
transformer_weights
到pipeline.FeatureUnion
这些都不是transformer_list
将筹集ValueError
. #17876 通过 Cary Goltermann .Fix 的切片
pipeline.Pipeline
现在继承了原始管道的参数 (memory
和verbose
). #18429 通过 Albert Villanova del Moral 和 Paweł Biernat .
sklearn.preprocessing
#
Feature
preprocessing.OneHotEncoder
现在通过将缺失值视为一个类别来支持缺失值。 #17317 通过 Thomas Fan .Feature 添加新
handle_unknown
参数与use_encoded_value
选项,以及新的unknown_value
参数向preprocessing.OrdinalEncoder
在转换过程中允许未知类别并设置未知类别的编码值。 #17406 通过 Felix Wick 和 #18406 通过 Nicolas Hug .Feature 添加
clip
参数以preprocessing.MinMaxScaler
,它将测试数据的转换值剪辑为feature_range
. #17833 通过 Yashika Sharma .Feature 添加
sample_weight
参数以preprocessing.StandardScaler
.允许为每个样本设置单独的权重。 #18510 和 #18447 和 #16066 和 #18682 通过 Maria Telenczuk 和 Albert Villanova 和 @panpiort8 和 Alex Gramfort .Enhancement 详细输出
model_selection.GridSearchCV
可读性有所提高。 #16935 通过 Raghav Rajagopalan 和 Chiara Marmo .Enhancement 添加
unit_variance
到preprocessing.RobustScaler
,它对输出数据进行缩放,使正态分布特征的方差为1。 #17193 通过 Lucy Liu 和 Mabel Villalba .Enhancement 添加
dtype
参数以preprocessing.KBinsDiscretizer
. #16335 通过 Arthur Imbert .Fix 提出错误
sklearn.preprocessing.OneHotEncoder.inverse_transform
当handle_unknown='error'
和drop=None
对于编码为全零的样本。 #14982 通过 Kevin Winata .
sklearn.semi_supervised
#
Major Feature 添加
semi_supervised.SelfTrainingClassifier
,一个元分类器,允许任何监督分类器充当半监督分类器,可以从未标记的数据中学习。 #11682 通过 Oliver Rausch 和 Patrice Becker .Fix 修复在中使用Unicode字符串dtypes时不正确的编码
preprocessing.OneHotEncoder
和preprocessing.OrdinalEncoder
. #15763 通过 Thomas Fan .
sklearn.svm
#
Enhancement 在中调用SciPy BLAS API以获取支持率
fit
,predict
和相关方法svm.SVC
,svm.NuSVC
,svm.SVR
,svm.NuSVR
,svm.OneClassSVM
. #16530 通过 Shuhua Fan .
sklearn.tree
#
Feature
tree.DecisionTreeRegressor
现在支持新的拆分标准'poisson'
对于建模计数数据有用。 #17386 通过 Christian Lorentzen .Enhancement
tree.plot_tree
现在使用matplotlib配置设置中的颜色。 #17187 通过 Andreas Müller .API Change 参数
X_idx_sorted
现已在tree.DecisionTreeClassifier.fit
和tree.DecisionTreeRegressor.fit
,并且没有效果。 #17614 通过 Juan Carlos Alfaro Jiménez .
sklearn.utils
#
Enhancement 添加
check_methods_sample_order_invariance
到check_estimator
,它检查如果应用于具有不同样本顺序的同一数据集,估计器方法是否不变 #17598 通过 Jason Ngo .Enhancement 添加对体重的支持
utils.sparse_func.incr_mean_variance_axis
.通过 Maria Telenczuk 和 Alex Gramfort .Fix 引发ValueRight并伴有明确的错误消息
utils.check_array
用于具有混合类型的稀疏数据帧。 #17992 通过 Thomas J. Fan 和 Alex Shacked .Fix 检查当轴=1并且尺寸不匹配时是否出现适当的误差
utils.sparse_func.incr_mean_variance_axis
.通过 Alex Gramfort .
杂项#
代码和文档贡献者
感谢自0.23版本以来为项目维护和改进做出贡献的所有人,包括:
Abo7atm, Adam Spannbauer, Adrin Jalali, adrinjalali, Agamemnon Krasoulis, Akshay Deodhar, Albert Villanova del Moral, Alessandro Gentile, Alex Henrie, Alex Itkes, Alex Liang, Alexander Lenail, alexandracraciun, Alexandre Gramfort, alexshacked, Allan D Butler, Amanda Dsouza, amy12xx, Anand Tiwari, Anderson Nelson, Andreas Mueller, Ankit Choraria, Archana Subramaniyan, Arthur Imbert, Ashutosh Hathidara, Ashutosh Kushwaha, Atsushi Nukariya, Aura Munoz, AutoViz and Auto_ViML, Avi Gupta, Avinash Anakal, Ayako YAGI, barankarakus, barberogaston, beatrizsmg, Ben Mainye, Benjamin Bossan, Benjamin Pedigo, Bharat Raghunathan, Bhavika Devnani, Biprateep Dey, bmaisonn, Bo Chang, Boris Villazón-Terrazas, brigi, Brigitta Sipőcz, Bruno Charron, Byron Smith, Cary Goltermann, Cat Chenal, CeeThinwa, chaitanyamogal, Charles Patel, Chiara Marmo, Christian Kastner, Christian Lorentzen, Christoph Deil, Christos Aridas, Clara Matos, clmbst, Coelhudo, crispinlogan, Cristina Mulas, Daniel López, Daniel Mohns, darioka, Darshan N, david-cortes, Declan O'Neill, Deeksha Madan, Elizabeth DuPre, Eric Fiegel, Eric Larson, Erich Schubert, Erin Khoo, Erin R Hoffman, eschibli, Felix Wick, fhaselbeck, Forrest Koch, Francesco Casalegno, Frans Larsson, Gael Varoquaux, Gaurav Desai, Gaurav Sheni, genvalen, Geoffrey Bolmier, George Armstrong, George Kiragu, Gesa Stupperich, Ghislain Antony Vaillant, Gim Seng, Gordon Walsh, Gregory R. Lee, Guillaume Chevalier, Guillaume Lemaitre, Haesun Park, Hannah Bohle, Hao Chun Chang, Harry Scholes, Harsh Soni, Henry, Hirofumi Suzuki, Hitesh Somani, Hoda1394, Hugo Le Moine, hugorichard, indecisiveuser, Isuru Fernando, Ivan Wiryadi, j0rd1smit, Jaehyun Ahn, Jake Tae, James Hoctor, Jan Vesely, Jeevan Anand Anne, JeroenPeterBos, JHayes, Jiaxiang, Jie Zheng, Jigna Panchal, jim0421, Jin Li, Joaquin Vanschoren, Joel Nothman, Jona Sassenhagen, Jonathan, Jorge Gorbe Moya, Joseph Lucas, Joshua Newton, Juan Carlos Alfaro Jiménez, Julien Jerphanion, Justin Huber, Jérémie du Boisberranger, Kartik Chugh, Katarina Slama, kaylani2, Kendrick Cetina, Kenny Huynh, Kevin Markham, Kevin Winata, Kiril Isakov, kishimoto, Koki Nishihara, Krum Arnaudov, Kyle Kosic, Lauren Oldja, Laurenz Reitsam, Lisa Schwetlick, Louis Douge, Louis Guitton, Lucy Liu, Madhura Jayaratne, maikia, Manimaran, Manuel López-Ibáñez, Maren Westermann, Maria Telenczuk, Mariam-ke, Marijn van Vliet, Markus Löning, Martin Scheubrein, Martina G. Vilas, Martina Megasari, Mateusz Górski, mathschy, mathurinm, Matthias Bussonnier, Max Del Giudice, Michael, Milan Straka, Muoki Caleb, N. Haiat, Nadia Tahiri, Ph. D, Naoki Hamada, Neil Botelho, Nicolas Hug, Nils Werner, noelano, Norbert Preining, oj_lappi, Oleh Kozynets, Olivier Grisel, Pankaj Jindal, Pardeep Singh, Parthiv Chigurupati, Patrice Becker, Pete Green, pgithubs, Poorna Kumar, Prabakaran Kumaresshan, Probinette4, pspachtholz, pwalchessen, Qi Zhang, rachel fischoff, Rachit Toshniwal, Rafey Iqbal Rahman, Rahul Jakhar, Ram Rachum, RamyaNP, rauwuckl, Ravi Kiran Boggavarapu, Ray Bell, Reshama Shaikh, Richard Decal, Rishi Advani, Rithvik Rao, Rob Romijnders, roei, Romain Tavenard, Roman Yurchak, Ruby Werman, Ryotaro Tsukada, sadak, Saket Khandelwal, Sam, Sam Ezebunandu, Sam Kimbinyi, Sarah Brown, Saurabh Jain, Sean O. Stalley, Sergio, Shail Shah, Shane Keller, Shao Yang Hong, Shashank Singh, Shooter23, Shubhanshu Mishra, simonamaggio, Soledad Galli, Srimukh Sripada, Stephan Steinfurt, subrat93, Sunitha Selvan, Swier, Sylvain Marié, SylvainLan, t-kusanagi2, Teon L Brooks, Terence Honles, Thijs van den Berg, Thomas J Fan, Thomas J. Fan, Thomas S Benjamin, Thomas9292, Thorben Jensen, tijanajovanovic, Timo Kaufmann, tnwei, Tom Dupré la Tour, Trevor Waite, ufmayer, Umberto Lupo, Venkatachalam N, Vikas Pandey, Vinicius Rios Fuck, Violeta, watchtheblur, Wenbo Zhao, willpeppo, xavier dupré, Xethan, Xue Qianming, xun-tang, yagi-3, Yakov Pchelintsev, Yashika Sharma, Yi-Yan Ge, Yue Wu, Yutaro Ikeda, Zaccharie Ramzi, zoj613, Zhao Feng.