版本更新日志¶
版本0.23.2
2020年8月3日
改款
下列估算器和函数在使用相同数据和参数时,可能会产生与先前版本不同的模型。这通常是由于建模逻辑(错误修复或增强)或随机采样过程中的更改而产生的。
修复 cluster.KMeans
和cluster.MiniBatchKMeans
的inertia_
属性。
详细信息在下面的更改日志中列出。
(尽管我们试图通过提供此信息来更好地通知用户,但我们不能确保此列表是完整的。)
更新日志
sklearn.cluster
修复 修复了一个 cluster.KMeans
中的错误,其舍入误差可能会阻止tol=0
时的收敛声明。#17959,by :Jérémiedu Boisberranger。修复 修复了一个 cluster.KMeans
和cluster.MiniBatchKMeans
中的错误,其报告的惯量被样本权重错误加权。#17848,by :Jérémiedu Boisberranger。修复 在修正了 cluster.MeanShift
使用bin_seeding=True
时的错误。当估计带宽为0时,该行为等效于bin_seeding=False
。 #17742,by :Jérémiedu Boisberranger。修复 修复了 cluster.AffinityPropagation
中的错误,该错误在数组数据类型为float32时给出错误的簇。#17995 by Thomaz Santana and Amanda Dsouza.
sklearn.decomposition
修复 修复了一个 decomposition.MiniBatchDictionaryLearning.partial_fit
中的错误,该错误应在小批次处理中仅迭代一次来更新字典。 #17433 by Chiara Marmo.修复 避免Windows中 decomposition.IncrementalPCA.partial_fit
对于大的batch_size
和n_samples
取值引起的溢出问题。 #17985 by Alan Butler and Amanda Dsouza.
sklearn.ensemble
修复 修复了 ensemble.MultinomialDeviance
中的错误,其将平均对数损失计算为对数损失之和。 #17694 by Markus Rempfler and Tsutomu Kusanagi.修复 修正 ensemble.StackingClassifier
和ensemble.StackingRegressor
与未定义的n_features_in_
估计器的兼容性。 #17357 by Thomas Fan.
sklearn.feature_extraction
修复 修复了 feature_extraction.text.CountVectorizer
中设置max_features
时样本顺序不变性被破坏且特征具有相同计数的错误。 #18016 by Thomas Fan, Roman Yurchak, and Joel Nothman.
sklearn.linear_model
修复 当 X_copy=True
和Gram='auto'
时,linear_model.lars_path
不会覆盖X
。 #17914 by Thomas Fan.
sklearn.manifold
修复 修复了 metrics.pairwise_distances
中如果metric='seuclidean'
且X
不是np.float64
类型会引发错误的错误。 #15730 by Forrest Koch.
sklearn.metrics
修复 修复了一个 metrics.mean_squared_error
中的错误,该错误中多个RMSE值的平均值被错误地计算为多个MSE值的平均值的根。 #17309 by Swier Heeres。
sklearn.pipeline
修复 当 transformer_list
中包含None
时,pipeline.FeatureUnion
会提出弃用警告。 #17360 by Thomas Fan.
sklearn.utils
修复 修复 utils.estimator_checks.check_estimator
以使所有测试用例都支持binary_only
估计器标签。 #17812 by Bruno Charron.
版本0.23.1
2020年5月18日
更新日志
sklearn.cluster
效率 cluster.KMeans
对于非常小的数据集,效率得到了提高。特别是它不能再产生空闲线程。 #17210 和 #17235 by Jeremie du Boisberranger.修复 修复了 cluster.KMeans
中的错误,用户提供的样本权重已在适当位置进行了修改。 #17204 by Jeremie du Boisberranger.
杂项
修复 修复了在 repr
第三方估算器中构造函数的**kwargs
参数的错误,changed_only
现在为默认值为True。 #17205 by Nicolas Hug.
版本0.23.0
2020年5月12日
有关该发行版主要要点的简短说明,请参阅 scikit-learn 0.23的发行要点。
变更日志图例
主要特点 :您以前做不到的大事。 特征 :您之前无法做的事情。 效率 :现有功能现在可能不需要太多的计算或内存。 增强功能 :其他小改进。 修复 :某些以前未按文档说明进行操作或符合合理预期的内容现在应该可以使用。 API变更:您将需要更改代码以在将来具有相同的效果;否则将来会删除某个功能。
强制仅关键字的参数
为了促进对库的清晰和明确的使用,现在期望大多数构造函数和函数参数作为关键字参数(即使用param=value
语法)而不是位置参数传递。为了简化过渡,如果仅关键字参数用作位置,则会引发FutureWarning
。在0.25版中,这些参数将严格仅用作关键字,并且将引发TypeError
。#15005 by Joel Nothman, Adrin Jalali, Thomas Fan, and Nicolas Hug.有关 更多详细信息,请参见SLEP009。
改款
下列估算器和函数在使用相同数据和参数时,可能会产生与先前版本不同的效果。这通常是由于建模逻辑(错误修复或增强)或随机采样过程中的更改而发生的。
修复 ensemble.BaggingClassifier
,ensemble.BaggingRegressor
和ensemble.IsolationForest
。修复 cluster.KMeans
与algorithm="elkan"
和algorithm="full"
。修复 cluster.Birch
修复 compose.ColumnTransformer.get_feature_names
修复 compose.ColumnTransformer.fit
修复 datasets.make_multilabel_classification
修复 decomposition.PCA
与n_components='mle'
增强功能 decomposition.NMF
并decomposition.non_negative_factorization
带有float32 dtype输入。修复 decomposition.KernelPCA.inverse_transform
API变更 ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegrerssor
修复 ensemble.BaggingClassifier
中的estimator_samples_
,ensemble.BaggingRegressor
和ensemble.IsolationForest
修复 ensemble.StackingClassifier
并ensemble.StackingRegressor
用sample_weight
修复 gaussian_process.GaussianProcessRegressor
修复 linear_model.RANSACRegressor
与sample_weight
。修复 linear_model.RidgeClassifierCV
修复 metrics.mean_squared_error
与squared
和multioutput='raw_values'
。修复 metrics.mutual_info_score
得分为负。修复 metrics.confusion_matrix
零长度y_true
和y_pred
修复 neural_network.MLPClassifier
修复 preprocessing.StandardScaler
用partial_fit
和稀疏输入。修复 preprocessing.Normalizer
使用norm ='max'修复 使用任何模型 svm.libsvm
或svm.liblinear
解算器,包括svm.LinearSVC
,svm.LinearSVR
,svm.NuSVC
,svm.NuSVR
,svm.OneClassSVM
,svm.SVC
,svm.SVR
,linear_model.LogisticRegression
。修复 tree.DecisionTreeClassifier
,tree.ExtraTreeClassifier
和ensemble.GradientBoostingClassifier
以及predict
的方法tree.DecisionTreeRegressor
,tree.ExtraTreeRegressor
以及ensemble.GradientBoostingRegressor
和predict
,decision_path
和predict_proba
中只读FLOAT32输入。
详细信息在下面的更改日志中列出。
(尽管我们试图通过提供此信息来更好地通知用户,但我们不能确保此列表是完整的。)
更新日志
sklearn.cluster
效率 cluster.Birch
预测方法的实现通过使用分块方案计算距离矩阵来避免高内存占用。#16149 by Jeremie du Boisberranger and Alex Shacked.效率 主要特点 cluster.KMeans
的关键部分具有更优化的实现。现在,并行处理遍历数据,而无需进行初始化,从而实现了更好的可伸缩性。#11950 by Jeremie du Boisberranger.增强功能 cluster.KMeans
现在当solver = "elkan"
时支持稀疏数据 。#11950 by Jeremie du Boisberranger.增强功能 cluster.AgglomerativeClustering
具有单链接群集的更快,内存效率更高的实现。 #11514 by Leland McInnes.修复 cluster.KMeans
中algorithm="elkan"
且tol=0
收敛 ,作为algorithm="full"
默认值。#16075 by Erich Schubert.修复 修正了 cluster.Birch
中的一个错误,其中的n_clusters
参数不能有np.int64
型。 #16484 by Jeremie du Boisberranger.修复 cluster.AgglomerativeCluClustering
当距离矩阵不是平方和且affinity=precomputed
时添加特定误差。 #16257 by Simona Maggio。API变更 n_jobs
参数在cluster.KMeans
,cluster.SpectralCoclustering
并cluster.SpectralBiclustering
中已被弃用。他们现在使用基于OpenMP的并行性。有关如何控制线程数的更多详细信息,请参阅我们的Parallelism注释。#11950 by Jeremie du Boisberranger.API变更 cluster.KMeans
的precompute_distances
参数已弃用。没有作用。#11950 by Jeremie du Boisberranger.API变更 该 random_state
参数已被添加到cluster.AffinityPropagation
。 #16801 by @rcwoolston and Chiara Marmo.
sklearn.compose
效率 compose.ColumnTransformer
现在,使用数据帧和字符串将其用于转换器的特定数据子集时,速度更快。 #16431 by Thomas Fan.增强功能 compose.ColumnTransformer
方法get_feature_names
现在支持'passthrough'
列,特征名称可以是数据框的列名称,也'xi'
可以是列索引i
。#14048 by Lewis Ball.修复 compose.ColumnTransformer
方法get_feature_names
现在当一个transformer步骤应用于空列列表时,返回正确的结果 #15963 by Roman Yurchak.修复 compose.ColumnTransformer.fit
选择在数据框中不是唯一的列名称时将发生错误。 #16431 by Thomas Fan.
sklearn.datasets
效率 datasets.fetch_openml
减少了内存使用量,因为它不再将完整的数据集文本流存储在内存中。#16084 by Joel Nothman.特征 datasets.fetch_california_housing
现在支持通过设置as_frame=True
来使用pandas的异构数据。#15950 by Stephanie Andrews and Reshama Shaikh.特征 嵌入式数据集加载程序 load_breast_cancer
,load_diabetes
,load_digits
,load_iris
,load_linnerud
和load_wine
现在通过设置as_frame=True
支持加载为pandasDataFrame
。 #15709 by @shivamgargsya and Venkatachalam N.增强功能 在 datasets.make_blobs
中添加了return_centers
参数,该参数可用于返回每个集群的中心。 #15709 by @shivamgargsya and Venkatachalam N.增强功能 函数 datasets.make_circles
,datasets.make_moons
现在接受二元素元组。 #15707 by Maciej J Mikulski。修复 datasets.make_multilabel_classification
中参数n_classes < 1
或length < 1
时产生ValueError
。 #16006 by Rushabh Vasani.API变更 从 sklearn.logger
中移除StreamHandler
,避免在将hander附加到根记录器的常见情况下重复记录消息,并遵循Python日志记录文档建议,将日志消息处理留给用户和应用程序代码。#16451 by Christoph Deil.
sklearn.decomposition
增强功能 decomposition.NMF
和decomposition.non_negative_factorization
现在保留FLOAT32 类型。 #16280 by Jeremie du Boisberranger.增强功能 TruncatedSVD.transform
现在在给定的稀疏csc
矩阵上更快 。#16837 by @wornbb.修复 decomposition.PCA
如果使用float取值的n_components
参数,则只选择解释方差大于n_components
的成分。 #15669 by Krishna Chaitanya.修复 decomposition.PCA
用n_components='mle'
现在可以正确处理小的特征值,并不能由此推断0为正确的多个成分。 #16224 by Lisa Schwetlick, and Gelavizh Ahmadi and Marija Vlajic Wheeler and #16841 by Nicolas Hug.修复 decomposition.KernelPCA
方法inverse_transform
现在将正确的逆变换应用于转换后的数据。 #16655 by Lewis Ball.修复 修复了在 fit
期间,decomposition.KernelPCA
有时引起invalid value encountered in multiply
的错误。#16718 by Gui Miotto.**特征 **向 decomposition.SparsePCA
和decomposition.MiniBatchSparsePCA
添加了n_components_
属性。#16981 by Mateusz Górski.
sklearn.ensemble
主要特点 ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
现在支持 sample_weight。#14696 by Adrin Jalali and Nicolas Hug.特征 ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
中的提前停止现在由``early_stopping参数决定,而不是
n_iter_no_change`。默认值为“自动”,如果训练集中至少有10,000个样本,则可以提前停止。 #14516 by Johann Faouzi.主要特点 ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
现在支持单调约束,当特征对目标具有正/负影响时非常有用。#15582 by Nicolas Hug.API变更在 ensemble.VotingClassifier
和ensemble.VotingRegressor
类中添加了布尔标志verbose
。 #16069 by Sam Bail, Hanna Bruce MacDonald, Reshama Shaikh, and Chiara Marmo.API变更 修正了 ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegrerssor
中的一个错误,如果条件与max_depth
标准同时达到,不会考虑max_leaf_nodes
参数。 #16183 by Nicolas Hug.修复 更改了 ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
的max_depth
参数约定。现在深度对应于从根到最深叶的边缘数量。现在允许树桩(具有一个拆分的树)。#16182 by Santhosh B修复 修复了 ensemble.BaggingClassifier
,ensemble.BaggingRegressor
和ensemble.IsolationForest
中的错误,fit
期间使用estimators_samples_
属性未生成正确索引。 #16437 by Jin-Hwan CHO.修复 修正了在 ensemble.StackingClassifier
和ensemble.StackingRegressor
其中所述sample_weight
参数没有被传递到cross_val_predict
交叉验证折叠上评估基估计量以获得元估计量的输入 #16539 by Bill DeRose.特征 为 ensemble.HistGradientBoostingRegressor
增加了额外的loss="poisson"
选项,这增加了泊松偏差与对数链接有用的建模计数数据。#16692 by Christian Lorentzen修复 修正了一个 ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
其多次调用fit且warm_start=True
,early_stopping=True
和没有验证集时。 #16663 by Thomas Fan.
sklearn.feature_extraction
效率 feature_extraction.text.CountVectorizer
现在在按文档频率筛选特征后对特征进行排序。这样可以提高带有min_df
或max_df
的大词汇量数据集的性能。 #15834 by Santiago M. Mola.
sklearn.feature_selection
增强功能 在 feature_selection.RFE
和feature_selection.RFECV
中增加了对多输出数据的支持 。 #16103 by Divyaprabha M.API变更 feature_selection.SelectorMixin
重新添加到公共API。#16132 by @trimeta.
sklearn.gaussian_process
增强功能 gaussian_process.kernels.Matern
当nu=np.inf
时返回RBF内核。 #15503 by Sam Dixon.修复 修复了 gaussian_process.GaussianProcessRegressor
不使用WhiteKernel时导致预测标准偏差仅介于0和1之间的错误。#15782 by @plgreenLIRU。
sklearn.impute
增强功能 impute.IterativeImputer
接受max_value
和min_value
的标量和类数组输入。类数组的输入允许为每个特征指定不同的最大值和最小值。#16403 by Narendra Mukherjee.增强功能 impute.SimpleImputer
,impute.KNNImputer
和impute.IterativeImputer
接受包含缺失值的pandas可为空的整数数据类型。 #16508 by Thomas Fan.
sklearn.inspection
特征 inspection.partial_dependence
和inspection.plot_partial_dependence
现在支持快“递归”方法ensemble.RandomForestRegressor
和tree.DecisionTreeRegressor
。#15864 by Nicolas Hug.
sklearn.linear_model
主要特点 添加了具有非正态误差分布的广义线性模型(GLM),包括和 linear_model.PoissonRegressor
,linear_model.GammaRegressor
和linear_model.TweedieRegressor
分别使用了Poisson,Gamma和Tweedie分布。 #14300 by Christian Lorentzen, Roman Yurchak, and Olivier Grisel.主要特点 在 linear_model.ElasticNet
和linear_model.Lasso
对于密集特征矩阵X
支持sample_weight
。#15436由Christian Lorentzen。效率 linear_model.RidgeCV
和linear_model.RidgeClassifierCV
现在不会分配一个可能很大的数组来存储fit
期间所有超参数的对偶系数,也不会分配一个存储所有错误或LOO预测的数组,除非store_cv_values
是True
。 #15652 by Jérôme Dockès.增强功能 linear_model.LassoLars
和linear_model.Lars
现在支持jitter
参数向目标添加随机噪声。在某些情况下,这可能有助于提高稳定性。 #15179 by @angelaambroz.修复 修复了以下错误:如果将 sample_weight
参数传递给的linear_model.RANSACRegressor
中的fit方法,则在最终模型拟合期间不会将其传递给base_estimator
。 #15773 by Jeremy Alexandre。修复 向 linear_model.RidgeCV
和linear_model.RidgeClassifierCV
添加best_score_
属性。#15653 by Jérôme Dockès.修复 修复了 linear_model.RidgeClassifierCV
通过特定评分策略的错误。在内部估算器输出得分而不是预测之前。 #14848 by Venkatachalam N.修复 linear_model.LogisticRegression
现在,当solver='newton-cg'
通过检查下等值或等值而不是严格地下等值的inabsgrad
和tol
in,可以避免不必要的迭代utils.optimize._newton_cg
。 #16261 by Carlos Brandt.API变更 不推荐使用的公共属性 standard_coef_
,standard_intercept_
,average_coef_
,和average_intercept_
在linear_model.SGDClassifier
,linear_model.SGDRegressor
,linear_model.PassiveAggressiveClassifier
,linear_model.PassiveAggressiveRegressor
中。 #16261 by Carlos Brandt.修复 效率 linear_model.ARDRegression
n_samples > n_features
时更稳定,速度更快。现在,它可以扩展到成千上万的样本。稳定性修正可能暗示非零系数的数量和预测输出的变化。#16849 by Nicolas Hug.修复 修正了一个 linear_model.ElasticNetCV
,linear_model.MultitaskElasticNetCV
,linear_model.LassoCV
和linear_model.MultitaskLassoCV
中的错误,其安装使用JOBLIB loky后端时会失败。 #14264 by Jérémie du Boisberranger.效率 加快 linear_model.MultiTaskLasso
,linear_model.MultiTaskLassoCV
,linear_model.MultiTaskElasticNet
,linear_model.MultiTaskElasticNetCV
以避免对小数组慢BLAS 2级呼叫 #17021 by Alex Gramfort and Mathurin Massias.
sklearn.metrics
增强功能 metrics.pairwise.pairwise_distances_chunked
现在允许其reduce_func
不具有返回值,而启用就地操作。#16397 by Joel Nothman.修复 修复了一个 metrics.mean_squared_error
的错误,当multioutput='raw_values'
时不能忽略squared
参数。 #16323 by Rushabh Vasani修复 修复了 metrics.mutual_info_score
可以返回负分数的错误。#16362 by Thomas Fan.修复 修复了一个 metrics.confusion_matrix
中的错误,该错误会在y_true
和y_pred
长度为零且labels
不是None
时引发错误。另外,当给labels
参数一个空列表时,会引发一个错误。 #16442 by Kyle Parsons.API变更 更改了 metrics.ConfusionMatrixDisplay.plot
和metrics.plot_confusion_matrix
中的值格式,选择了较短的格式(“ 2g”或“ d”)。 #16159 by Rick Mackenbach and Thomas Fan.API变更 从0.25版开始, metrics.pairwise.pairwise_distances
将不再自动计算马氏距离VI
参数,V
参数和半球距离参数Y
。期望用户根据自己选择的训练数据计算该参数,并将其传递给pairwise_distances
。#16993 by Joel Nothman.
sklearn.model_selection
增强功能 model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
在除了先前发出的类型和详细信息外,还会在fit failed警告消息中生成堆栈跟踪信息。 #15622 by Gregory Morse.修复 model_selection.cross_val_predict
当y=None
,支持method="predict_proba"
。#15918 by Luca Kubin.修复 model_selection.fit_grid_point
在0.23中弃用,并在0.25中移除。#16401 by Arie Pratama Sutiono
sklearn.multioutput
增强功能 multioutput.RegressorChain
现在支持fit_params
,对于fit
过程中的base_estimator
。 #16111通过VenkatachalamÑ。
sklearn.naive_bayes
修复 naive_bayes.CategoricalNB
当输入的特征数量在fit
和predict
之间不同时,将显示格式正确的错误消息。 #16090由Madhura Jayaratne撰写。
sklearn.neural_network
效率 neural_network.MLPClassifier
和neural_network.MLPRegressor
已使用时随机解算器'sgd'
或'adam'
和shuffle=True
,减少内存占用。#14075 by @ meyer89。修复 neural_network.MLPClassifier
通过降低概率来增加逻辑损失函数的数值稳定性 。 #16117 by Thomas Fan.
sklearn.inspection
增强功能 inspection.PartialDependenceDisplay
现在将十分位线作为属性公开,以便可以隐藏或自定义它们。#15785 by Nicolas Hug
sklearn.preprocessing
特征 preprocessing.OneHotEncoder
的drop
参数,现在将接受值“if_binary”并将删除具有两个类别的每个特征的第一个类别。 #16245 by Rushabh Vasani.增强功能 preprocessing.OneHotEncoder
drop_idx_
数组可以包含None
,其中drop_idx_[i] = None
表示没有删除索引为i
的任何类别。#16585通过Chiara Marmo。增强功能 preprocessing.MaxAbsScaler
,preprocessing.MinMaxScaler
,preprocessing.StandardScaler
,preprocessing.PowerTransformer
,preprocessing.QuantileTransformer
,preprocessing.RobustScaler
现在支持pandas空包含缺失值的整数类型。#16508 by Thomas Fan.效率 preprocessing.OneHotEncoder
现在转换速度更快。 #15762 by Thomas Fan.修复 修复了在 preprocessing.StandardScaler
调用partial_fit
稀疏输入时错误地计算统计信息的错误。 #16466 by Guillaume Lemaitre.修复 preprocessing.Normalizer
使用norm ='max' 修复了一个错误,该错误在对向量进行归一化之前没有采用最大值的绝对值。 #16632 by Maura Pintor and Battista Biggio.
sklearn.semi_supervised
修复 semi_supervised.LabelSpreading
和semi_supervised.LabelPropagation
在规范化label_distributions_
时避免除以零警告。#15946 by @ngshya.
sklearn.svm
修复 效率 采用改进的 libsvm
随机坐标生成算法和liblinear
随机坐标选择算法。使用了依赖于平台的Crand()
,它只能在Windows平台上生成小于32767
的数字(请参阅此博客文章),并且如本演示文稿所示,其随机化能力也很差。它被C ++ 11mt19937
取代,后者是Mersenne Twister,可以在所有平台上正确生成31bits / 63bits随机数。另外,本博客文章建议,用于调整有界区间中的随机数的粗略“模”后处理器已由调整的Lemire方法代替。任何模型使用svm.libsvm
或svm.liblinear
求解器会受到影响,包括svm.LinearSVC
,svm.LinearSVR
,svm.NuSVC
,svm.NuSVR
,svm.OneClassSVM
,svm.SVC
,svm.SVR
,linear_model.LogisticRegression
。特别是当样本数量(LibSVM)或特征数量(LibLinear)很大时,用户可以期待更好的收敛性。 #13511 by SylvainMarié。修复 修复使用自定义内核不接受浮点项(如字符串内核)的 svm.SVC
和svm.SVR
用法。请注意,自定义核现在需要在它们以前接收到有效数字数组的地方验证其输入。#11296 by Alexandre Gramfort and Georgi Peev.API变更 svm.SVR
和svm.OneClassSVM
的probA_
以及probB_
属性现在已被弃用,因为它们没有用。#15558 by Thomas Fan.
sklearn.tree
修复 tree.plot_tree
rotate
参数未使用,已被弃用。#15806 by Chiara Marmo.修复 修复只支持读FLOAT32在数组输入的 predict
,decision_path
和predict_proba
方法tree.DecisionTreeClassifier
,tree.ExtraTreeClassifier
以及ensemble.GradientBoostingClassifier
以及predict
的方法tree.DecisionTreeRegressor
,tree.ExtraTreeRegressor
和ensemble.GradientBoostingRegressor
。 #16331 by Alexandre Batisse.
sklearn.utils
主要特点 现在可以用丰富的html表示形式显示估算器。通过在 set_config
中设置display='diagram'
,可以在Jupyter笔记本电脑中启用此功能。可以使用utils.estimator_html_repr
来返回原始html 。#14180 by Thomas Fan.增强功能 改善 utils.validation.column_or_1d
中的错误信息。 #15926 by Loïc Estève.增强功能 utils.check_array
为pandas稀疏数据框添加警告。#16021 by Rushabh Vasani.增强功能 utils.check_array
现在从仅包含SparseArray
列的pandas DataFrame构造一个稀疏矩阵。#16728 by Thomas Fan.增强功能 当 force_all_finite
设置为False
或'allow-nan'
时,utils.validation.check_array
支持pandas的可为空的包含缺失值的整数类型,在这种情况下,数据将转换为浮点值,其中的pd.NA
值由np.nan
替换。结果,所有sklearn.preprocessing
转换器接受带有表示为缺失值的数字输入的np.nan
,现在也接受直接输入pd.NA
作为缺失值标记的pd.Int*
或pd.Uint*
类型列的pandas数据框。 #16508 by Thomas Fan.API变更现在不建议将类传递到 utils.estimator_checks.check_estimator
和utils.estimator_checks.parametrize_with_checks
,并且在0.24中将删除对类的支持。而是传递实例。 #17032 by Nicolas Hug.API变更 utils.estimator_checks
中的私有工具_safe_tags
被删除,因此所有的标签应当通过estimator._get_tags()
获得。请注意,Mixins像RegressorMixin
这样的类必须在MRO中_get_tags()
的基类之前出现,才能正常工作。#16950 by Nicolas Hug.修复 utils.all_estimators
现在仅返回公共估算器。 #15380 by Thomas Fan.
杂项
主要特点 添加将在Jupyter笔记本或实验室中显示的估算器的HTML表示形式。通过在 sklearn.set_config
中设置display
选项可以激活此可视化。 #14180 by Thomas Fan.增强功能 scikit-learn
现在可以正常使用了mypy
。 #16726 by Roman Yurchak.API变更 现在,大多数估算器都会公开一个 n_features_in_
属性。此属性等于传递给fit
方法的特征数量。有关详细信息,请参见SLEP010。#16112 by Nicolas Hug.API变更 现在,估算器具有一个默认为False 的 requires_y
标签,但继承自~sklearn.base.RegressorMixin
或~sklearn.base.ClassifierMixin
的估算器除外。此标记用于确保在预期y但未传递任何消息时引发正确的错误消息。#16622 by Nicolas Hug.API变更 print_changed_only
默认设置已从False更改为True。这意味着repr
估算器的现在更加简洁,仅显示在打印估算器时其默认值已更改的参数。您可以使用来还原以前的行为sklearn.set_config(print_changed_only=False)
。另外,请注意,始终可以使用est.get_params(deep=False)
来快速检查任何估计器的参数 。#17061 by Nicolas Hug.
代码和文档贡献者
感谢自0.22版以来为项目的维护和改进做出贡献的所有人,其中包括:
Abbie Popa, Adrin Jalali, Aleksandra Kocot, Alexandre Batisse, Alexandre Gramfort, Alex Henrie, Alex Itkes, Alex Liang, alexshacked, Alonso Silva Allende, Ana Casado, Andreas Mueller, Angela Ambroz, Ankit810, Arie Pratama Sutiono, Arunav Konwar, Baptiste Maingret, Benjamin Beier Liu, bernie gray, Bharathi Srinivasan, Bharat Raghunathan, Bibhash Chandra Mitra, Brian Wignall, brigi, Brigitta Sipőcz, Carlos H Brandt, CastaChick, castor, cgsavard, Chiara Marmo, Chris Gregory, Christian Kastner, Christian Lorentzen, Corrie Bartelheimer, Daniël van Gelder, Daphne, David Breuer, david-cortes, dbauer9, Divyaprabha M, Edward Qian, Ekaterina Borovikova, ELNS, Emily Taylor, Erich Schubert, Eric Leung, Evgeni Chasnovski, Fabiana, Facundo Ferrín, Fan, Franziska Boenisch, Gael Varoquaux, Gaurav Sharma, Geoffrey Bolmier, Georgi Peev, gholdman1, Gonthier Nicolas, Gregory Morse, Gregory R. Lee, Guillaume Lemaitre, Gui Miotto, Hailey Nguyen, Hanmin Qin, Hao Chun Chang, HaoYin, Hélion du Mas des Bourboux, Himanshu Garg, Hirofumi Suzuki, huangk10, Hugo van Kemenade, Hye Sung Jung, indecisiveuser, inderjeet, J-A16, Jérémie du Boisberranger, Jin-Hwan CHO, JJmistry, Joel Nothman, Johann Faouzi, Jon Haitz Legarreta Gorroño, Juan Carlos Alfaro Jiménez, judithabk6, jumon, Kathryn Poole, Katrina Ni, Kesshi Jordan, Kevin Loftis, Kevin Markham, krishnachaitanya9, Lam Gia Thuan, Leland McInnes, Lisa Schwetlick, lkubin, Loic Esteve, lopusz, lrjball, lucgiffon, lucyleeow, Lucy Liu, Lukas Kemkes, Maciej J Mikulski, Madhura Jayaratne, Magda Zielinska, maikia, Mandy Gu, Manimaran, Manish Aradwad, Maren Westermann, Maria, Mariana Meireles, Marie Douriez, Marielle, Mateusz Górski, mathurinm, Matt Hall, Maura Pintor, mc4229, meyer89, m.fab, Michael Shoemaker, Michał Słapek, Mina Naghshhnejad, mo, Mohamed Maskani, Mojca Bertoncelj, narendramukherjee, ngshya, Nicholas Won, Nicolas Hug, nicolasservel, Niklas, @nkish, Noa Tamir, Oleksandr Pavlyk, olicairns, Oliver Urs Lenz, Olivier Grisel, parsons-kyle-89, Paula, Pete Green, Pierre Delanoue, pspachtholz, Pulkit Mehta, Qizhi Jiang, Quang Nguyen, rachelcjordan, raduspaimoc, Reshama Shaikh, Riccardo Folloni, Rick Mackenbach, Ritchie Ng, Roman Feldbauer, Roman Yurchak, Rory Hartong-Redden, Rüdiger Busche, Rushabh Vasani, Sambhav Kothari, Samesh Lakhotia, Samuel Duan, SanthoshBala18, Santiago M. Mola, Sarat Addepalli, scibol, Sebastian Kießling, SergioDSR, Sergul Aydore, Shiki-H, shivamgargsya, SHUBH CHATTERJEE, Siddharth Gupta, simonamaggio, smarie, Snowhite, stareh, Stephen Blystone, Stephen Marsh, Sunmi Yoon, SylvainLan, talgatomarov, tamirlan1, th0rwas, theoptips, Thomas J Fan, Thomas Li, Thomas Schmitt, Tim Nonner, Tim Vink, Tiphaine Viard, Tirth Patel, Titus Christian, Tom Dupré la Tour, trimeta, Vachan D A, Vandana Iyer, Venkatachalam N, waelbenamara, wconnell, wderose, wenliwyan, Windber, wornbb, Yu-Hang “Maxin” Tang