版本0.20#
警告
0.20版是scikit-learn支持Python 2.7和Python 3.4的最后一个版本。Scikit-learn 0.21需要Python 3.5或更高版本。
换象传说
Major Feature 一些你以前做不到的大事。
Feature 一些你以前做不到的事情。
Efficiency 现有功能现在可能不需要那么多的计算或内存。
Enhancement 一个杂七杂八的小改进。
Fix 以前没有按照记录或合理预期发挥作用的事情现在应该起作用了。
API Change 您需要更改您的代码才能在将来产生相同的效果;或者将来将删除某个功能。
版本0.20.4#
July 30, 2019
这是一个错误修复版本,其中一些错误修复应用于版本0.20.3。
Changelog#
joblib的捆绑版本从0.13.0升级到0.13.2。
sklearn.cluster
#
Fix 修复了中的一个错误
cluster.KMeans
其中KMeans++初始化很少会导致Index错误。 #11756 通过 Joel Nothman .
sklearn.compose
#
Fix 修复了中的一个问题
compose.ColumnTransformer
其中使用列顺序不同的数据框架fit
和transform
可能会导致将错误的列悄悄传递到remainder
Transformer。 #14237 通过Andreas Schuderer <schuderer>
.
sklearn.decomposition
#
Fix 修复了中的一个错误
cross_decomposition.CCA
提高数字稳定性时Y
is close to zero. #13903 by Thomas Fan .
sklearn.model_selection
#
Fix 修复了一个错误,
model_selection.StratifiedKFold
用相同的random_state
,制作shuffle=True
无效。 #13124 通过 Hanmin Qin .
sklearn.neighbors
#
Fix 修复了中的一个错误
neighbors.KernelDensity
如果不能从泡菜中恢复过来sample_weight
被利用了。 #13772 通过 Aditya Vyas .
版本0.20.3#
March 1, 2019
这是一个错误修复版本,对0.20.0中发布的功能进行了一些小的文档改进和增强。
Changelog#
sklearn.cluster
#
Fix 修复了中的一个错误
cluster.KMeans
其中计算是单线程的,n_jobs > 1
或n_jobs = -1
. #12949 通过 Prabakaran Kumaresshan .
sklearn.compose
#
Fix 修复了中的一个错误
compose.ColumnTransformer
处理变压器列列表中的负索引。 #12946 通过 Pierre Tallotte .
sklearn.covariance
#
Fix 修复了回归
covariance.graphical_lasso
使案件n_features=2
处理正确。 #13276 通过 Aurélien Bellet .
sklearn.decomposition
#
Fix 修复了中的一个错误
decomposition.sparse_encode
其中计算是单线程的,n_jobs > 1
或n_jobs = -1
. #13005 通过 Prabakaran Kumaresshan .
sklearn.datasets
#
Efficiency
sklearn.datasets.fetch_openml
现在通过流式加载数据,避免高内存使用。 #13312 通过 Joris Van den Bossche .
sklearn.feature_extraction
#
Fix Fixed a bug in
feature_extraction.text.CountVectorizer
which would result in the sparse feature matrix having conflictingindptr
andindices
precisions under very large vocabularies. #11295 by Gabriel Vacaliuc.
sklearn.impute
#
Fix 添加对非数字数据的支持
sklearn.impute.MissingIndicator
这是不支持的,sklearn.impute.SimpleImputer
支持这一观点的一些归因策略。 #13046 通过 Guillaume Lemaitre .
sklearn.linear_model
#
Fix 修复了中的一个错误
linear_model.MultiTaskElasticNet
和linear_model.MultiTaskLasso
当它们被打破时warm_start = True
. #12360 通过 Aakanksha Joshi .
sklearn.preprocessing
#
Fix 修复了中的一个错误
preprocessing.KBinsDiscretizer
哪里strategy='kmeans'
由于垃圾箱边缘未排序,转换期间出现错误。 #13134 通过 Sandro Casagrande .Fix 修复了中的一个错误
preprocessing.OneHotEncoder
在那里,categorical_features
与之结合处理不当handle_unknown='ignore'
. #12881 通过 Joris Van den Bossche .Fix 宽度太小的箱(即,<= 1 e-8)已删除,并在中发出警告
preprocessing.KBinsDiscretizer
. #13165 通过 Hanmin Qin .
sklearn.svm
#
Fix 修复了中的一个错误
svm.SVC
,svm.NuSVC
,svm.SVR
,svm.NuSVR
和svm.OneClassSVM
其中scale
参数选项gamma
被错误地定义为1 / (n_features * X.std())
.现在它被定义为1 / (n_features * X.var())
. #13221 通过 Hanmin Qin .
代码和文档贡献者#
感谢:
Adrin Jalali、Agamemnon Krasoulis、Albert Thomas、Andreas Mueller、Aurélien Bellet、bertrandhaut、Bharat Raghunathan、Dowon、Emmanuel Arias、Fibinse Xavier、Finn O ' Shea、Gabriel Varoquaux、Guillaume Lemaitre、Hanmin Qin、joaak、Joel Nothman、Joris Van den Bossche、Jérémie Méhault、kms 15、Kossori Aruku、Lakshya KD、maikia、Manuel López-Ibáñez、Marco Gorelli、mferrari 3、Mickaël Schoentgen、Nicolas Hug、pavlos kallis、Pierre Glaser、pierretalupe、Prabakaran Kumaresshan、Resshama Shaikh、Rohit Kapoor、Roman Yurchak、SandroCasagrande、Tashay Green、Thomas Fan、Visshaal Kapoor、Zhuyi Xu、Zijie(ZJ)Poh
版本0.20.2#
December 20, 2018
这是一个错误修复版本,对0.20.0中发布的功能进行了一些小的文档改进和增强。
更改型号#
以下估计量和函数在与相同的数据和参数进行匹配时,可能会产生与之前版本不同的模型。这种情况通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。
sklearn.neighbors
当metric=='jaccard'
(bug修复)使用
'seuclidean'
或'mahalanobis'
某些情况下的指标(错误修复)
Changelog#
sklearn.compose
#
Fix 修复了中的一个问题
compose.make_column_transformer
当列为pandas Index或pandas Series时,会引发意外错误。 #12704 通过 Hanmin Qin .
sklearn.metrics
#
Fix 修复了中的一个错误
metrics.pairwise_distances
和metrics.pairwise_distances_chunked
其中参数V
的"seuclidean"
和VI
的"mahalanobis"
指标是在将数据分成块后计算的,而不是对整个数据预先计算的。 #12701 通过 Jeremie du Boisberranger .
sklearn.neighbors
#
Fix 固定
sklearn.neighbors.DistanceMetric
jaccard距离函数在比较两个全零载体时返回0。 #12685 通过 Thomas Fan .
sklearn.utils
#
Fix 调用
utils.check_array
对pandas.Series
with categorical data, which raised an error in 0.20.0, now returns the expected output again. #12699 by Joris Van den Bossche .
代码和文档贡献者#
感谢:
adanhawh、Adrin Jalali、Albert Thomas、Andreas Mueller、Dan Stine、Feda Curic、Hanmin Qin、Jan S、jeremiedbb、Joel Nothman、Joris Van den Bossche、josephsalon、Katrin Leinweber、Loic Esteve、Muhammad Hassaan Rafique、Nicolas Hug、Olivier Grisel、Paul Paczuski、Reshama Shaikh、Sam Waterbury、Shivam Kotwalia、Thomas Fan
版本0.20.1#
November 21, 2018
这是一个错误修复版本,对0.20.0中发布的功能进行了一些小的文档改进和增强。请注意,我们还在此版本中包含了一些API更改,因此在从0.20.0更新到0.20.1后,您可能会收到一些额外的警告。
更改型号#
以下估计量和函数在与相同的数据和参数进行匹配时,可能会产生与之前版本不同的模型。这种情况通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。
decomposition.IncrementalPCA
(bug修复)
Changelog#
sklearn.cluster
#
Efficiency 使
cluster.MeanShift
不再尝试执行嵌套并行,因为当n_jobs > 1
. #12159 通过 Olivier Grisel .Fix 修复了中的一个错误
cluster.DBSCAN
使用预先计算的稀疏邻居图,即使已经存在,它也会在对角线上显式添加零。 #12105 通过 Tom Dupre la Tour .
sklearn.compose
#
Fix 修复了中的一个问题
compose.ColumnTransformer
堆叠类型无法转换为数字的列时。 #11912 通过 Adrin Jalali .API Change
compose.ColumnTransformer
现在适用sparse_threshold
即使所有转换结果都是稀疏的。 #12304 通过 Andreas Müller .API Change
compose.make_column_transformer
现在预计(transformer, columns)
而不是(columns, transformer)
保持一致compose.ColumnTransformer
. #12339 通过 Adrin Jalali .
sklearn.datasets
#
Fix
datasets.fetch_openml
正确使用本地缓存。 #12246 通过 Jan N. van Rijn .Fix
datasets.fetch_openml
正确处理忽略属性和行id属性。 #12330 通过 Jan N. van Rijn .Fix 固定的integer溢出
datasets.make_classification
的值的n_informative
参数大于64。 #10811 通过 Roman Feldbauer .Fix 修复奥利韦蒂面临数据集
DESCR
属性指向中的正确位置datasets.fetch_olivetti_faces
. #12441 通过 Jérémie du BoisberrangerFix
datasets.fetch_openml
从本地缓存读取失败时重试下载。 #12517 通过 Thomas Fan .
sklearn.decomposition
#
Fix 修复了回归
decomposition.IncrementalPCA
其中,如果用于匹配IncrementalPCA的最终批次中的样本数量小于n_components,则0.20.0会出现错误。 #12234 通过 Ming Li .
sklearn.ensemble
#
Fix 修复了主要影响的错误
ensemble.RandomForestClassifier
哪里class_weight='balanced_subsample'
超过32堂课失败。 #12165 通过 Joel Nothman .Fix 修复了影响
ensemble.BaggingClassifier
,ensemble.BaggingRegressor
和ensemble.IsolationForest
,在哪里max_features
有时会四舍五入为零。 #12388 通过 Connor Tann .
sklearn.feature_extraction
#
Fix 修复了v0.20.0中的回归,其中
feature_extraction.text.CountVectorizer
和其他文本向量化器在使用自定义预处理器或标记化器进行停止词验证期间可能出错。 #12393 通过 Roman Yurchak .
sklearn.linear_model
#
Fix
linear_model.SGDClassifier
和变体early_stopping=True
在多类情况下不会使用一致的验证拆分,当使用这些估计器作为并行参数搜索或交叉验证的一部分时,这会导致崩溃。 #12122 通过 Olivier Grisel .Fix 修复了影响
linear_model.SGDClassifier
在多类情况下。每个一一对抗所有步骤都在joblib.Parallel
调用和变异公共参数,如果在后台使用进程而不是线程调用,则会导致分段错误。我们现在使用require=sharedmem
在joblib.Parallel
实例创建。 #12518 通过 Pierre Glaser 和 Olivier Grisel .
sklearn.metrics
#
Fix 修复了中的一个错误
metrics.pairwise.pairwise_distances_argmin_min
当指标参数设置为“欧几里得”时,它返回距离的平方根。 #12481 通过 Jérémie du Boisberranger .Fix 修复了中的一个错误
metrics.pairwise.pairwise_distances_chunked
这并不能确保欧几里得距离的对角线为零。 #12612 通过 Andreas Müller .API Change 的
metrics.calinski_harabaz_score
已重命名为metrics.calinski_harabasz_score
并将在0.23版本中删除。 #12211 通过 Lisa Thomas , Mark Hannel 和 Melissa Ferrari .
sklearn.mixture
#
Fix 确保
fit_predict
方法mixture.GaussianMixture
和mixture.BayesianGaussianMixture
始终产生与以下一致的作业fit
其次是predict
即使收敛标准太宽松或未满足。 #12451 通过 Olivier Grisel .
sklearn.neighbors
#
Fix 强制后台并行
threading
为neighbors.KDTree
和neighbors.BallTree
在Python 2.7中,以避免由于方法的序列化而导致的pickle错误。 #12171 通过 Thomas Moreau .
sklearn.preprocessing
#
Fix 修复了
preprocessing.OrdinalEncoder
当通过手动指定的类别时。 #12365 通过 Joris Van den Bossche .Fix Fixed bug in
preprocessing.KBinsDiscretizer
where thetransform
method mutates the_encoder
attribute. Thetransform
method is now thread safe. #12514 by Hanmin Qin.Fix 修复了中的一个错误
preprocessing.PowerTransformer
其中Yeo-Johnson变换对于外部的Lambda参数不正确[0, 2]
#12522 通过 Nicolas Hug .Fix 修复了中的一个错误
preprocessing.OneHotEncoder
当设置为忽略不同长度的未知麻木字符串时,转换失败 #12471 通过 Gabriel Marzinotto .API Change 的默认值
method
论点preprocessing.power_transform
将由box-cox
到yeo-johnson
以匹配preprocessing.PowerTransformer
在0.23版本中。使用默认值时会引发FutureWarning。 #12317 通过 Eric Chang .
sklearn.utils
#
Fix 将float 64用于平均累加器,以避免中的浮点精度问题
preprocessing.StandardScaler
和decomposition.IncrementalPCA
使用float 32数据集时。 #12338 通过 bauks .Fix 调用
utils.check_array
对pandas.Series
, which raised an error in 0.20.0, now returns the expected output again. #12625 by Andreas Müller
杂项#
Fix 当通过设置环境变量使用站点jobib时
SKLEARN_SITE_JOBLIB
, added compatibility with joblib 0.11 in addition to 0.12+. #12350 by Joel Nothman 和 Roman Yurchak .Fix 确保避免抚养
FutureWarning
打电话时np.vstack
使用numpy 1.16及更高版本(在scikit-learn代码库的许多位置使用列表解析而不是生成器表达)。 #12467 通过 Olivier Grisel .API Change 删除所有提及的
sklearn.externals.joblib
,以及中暴露的废弃jobib方法sklearn.utils
,除了utils.parallel_backend
andutils.register_parallel_backend
, which allow users to configure parallel computation in scikit-learn. Other functionalities are part of joblib .包,并应通过安装直接使用。此更改的目标是为在未来版本的scikit-learn中解除joblib做好准备。 #12345 通过 Thomas Moreau
代码和文档贡献者#
感谢:
^_,Adrin Jalali,Andrea Navarbite,Andreas Mueller,bauks,BenjaStudio,Cheuk Ting Ho,Connossor,Corey Levinson,Dan Stine,daten-kieker,Denis Kataev,Dillon Gardner,Dmitry Vukolov,Dougal J. Sutherland,Edward J Brown,Eric Chang,Federico Caselli,Gabriel Marzinotto,Gael Varoquaux,GauravAhlawat,Gustavo De Mari Pereira,Hanmin Qin,haroldfox,JackLangerman,Jacopo Notarstefano,janvanrijn,jethurens,jeremiedb、Joel Nothman、Joris Van den Bossche、Koen、Kushal Chauhan、Lee Yi Jie Joel、Lily Xiong、mail-liam、Mark Hannel、melsyt、Ming Li、Nicholas Smith、Nicolas Hug、Nikolay Shebanov、Oleksandr Pavlyk、Olivier Grisel、Peter Hausamann、Pierre Glaser、PulKit Maloo、Quentin Batista、Radostin Stoyanov、Ramil Nugmanov、Rebekah Kim、Reshama Shaikh、Rohan Singh、Roman Feldbauer、Roman Yurchak、Rooopam Sharma、Sam Waterbury、Scott Lowe、Sebastian Raschka、Stephen Tierney、SylvainLan、TakingItCasual、Thomas Fan、Thomas Moreau、Tom Dupré la Tour、Tulio Casagrande、Utkarsh Upadhyay、Xing Han Lu、Yaroslav Halchenko、Zach Miller
版本0.20.0#
September 25, 2018
该版本包含了Scikit-learn库的大量错误修复、功能和增强,以及对文档和示例的改进。感谢我们的贡献者!
本版本旨在纪念拉格哈夫·拉贾戈帕兰。
亮点#
我们试图改善对常见数据科学用例的支持,包括缺失值、分类变量、异类数据以及具有异常分布的特征/目标。由NaN表示的特征中的缺失值现在在按列预处理(例如缩放器)中被接受。每个特征的匹配不考虑NaN,并且可以转换包含NaN的数据。新 sklearn.impute
尽管数据缺失,模块仍为学习提供估计器。
ColumnTransformer
处理pandas.DataFrame的不同功能或列需要不同预处理的情况。字符串或pandas现在可以用以下方式编码分类列 OneHotEncoder
或 OrdinalEncoder
.
TransformedTargetRegressor
当回归目标需要转换才能建模时,这会有所帮助。 PowerTransformer
和 KBinsDiscretizer
加入 QuantileTransformer
作为非线性变换。
Beyond this, we have added sample_weight support to several estimators
(including KMeans
, BayesianRidge
and
KernelDensity
) and improved stopping criteria in others
(including MLPRegressor
,
GradientBoostingRegressor
and
SGDRegressor
).
该版本也是第一个伴随着 常用术语和API元素词汇表 开发 Joel Nothman .该术语表是一个参考资源,旨在帮助用户和贡献者熟悉Scikit-learn中使用的术语和惯例。
如果您的贡献没有成为亮点,我很抱歉。这里有很多.
更改型号#
以下估计量和函数在与相同的数据和参数进行匹配时,可能会产生与之前版本不同的模型。这种情况通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。
cluster.MeanShift
(bug修复)decomposition.IncrementalPCA
在Python 2中(错误修复)decomposition.SparsePCA
(bug修复)ensemble.GradientBoostingClassifier
(bug修复影响功能重要性的问题)isotonic.IsotonicRegression
(bug修复)linear_model.ARDRegression
(bug修复)linear_model.Perceptron
(bug修复)linear_model.SGDClassifier
(bug修复)linear_model.SGDRegressor
(bug修复)metrics.roc_auc_score
(bug修复)metrics.roc_curve
(bug修复)neural_network.BaseMultilayerPerceptron
(bug修复)neural_network.MLPClassifier
(bug修复)neural_network.MLPRegressor
(bug修复)v0.19.0发布说明没有提及与的向后不兼容
model_selection.StratifiedKFold
当shuffle=True
由于 #7823 .
详细信息见下面的变更日志。
(虽然我们试图通过提供这些信息来更好地告知用户,但我们不能保证此列表是完整的。
已知的主要bug#
#11924 :
linear_model.LogisticRegressionCV
与solver='lbfgs'
和multi_class='multinomial'
在macOS上可能是不确定的或以其他方式损坏的。Travis CI服务器上似乎就是这种情况,但尚未在个人MacBook上得到证实!此问题在之前的版本中曾存在过。#9354 :
metrics.pairwise.euclidean_distances
(在整个库中多次使用)给出的结果精度较差,这特别影响其与32位浮点输入的使用。当某些算法被更改以避免将32位数据转换为64位时,这在0.18和0.19版本中变得更加问题。
Changelog#
对Python 3.3的支持已正式放弃。
sklearn.cluster
#
Major Feature
cluster.AgglomerativeClustering
现在通过以下方式支持单链接集群linkage='single'
. #9372 通过 Leland McInnes 和 Steve Astels .Feature
cluster.KMeans
和cluster.MiniBatchKMeans
现在通过新参数支持样本权重sample_weight
在fit
功能 #10933 通过 Johannes Hansen .Efficiency
cluster.KMeans
,cluster.MiniBatchKMeans
和cluster.k_means
通过了algorithm='full'
现在强制行主要排序,改善运行时间。 #10471 通过 Gaurav Dhingra .Efficiency
cluster.DBSCAN
现在是并行化,根据n_jobs
无论algorithm
. #8003 通过 Joël Billaud .Enhancement
cluster.KMeans
现在,如果发现的不同集群的数量小于n_clusters
.当数据集中不同点的数量实际上小于一个正在寻找的集群数量时,可能会发生这种情况。 #10059 通过 Christian Braune .Fix 修复了一个错误
fit
方法cluster.AffinityPropagation
在不收敛的情况下,将集群中心存储为3D阵列而不是2D阵列。对于同一类,在所有样本具有相同相似性的训练数据的情况下修复了未定义和任意行为。 #9612 .通过 Jonatan Samoocha .Fix 修复了中的一个错误
cluster.spectral_clustering
其中频谱的正规化是使用除而不是乘。 #8129 通过 Jan Margeta , Guillaume Lemaitre ,而且 Devansh D. .Fix 修复了中的一个错误
cluster.k_means_elkan
返回的地方iteration
比正确值小1。还补充了失踪的n_iter_
的文档字符串中的属性cluster.KMeans
. #11353 通过 Jeremie du Boisberranger .Fix 修复了中的一个错误
cluster.mean_shift
其中,如果存在多个强度相同的集群,则分配的标签不确定。 #11901 通过 Adrin Jalali .API Change 弃用
pooling_func
中未使用的参数cluster.AgglomerativeClustering
. #9875 通过 Kumar Ashutosh .
sklearn.compose
#
新模块。
Major Feature 添加
compose.ColumnTransformer
,它允许将不同的转换器应用于不同的数组列或pandas DataFrame。 #9012 通过 Andreas Müller 和 Joris Van den Bossche ,而且 #11315 通过 Thomas Fan .Major Feature 添加了
compose.TransformedTargetRegressor
它在匹配回归模型之前转换目标y。预测通过逆变换映射回原始空间。 #9041 通过 Andreas Müller 和 Guillaume Lemaitre .
sklearn.covariance
#
Efficiency 对以下方面的改进
covariance.GraphicalLasso
. #9858 通过 Steven Brown .API Change 的
covariance.graph_lasso
,covariance.GraphLasso
和covariance.GraphLassoCV
已更名为covariance.graphical_lasso
,covariance.GraphicalLasso
和covariance.GraphicalLassoCV
分别将在0.22版本中删除。 #9993 通过 Artiem Krinitsyn
sklearn.datasets
#
Major Feature 添加
datasets.fetch_openml
从获取数据集 OpenML . OpenML是一个免费、开放的数据共享平台,将用于代替mldata,因为它提供更好的服务可用性。 #9908 通过 Andreas Müller 和 Jan N. van Rijn .Feature 在
datasets.make_blobs
,现在可以将列表传递给n_samples
参数指示每个集群要生成的样本数。 #8617 通过 Maskani Filali Mohamed 和 Konstantinos Katrioplas .Feature 添加
filename
属性来sklearn.datasets
有CSV文件的。 #9101 通过 alex-33 和 Maskani Filali Mohamed .Feature
return_X_y
参数已添加到多个数据集加载器中。 #10774 通过 Chris Catalfo .Fix 修复了中的一个错误
datasets.load_boston
它有错误的数据点。 #10795 通过 Takeshi Yoshizawa .Fix 修复了中的一个错误
datasets.load_iris
它有两个错误的数据点。 #11082 通过 Sadhana Srinivasan 和 Hanmin Qin .Fix 修复了中的一个错误
datasets.fetch_kddcup99
,其中数据没有正确洗牌。 #9731 通过 Nicolas Goix .Fix 修复了中的一个错误
datasets.make_circles
,其中不能生成奇数个数据点。 #10045 通过 Christian Braune .API Change 弃用
sklearn.datasets.fetch_mldata
to be removed in version 0.22. mldata.org is no longer operational. Until removal it will remain possible to load cached datasets. #11466 by Joel Nothman .
sklearn.decomposition
#
Feature
decomposition.dict_learning
功能和模型现在支持积极性约束。这适用于字典和稀疏代码。 #6374 通过 John Kirkham .Feature Fix
decomposition.SparsePCA
now exposesnormalize_components
. When set to True, the train and test data are centered with the train mean respectively during the fit phase and the transform phase. This fixes the behavior of SparsePCA. When set to False, which is the default, the previous abnormal behaviour still holds. The False value is for backward compatibility and should not be used. #11585 by Ivan Panico.Efficiency 效率提高
decomposition.dict_learning
. #11420 和其他由 John Kirkham .Fix 修复中的无信息错误
decomposition.IncrementalPCA
:现在,如果组件数量大于选择的批量大小,则会引发错误。的n_components=None
案例进行了相应的调整。 #6452 .通过 Wally Gauze .Fix 修复了一个错误
partial_fit
方法decomposition.IncrementalPCA
在Python 2上使用了整除而不是浮点数。 #9492 通过 James Bourbeau .Fix 在
decomposition.PCA
选择大于采样数的n_components参数现在会引发错误。同样,n_components=None
case现在选择最小值n_samples
和n_features
. #8484 通过 Wally Gauze .Fix 修复了中的一个错误
decomposition.PCA
当用户出现大型数据集时,n_components='mle'
在Python 3版本上。 #9886 通过 Hanmin Qin .Fix 修复了计算KL偏差时的下溢
decomposition.NMF
#10142 通过 Tom Dupre la Tour .Fix 修复了中的一个错误
decomposition.SparseCoder
当使用只读内存映射数据结构并行运行OMP稀疏编码时。 #5956 通过 Vighnesh Birodkar 和 Olivier Grisel .
sklearn.discriminant_analysis
#
Efficiency 内存使用率改进
_class_means
and_ 类_cover ' in :mod:`sklearn.discriminant_analysis
. #10898 通过 Nanxin Chen .
sklearn.dummy
#
Feature
dummy.DummyRegressor
现在手上有一return_std
选择在其predict
法返回的标准差将为零。Feature
dummy.DummyClassifier
和dummy.DummyRegressor
现在只需要X是一个具有有限长度或形状的物体。 #9832 通过 Vrishank Bhardwaj .Feature
dummy.DummyClassifier
和dummy.DummyRegressor
现在可以在不提供测试样本的情况下评分。 #11951 通过 Rüdiger Busche .
sklearn.ensemble
#
Feature
ensemble.BaggingRegressor
和ensemble.BaggingClassifier
现在可以用X和/或多输出Y中的缺失/非有限值来适应,以支持执行自己插补的包装管道。 #9707 通过 Jimmy Wan .Feature
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
现在支持提前停止通过n_iter_no_change
,validation_fraction
和tol
. #7071 通过 Raghav RVFeature 添加
named_estimators_
参数ensemble.VotingClassifier
以访问合适的估计器。 #9157 通过 Herilalaina Rakotoarison .Fix 修复了试穿时的错误
ensemble.GradientBoostingClassifier
或ensemble.GradientBoostingRegressor
与warm_start=True
由于CSC矩阵未转换为CSR格式,此前提出了分段错误decision_function
.同样,在稠密情况下,Forrester排序数组会转换为C排序数组。 #9991 通过 Guillaume Lemaitre .Fix 修复了中的一个错误
ensemble.GradientBoostingRegressor
和ensemble.GradientBoostingClassifier
对特征重要性进行总和并进行规范化,而不是在每棵树的基础上进行规范化。之前的行为过度强调了后期出现的特征的基尼重要性。此问题只影响功能的重要性。 #11176 通过 Gil Forsyth .API Change 的默认值
n_estimators
参数ensemble.RandomForestClassifier
,ensemble.RandomForestRegressor
,ensemble.ExtraTreesClassifier
,ensemble.ExtraTreesRegressor
,而且ensemble.RandomTreesEmbedding
将从0.20版本中的10更改为0.22版本中的100。使用默认值时会引发FutureWarning。 #11542 通过 Anna Ayzenshtat .API Change 衍生自
ensemble.BaseBagging
.属性estimators_samples_
将返回包含为每个引导程序选择的索引的数组列表,而不是包含为每个引导程序选择的样本掩码的数组列表。索引允许重复采样,而掩码不允许此功能。 #9524 通过 Guillaume Lemaitre .Fix
ensemble.BaseBagging
无法确定性地繁殖fit
结果是当random_state
已设置。 #9723 通过 Guillaume Lemaitre .
sklearn.feature_extraction
#
Feature 启用呼叫
get_feature_names
在不合身的feature_extraction.text.CountVectorizer
用词汇初始化。 #10908 通过 Mohamed Maskani .Enhancement
idf_
现在可以设置在feature_extraction.text.TfidfTransformer
. #10899 通过 Sergey Melderis .Fix 修复了中的一个错误
feature_extraction.image.extract_patches_2d
如果出现以下情况,则会引发异常max_patches
大于或等于所有可能补丁的数量,而不是简单地返回可能补丁的数量。 #10101 通过 Varun AgrawalFix 修复了中的一个错误
feature_extraction.text.CountVectorizer
,feature_extraction.text.TfidfVectorizer
,feature_extraction.text.HashingVectorizer
支持处理具有超过2·10个字节令牌(字或n元语法)的大型数据集所需的64位稀疏数组索引。 #9147 通过 Claes-Fredrik Mannby 和 Roman Yurchak .Fix 修复了
feature_extraction.text.TfidfVectorizer
它忽略了参数dtype
.此外,feature_extraction.text.TfidfTransformer
将保留dtype
如果出现浮动并提出警告dtype
请求的是integer。 #10441 通过 Mayur Kulkarni 和 Guillaume Lemaitre .
sklearn.feature_selection
#
Feature 添加了精选K最佳功能功能,
feature_selection.SelectFromModel
. #6689 通过 Nihar Sheth 和 Quazi Rahman .Feature 添加
min_features_to_select
参数以feature_selection.RFECV
绑定已评估的特征计数。 #11293 通过 Brent Yi .Feature
feature_selection.RFECV
的贴合方法现在支持 groups . #9656 通过 Adam Greenhall .Fix 固定计算
n_features_to_compute
对于简历成绩并列的边缘情况feature_selection.RFECV
. #9222 通过 Nick Hoh .
sklearn.gaussian_process
#
Efficiency 在
gaussian_process.GaussianProcessRegressor
、方法predict
使用时更快return_std=True
尤其是连续多次呼叫时更是如此。 #9234 通过 andrewww 和 Minghui Liu .
sklearn.impute
#
New module, adopting
preprocessing.Imputer
asimpute.SimpleImputer
with minor changes (see under preprocessing below).Major Feature 添加
impute.MissingIndicator
它生成缺失值的二进制指示符。 #8075 通过 Maniteja Nandana 和 Guillaume Lemaitre .Feature 的
impute.SimpleImputer
有了新的策略,'constant'
,用固定值来完成缺失的值,由fill_value
参数.此策略支持数字和非数字数据,'most_frequent'
现在的策略。 #11211 通过 Jeremie du Boisberranger .
sklearn.isotonic
#
Fix 修复了中的一个错误
isotonic.IsotonicRegression
当将模型与涉及具有相同X值的点的数据进行匹配时,它错误地组合了权重。 #9484 通过 Dallas Card
sklearn.linear_model
#
Feature
linear_model.SGDClassifier
,linear_model.SGDRegressor
,linear_model.PassiveAggressiveClassifier
,linear_model.PassiveAggressiveRegressor
和linear_model.Perceptron
现在暴露early_stopping
,validation_fraction
和n_iter_no_change
参数,以停止优化监控验证集上的分数。新的学习率"adaptive"
策略每次将学习率除以5n_iter_no_change
连续的时代未能改善模型。 #9043 通过 Tom Dupre la Tour .Feature 添加
sample_weight
参数与的匹配方法linear_model.BayesianRidge
用于加权线性回归。 #10112 通过 Peter St. John .Fix 修复了中的一个错误
logistic.logistic_regression_path
为了确保返回的系数正确multiclass='multinomial'
.以前,一些系数会相互叠加,导致不正确的结果linear_model.LogisticRegressionCV
. #11724 通过 Nicolas Hug .Fix 修复了中的一个错误
linear_model.LogisticRegression
其中使用参数时multi_class='multinomial'
,predict_proba
在二元结果的情况下,该方法返回不正确的概率。 #9939 通过 Roger Westover .Fix 修复了中的一个错误
linear_model.LogisticRegressionCV
其中score
方法始终计算准确性,而不是scoring
参数. #10998 通过 Thomas Fan .Fix 修复了中的一个错误
linear_model.LogisticRegressionCV
其中“ovr”策略始终用于计算多类设置中的交叉验证分数,即使'multinomial'
已定。 #8720 通过 William de Vazelhes .Fix 修复了中的一个错误
linear_model.OrthogonalMatchingPursuit
设置时坏了normalize=False
. #10071 通过 Alexandre Gramfort .Fix 修复了中的一个错误
linear_model.ARDRegression
这导致标准差和系数的估计更新不正确。 #10153 通过 Jörg Döpfert .Fix 修复了中的一个错误
linear_model.ARDRegression
和linear_model.BayesianRidge
这导致NaN预测时,拟合一个恒定的目标。 #10095 通过 Jörg Döpfert .Fix 修复了中的一个错误
linear_model.RidgeClassifierCV
其中参数store_cv_values
尽管记录在cv_values
作为为不同阿尔法设置交叉验证值存储的一种方式。 #10297 通过 Mabel Villalba-Jiménez .Fix 修复了中的一个错误
linear_model.ElasticNet
这导致使用参数时输入被重写copy_X=True
和check_input=False
. #10581 通过 Yacine Mazari .Fix 修复了中的一个错误
sklearn.linear_model.Lasso
当系数的形状错误时fit_intercept=False
. #10687 通过 Martin Hahn .Fix 修复了中的一个错误
sklearn.linear_model.LogisticRegression
其中multi_class='multinomial'
带二进制输出with warm_start=True
#10836 通过 Aishwarya Srinivasan .Fix 修复了中的一个错误
linear_model.RidgeCV
其中使用integeralphas
提出了一个错误。 #10397 通过 Mabel Villalba-Jiménez .Fix 固定条件触发差距计算
linear_model.Lasso
和linear_model.ElasticNet
在处理稀疏矩阵时。 #10992 通过 Alexandre Gramfort .Fix 修复了中的一个错误
linear_model.SGDClassifier
,linear_model.SGDRegressor
,linear_model.PassiveAggressiveClassifier
,linear_model.PassiveAggressiveRegressor
和linear_model.Perceptron
,其中停止标准是在收敛之前停止算法。的参数n_iter_no_change
已添加并默认设置为5。先前的行为等效于将参数设置为1。 #9043 通过 Tom Dupre la Tour .Fix 修复了一个错误,即如果传递具有64位索引的scipy.sparse矩阵,liblinear和基于libsvm的估计器将segfault。他们现在提出ValueHelp。 #11327 通过 Karan Dhingra 和 Joel Nothman .
API Change 的默认值
solver
和multi_class
参数linear_model.LogisticRegression
将分别从'liblinear'
和'ovr'
在0.20版本中,'lbfgs'
和'auto'
在0.22版本中。使用默认值时会引发FutureWarning。 #11905 通过 Tom Dupre la Tour 和 Joel Nothman .API Change 弃用
positive=True
选项linear_model.Lars
因为底层实现被破坏了。使用linear_model.Lasso
而不是. #9837 通过 Alexandre Gramfort .API Change
n_iter_
可能与之前的版本有所不同,linear_model.LogisticRegression
与solver='lbfgs'
和linear_model.HuberRegressor
.对于Scipy <= 1.0.0,优化器可以执行超过请求的最大迭代次数。现在两个估计器最多只能报告max_iter
即使执行了更多迭代。 #10723 通过 Joel Nothman .
sklearn.manifold
#
Efficiency 加快中“exact”和“barnes_hut”方法的改进
manifold.TSNE
. #10593 和 #10610 通过 Tom Dupre la Tour .Feature 支持稀疏输入
manifold.Isomap.fit
. #8554 通过 Leland McInnes .Feature
manifold.t_sne.trustworthiness
接受欧几里得以外的指标。 #9775 通过 William de Vazelhes .Fix 修复了中的一个错误
manifold.spectral_embedding
其中频谱的正规化是使用除而不是乘。 #8129 通过 Jan Margeta , Guillaume Lemaitre ,而且 Devansh D. .API Change Feature Deprecate
precomputed
parameter in functionmanifold.t_sne.trustworthiness
. Instead, the new parametermetric
should be used with any compatible metric including 'precomputed', in which case the input matrixX
should be a matrix of pairwise distances or squared distances. #9775 by William de Vazelhes.API Change Deprecate
precomputed
parameter in functionmanifold.t_sne.trustworthiness
. Instead, the new parametermetric
should be used with any compatible metric including 'precomputed', in which case the input matrixX
should be a matrix of pairwise distances or squared distances. #9775 by William de Vazelhes.
sklearn.metrics
#
Major Feature 添加了
metrics.davies_bouldin_score
用于在没有基本事实的情况下评估集群模型的指标。 #10827 通过 Luis Osa .Major Feature 添加了
metrics.balanced_accuracy_score
度量和相应的'balanced_accuracy'
二进制和多类分类的评分器。 #8066 通过 @xyguo 和 Aman Dalmia ,而且 #10587 通过 Joel Nothman .Feature 通过以下方式获得部分AUT
max_fpr
参数metrics.roc_auc_score
. #3840 通过 Alexander Niederbühl .Feature 得分手基于
metrics.brier_score_loss
完美的享受放松 #9521 通过 Hanmin Qin .Feature 添加了对规范化的控制
metrics.normalized_mutual_info_score
和metrics.adjusted_mutual_info_score
经由average_method
参数.在0.22版中,每个的默认规范化器将成为 arithmetic 每个聚类的熵的平均值。 #11124 通过 Arya McCarthy .Feature 添加
output_dict
参数metrics.classification_report
将分类统计信息作为字典返回。 #11160 通过 Dan Barkhorn .Feature
metrics.classification_report
现在报告给定数据的所有适用平均值,包括微观、宏观和加权平均值以及多标签数据的样本平均值。 #11679 通过 Alexander Pacha .Feature
metrics.average_precision_score
现在支持二进制y_true
除了{0, 1}
或{-1, 1}
通过pos_label
参数. #9980 通过 Hanmin Qin .Feature
metrics.label_ranking_average_precision_score
现在支持sample_weight
. #10845 通过 Jose Perez-Parras Toledano .Feature 添加
dense_output
参数以metrics.pairwise.linear_kernel
.当False且两个输入都是稀疏的时,将返回一个稀疏矩阵。 #10999 通过 Taylor G Smith .Efficiency
metrics.silhouette_score
和metrics.silhouette_samples
内存效率更高,运行速度更快。这可以避免一些报告的冻结和MemoryErrors。 #11135 通过 Joel Nothman .Fix 修复了中的一个错误
metrics.precision_recall_fscore_support
截断后range(n_labels)
作为值传递labels
. #10377 通过 Gaurav Dhingra .Fix 修复了中因浮点错误而导致的错误
metrics.roc_auc_score
具有非整样本权重。 #9786 通过 Hanmin Qin .Fix 修复了一个错误,
metrics.roc_curve
有时从y轴开始,而不是(0,0),这与文档和其他实现不一致。请注意,这不会影响结果metrics.roc_auc_score
#10093 通过 alexryndin 和 Hanmin Qin .Fix 修复了一个错误以避免integer溢出。将产品铸造为64位整入
metrics.mutual_info_score
. #9772 通过 Kumar Ashutosh .Fix 修复了一个错误,
metrics.average_precision_score
有时会回来nan
当sample_weight
包含0。 #9980 通过 Hanmin Qin .Fix 修复了中的一个错误
metrics.fowlkes_mallows_score
以避免integer溢出。铸造的返回值contingency_matrix
到int64
并且计算平方根的乘积而不是乘积的平方根。 #9515 通过 Alan Liddell 和 Manh Dao .API Change 弃用
reorder
参数metrics.auc
因为它不再需要metrics.roc_auc_score
.此外,使用reorder=True
可以隐藏由于输入中的浮点错误而引起的错误。 #9851 通过 Hanmin Qin .API Change 在
metrics.normalized_mutual_info_score
和metrics.adjusted_mutual_info_score
,警告说,average_method
将有一个新的默认值。在0.22版中,每个的默认规范化器将成为 arithmetic 每个聚类的熵的平均值。目前,metrics.normalized_mutual_info_score
使用默认值average_method='geometric'
,而且metrics.adjusted_mutual_info_score
使用默认值average_method='max'
以匹配0.19版本中的行为。 #11124 通过 Arya McCarthy .API Change 的
batch_size
参数以metrics.pairwise_distances_argmin_min
和metrics.pairwise_distances_argmin
建议在v0.22中删除。它不再有任何影响,因为批量大小由全局决定working_memory
config.看到 限制工作记忆 . #10280 通过 Joel Nothman 和 Aman Dalmia .
sklearn.mixture
#
Feature 附加功能 fit_predict 到
mixture.GaussianMixture
和mixture.GaussianMixture
,本质上相当于打电话 fit 和 predict . #10336 通过 Shu Haoran 和 Andrew Peng .Fix 修复了中的一个错误
mixture.BaseMixture
据报道,n_iter_
错过了一个迭代。它影响mixture.GaussianMixture
和mixture.BayesianGaussianMixture
. #10740 通过 Erich Schubert 和 Guillaume Lemaitre .Fix 修复了中的一个错误
mixture.BaseMixture
及其子类mixture.GaussianMixture
和mixture.BayesianGaussianMixture
其中lower_bound_
不是所有初始化的最大下限(当n_init > 1
),但只是上次初始化的下限。 #10869 通过 Aurélien Géron .
sklearn.model_selection
#
Feature 添加
return_estimator
参数model_selection.cross_validate
返回适合每个分裂的估计量。 #9686 通过 Aurélien Bellet .Feature 新
refit_time_
属性将存储在model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
如果refit
设置为True
.这将允许测量执行超参数优化和重新调整整个数据集的最佳模型所需的完整时间。 #11310 通过 Matthias Feurer .Feature Expose
error_score
parameter inmodel_selection.cross_validate
,model_selection.cross_val_score
,model_selection.learning_curve
andmodel_selection.validation_curve
to control the behavior triggered when an error occurs inmodel_selection._fit_and_score
. #11576 by Samuel O. Ronsin.Feature
BaseSearchCV
now has an experimental, private interface to support customized parameter search strategies, through its ``_ run_search '方法。请参阅中的实现model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
如果您使用此功能,请提供反馈。请注意,我们不保证此API在0.20版本之后的稳定性。 #9599 通过 Joel NothmanEnhancement 添加改进的错误消息
model_selection.cross_val_score
当传递多个指标时scoring
关键字 #11006 通过 Ming Li .API Change 默认交叉验证折叠数
cv
以及默认拆分数n_splits
在model_selection.KFold
- 类似拆分器将在0.22内从3更改为5,因为3-fold具有很大的变化。 #11557 通过 Alexandre Boucaud .API Change 违约
iid
参数model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
将从True
到False
在0.22版本中,以对应交叉验证的标准定义,并且该参数将在0.24版本中完全删除。当交叉验证中不同测试集的大小非常不平等时,即在基于群体的简历策略中,该参数具有最大的实际意义。 #9085 通过 Laurent Direr 和 Andreas Müller .API Change 的默认值
error_score
参数model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
将更改为np.NaN
在0.22版本中。 #10677 通过 Kirill Zhdanovich .API Change 中引发的Changed Value错误异常
model_selection.ParameterSampler
如果类以更大的值实例化,则将其添加到用户警告n_iter
大于参数网格中参数的总空间。n_iter
现在充当迭代的上限。 #10982 通过 Juliet LawtonAPI Change 的输入无效
model_selection.ParameterGrid
现在引发TypeError。 #10928 通过 Solutus Immensus
sklearn.multioutput
#
Major Feature 添加
multioutput.RegressorChain
用于多目标回归。 #9257 通过 Kumar Ashutosh .
sklearn.naive_bayes
#
Major Feature 添加
naive_bayes.ComplementNB
,它实现了Rennie等人(2003)中描述的Complement Naive Bayes分类器。 #8190 通过 Michael A. Alcorn .Feature 添加
var_smoothing
参数naive_bayes.GaussianNB
以精确控制方差计算。 #9681 通过 Dmitry Mottl .Fix 修复了中的一个错误
naive_bayes.GaussianNB
这错误地引发了先前列表的错误,其总和为1。 #10005 通过 Gaurav Dhingra .Fix 修复了中的一个错误
naive_bayes.MultinomialNB
它不接受向值伪计数(Alpha)。 #10346 通过 Tobias Madsen
sklearn.neighbors
#
Efficiency
neighbors.RadiusNeighborsRegressor
和neighbors.RadiusNeighborsClassifier
现在根据n_jobs
无论algorithm
. #10887 通过 Joël Billaud .Efficiency
sklearn.neighbors
查询方法现在的内存效率更高,algorithm='brute'
. #11136 通过 Joel Nothman 和 Aman Dalmia .Feature 添加
sample_weight
参数与的匹配方法neighbors.KernelDensity
以启用核密度估计中的加权。 #4394 通过 Samuel O. Ronsin .Feature 新颖性检测
neighbors.LocalOutlierFactor
:添加一个novelty
参数以neighbors.LocalOutlierFactor
.当novelty
设置为True,neighbors.LocalOutlierFactor
然后可用于新奇性检测,即预测新的未见数据。可用的预测方法有predict
,decision_function
和score_samples
.默认情况下,novelty
设置为False
,而且只有fit_predict
方法可用。通过 Albert Thomas .Fix 修复了中的一个错误
neighbors.NearestNeighbors
其中,当a)使用的距离度量是可调用的并且b)对NearestNeighbors模型的输入是稀疏的时,对NearestNeighbors模型的匹配失败。 #9579 通过 Thomas Kober .Fix 修复了一个错误,
predict
在neighbors.RadiusNeighborsRegressor
使用非均匀权重时可以处理空邻居集。当未找到样本的邻居时,还会发出新的警告。 #9655 通过 Andreas Bjerre-Nielsen .Fix Efficiency Fixed a bug in
KDTree
construction that results in faster construction and querying times. #11556 by Jake VanderPlasFix 修复了中的一个错误
neighbors.KDTree
和neighbors.BallTree
其中腌制的树对象将其类型更改为超级类BinaryTree
. #11774 通过 Nicolas Hug .
sklearn.neural_network
#
Feature 添加
n_iter_no_change
参数neural_network.BaseMultilayerPerceptron
,neural_network.MLPRegressor
,而且neural_network.MLPClassifier
控制不满足的最大历元数tol
改进. #9456 通过 Nicholas Nadeau .Fix 修复了中的一个错误
neural_network.BaseMultilayerPerceptron
,neural_network.MLPRegressor
,而且neural_network.MLPClassifier
用新n_iter_no_change
参数现在从之前硬编码的2变为10。 #9456 通过 Nicholas Nadeau .Fix 修复了中的一个错误
neural_network.MLPRegressor
由于局部最小值或波动,合身意外提前退出。 #9456 通过 Nicholas Nadeau
sklearn.pipeline
#
Feature 的
predict
方法pipeline.Pipeline
现在将关键字参数传递给管道的最后一个估计器,从而允许使用参数,例如return_std
谨慎进行管道。 #9304 通过 Breno Freitas .API Change
pipeline.FeatureUnion
现在支持'drop'
as a Transformer to drop下降features功能. #11144 通过 Thomas Fan .
sklearn.preprocessing
#
Major Feature 扩大
preprocessing.OneHotEncoder
允许使用一热(或哑)编码方案将类别字符串要素编码为数字数组,并添加preprocessing.OrdinalEncoder
转换为有序的数字。这两个类现在处理所有要素类型的编码(还处理字符串值要素),并根据要素中的唯一值而不是要素中的最大值来推导类别。 #9151 和 #10521 通过 Vighnesh Birodkar 和 Joris Van den Bossche .Major Feature 添加
preprocessing.KBinsDiscretizer
用于将连续特征转化为分类或一次性编码特征。 #7668 , #9647 , #10195 , #10192 , #11272 , #11467 和 #11505 .通过 Henry Lin , Hanmin Qin , Tom Dupre la Tour 和 Giovanni Giuseppe Costa .Major Feature 添加
preprocessing.PowerTransformer
,它实现了Yeo-Johnson和Box-Cox权力转换。功率变换尝试找到一组按特征的参数变换,以将数据大致映射到以零为中心且具有单位方差的高斯分布。在需要正态性和同质性的情况下,这作为方差稳定转换是有用的。 #10210 通过 Eric Chang 和 Maniteja Nandana ,而且 #11520 通过 Nicolas Hug .Major Feature NaN值被忽略并通过以下预处理方法处理:
preprocessing.MaxAbsScaler
,preprocessing.MinMaxScaler
,preprocessing.RobustScaler
,preprocessing.StandardScaler
,preprocessing.PowerTransformer
,preprocessing.QuantileTransformer
类和preprocessing.maxabs_scale
,preprocessing.minmax_scale
,preprocessing.robust_scale
,preprocessing.scale
,preprocessing.power_transform
,preprocessing.quantile_transform
分别在问题中解决的职能 #11011 , #11005 , #11308 , #11206 , #11306 ,而且 #10437 .通过 Lucija Gregov 和 Guillaume Lemaitre .Feature
preprocessing.PolynomialFeatures
现在支持稀疏输入。 #10452 通过 Aman Dalmia 和 Joel Nothman .Feature
preprocessing.RobustScaler
和preprocessing.robust_scale
可以使用稀疏矩阵进行匹配。 #11308 通过 Guillaume Lemaitre .Feature
preprocessing.OneHotEncoder
现在支持get_feature_names
method to obtain the transformed feature names. #10181 by Nirvan Anjirbag and Joris Van den Bossche .Feature 的参数
check_inverse
添加至preprocessing.FunctionTransformer
确保func
和inverse_func
是彼此相反的。 #9399 通过 Guillaume Lemaitre .Feature 的
transform
方法sklearn.preprocessing.MultiLabelBinarizer
现在忽略任何未知类。系统会发出警告,指出发现的未知类将被忽略。 #10913 通过 Rodrigo Agundez .Fix 修复了中的错误
preprocessing.LabelEncoder
这有时会出现错误时transform
或inverse_transform
使用空数组调用。 #10458 通过 Mayur Kulkarni .Fix 修复值错误
preprocessing.LabelEncoder
当使用inverse_transform
在看不见的标签上。 #9816 通过 Charlie Newey .Fix 修复错误
preprocessing.OneHotEncoder
它抛弃了dtype
当返回稀疏矩阵输出时。 #11042 通过 Daniel Morales .Fix 修复
fit
和partial_fit
在preprocessing.StandardScaler
在很少的情况下with_mean=False
和with_std=False
呼叫时崩溃了fit
并给出不一致的结果,mean_
无论输入是稀疏矩阵还是密集矩阵。mean_
将被设置为None
具有稀疏和密集输入。n_samples_seen_
也将报告这两种输入类型。 #11235 通过 Guillaume Lemaitre .API Change 弃用
n_values
和categorical_features
参数和active_features_
,feature_indices_
和n_values_
属性preprocessing.OneHotEncoder
.的n_values
参数可以替换为新的categories
参数,以及带有新的categories_
属性使用选择分类特征categorical_features
现在使用compose.ColumnTransformer
. #10521 通过 Joris Van den Bossche .API Change 弃用
preprocessing.Imputer
并将相应的模块移动到impute.SimpleImputer
. #9726 通过 Kumar Ashutosh .API Change 的
axis
中的参数preprocessing.Imputer
中不再存在impute.SimpleImputer
.该行为相当于axis=0
(沿着列估算)。行插补可以使用FunctionTransformer执行(例如,FunctionTransformer(lambda X: SimpleImputer().fit_transform(X.T).T)
). #10829 通过 Guillaume Lemaitre 和 Gilberto Olimpio .API Change 缺失值的NaN标记已在
preprocessing.Imputer
和impute.SimpleImputer
.missing_values='NaN'
现在应该missing_values=np.nan
. #11211 通过 Jeremie du Boisberranger .API Change 在
preprocessing.FunctionTransformer
,默认的validate
将从True
到False
0.22。 #10655 通过 Guillaume Lemaitre .
sklearn.svm
#
Fix 修复了中的一个错误
svm.SVC
当争论时kernel
是Python 2中的unicode,predict_proba
给定密集输入,方法会引发意外的类型错误。 #10412 通过 Jiongyan Zhang .API Change 弃用
random_state
参数svm.OneClassSVM
因为底层实现不是随机的。 #9497 通过 Albert Thomas .API Change 的默认值
gamma
参数svm.SVC
,NuSVC
,SVR
,NuSVR
,OneClassSVM
将从'auto'
到'scale'
在0.22版本中,以更好地考虑未缩放的功能。 #8361 通过 Gaurav Dhingra 和 Ting Neo .
sklearn.tree
#
Enhancement 虽然是私有的(因此不能保证API的稳定性),
tree._criterion.ClassificationCriterion
和tree._criterion.RegressionCriterion
现在可以导入和扩展。 #10325 通过 Camil Staps .Fix 修复了中的一个错误
tree.BaseDecisionTree
与splitter="best"
当X中的值接近无限时,分裂阈值可能会变得无限。 #10536 通过 Jonathan Ohayon .Fix 修复了中的一个错误
tree.MAE
以确保在计算树木MAE杂质期间使用样本权重。先前的行为可能会导致选择次优分离,因为杂质计算认为所有样本的重量重要性相同。 #11464 通过 John Stott .
sklearn.utils
#
Feature
utils.check_array
和utils.check_X_y
现在有accept_large_sparse
以控制是否应拒绝具有64位索引的scipy.sparse矩阵。 #11327 通过 Karan Dhingra 和 Joel Nothman .Efficiency Fix Avoid copying the data in
utils.check_array
when the input data is a memmap (andcopy=False
). #10663 by Arthur Mensch and Loïc Estève.API Change
utils.check_array
产生FutureWarning
指示从0.22版本开始,字节/字符串数组将被解释为小数。 #10229 通过 Ryan Lee
多个模块#
Feature API Change More consistent outlier detection API: Add a
score_samples
method insvm.OneClassSVM
,ensemble.IsolationForest
,neighbors.LocalOutlierFactor
,covariance.EllipticEnvelope
. It allows to access raw score functions from original papers. A newoffset_
parameter allows to linkscore_samples
anddecision_function
methods. Thecontamination
parameter ofensemble.IsolationForest
andneighbors.LocalOutlierFactor
decision_function
methods is used to define thisoffset_
such that outliers (resp. inliers) have negative (resp. positive)decision_function
values. By default,contamination
is kept unchanged to 0.1 for a deprecation period. In 0.22, it will be set to "auto", thus using method-specific score offsets. Incovariance.EllipticEnvelope
decision_function
method, theraw_values
parameter is deprecated as the shifted Mahalanobis distance will be always returned in 0.22. #9015 by Nicolas Goix.Feature API Change A
behaviour
parameter has been introduced inensemble.IsolationForest
to ensure backward compatibility. In the old behaviour, thedecision_function
is independent of thecontamination
parameter. A threshold attribute depending on thecontamination
parameter is thus used. In the new behaviour thedecision_function
is dependent on thecontamination
parameter, in such a way that 0 becomes its natural threshold to detect outliers. Setting behaviour to "old" is deprecated and will not be possible in version 0.22. Beside, the behaviour parameter will be removed in 0.24. #11553 by Nicolas Goix.API Change 添加了收敛警告,
svm.LinearSVC
和linear_model.LogisticRegression
当verbose
设置为0。 #10881 通过 Alexandre Sevin .API Change 将警告类型更改为
UserWarning
到exceptions.ConvergenceWarning
因未能融合linear_model.logistic_regression_path
,linear_model.RANSACRegressor
,linear_model.ridge_regression
,gaussian_process.GaussianProcessRegressor
,gaussian_process.GaussianProcessClassifier
,decomposition.fastica
,cross_decomposition.PLSCanonical
,cluster.AffinityPropagation
,而且cluster.Birch
. #10306 通过 Jonathan Siebert .
杂项#
Major Feature A new configuration parameter,
working_memory
was added to control memory consumption limits in chunked operations, such as the newmetrics.pairwise_distances_chunked
. See 限制工作记忆. #10280 by Joel Nothman and Aman Dalmia.Feature 的版本
joblib
与Scikit-learn捆绑的现在是0.12。这使用了一个新的默认多处理实现,名为 loky .虽然这可能会带来一些内存和通信负担,但它应该比依赖Python标准库多处理提供更好的跨平台稳定性。 #11741 Joblib开发人员,尤其是 Thomas Moreau 和 Olivier Grisel .Feature 添加了一个使用网站jobib而不是供应商的环境变量 (环境变量 ). joblib的主要API现在在
sklearn.utils
. #11166 通过 Gael Varoquaux .Feature 添加几乎完整的PyPy 3支持。已知不支持的功能包括
datasets.load_svmlight_file
,feature_extraction.FeatureHasher
和feature_extraction.text.HashingVectorizer
.要在PyPy上运行,需要Pypy 3-v5.10+、Numpy 1.14.0+和scipy 1.1.0+。 #11010 通过 Ronan Lamy 和 Roman Yurchak .Feature 实用方法
sklearn.show_versions
添加是为了打印与调试相关的信息。它包括用户系统、Python可执行文件、主库的版本和BLAS绑定信息。 #11596 通过 Alexandre BoucaudFix 修复了元估计器上设置参数时的错误,涉及包装估计器及其参数。 #9999 通过 Marcus Voss 和 Joel Nothman .
Fix 修复了呼叫的错误
sklearn.base.clone
不是线程安全的,可能会导致“从空列表弹出”错误。 #9569 通过 Andreas Müller .API Change 的默认值
n_jobs
变更1
到None
在所有相关功能和类中。n_jobs=None
意味unset
.它通常会被解释为n_jobs=1
,除非当前joblib.Parallel
后台上下文另有指定(请参阅 Glossary 欲了解更多信息)。请注意,这种变化会立即发生(即,没有弃用周期)。 #11741 通过 Olivier Grisel .Fix 修复了验证助手中传递DaskDataFrame会导致错误的错误。 #12462 通过 Zachariah Miller
估计器检查的更改#
这些变化主要影响库开发人员。
如果估计器实施,现在适用对变压器的检查 transform ,无论它是否继承自
sklearn.base.TransformerMixin
. #10474 通过 Joel Nothman .现在检查分类器之间的一致性 decision_function 和分类预测。 #10500 通过 Narine Kokhlikyan .
允许测试
utils.estimator_checks.check_estimator
测试接受成对数据的函数。 #9701 通过 Kyle Johnson允许
utils.estimator_checks.check_estimator
检查估计器初始化期间除参数外是否没有私人设置。 #9378 通过 Herilalaina Rakotoarison一套检查
utils.estimator_checks.check_estimator
现在包括一个check_set_params
测试用于检查set_params
相当于传递参数__init__
并警告是否遇到参数验证。 #7738 通过 Alvin Chiang添加集群指标的不变性测试。 #8102 通过 Ankita Sinha 和 Guillaume Lemaitre .
添加
check_methods_subset_invariance
到check_estimator
,它检查估计器方法在应用于数据子集时是否不变。 #10428 通过 Jonathan Ohayon添加测试
utils.estimator_checks.check_estimator
检查估计器是否可以处理只读memmap输入数据。 #10663 通过 Arthur Mensch 和 Loïc Estève .check_sample_weights_pandas_series
现在使用8个而不是6个样本来适应中的默认集群数量cluster.KMeans
. #10933 通过 Johannes Hansen .现在检查估算者是否
sample_weight=None
相当于sample_weight=np.ones(...)
. #11558 通过 Sergul Aydore .
代码和文档贡献者#
感谢自0.19版本以来为项目维护和改进做出贡献的所有人,包括:
211217613, Aarshay Jain, absolutelyNoWarranty, Adam Greenhall, Adam Kleczewski, Adam Richie-Halford, adelr, AdityaDaflapurkar, Adrin Jalali, Aidan Fitzgerald, aishgrt1, Akash Shivram, Alan Liddell, Alan Yee, Albert Thomas, Alexander Lenail, Alexander-N, Alexandre Boucaud, Alexandre Gramfort, Alexandre Sevin, Alex Egg, Alvaro Perez-Diaz, Amanda, Aman Dalmia, Andreas Bjerre-Nielsen, Andreas Mueller, Andrew Peng, Angus Williams, Aniruddha Dave, annaayzenshtat, Anthony Gitter, Antonio Quinonez, Anubhav Marwaha, Arik Pamnani, Arthur Ozga, Artiem K, Arunava, Arya McCarthy, Attractadore, Aurélien Bellet, Aurélien Geron, Ayush Gupta, Balakumaran Manoharan, Bangda Sun, Barry Hart, Bastian Venthur, Ben Lawson, Benn Roth, Breno Freitas, Brent Yi, brett koonce, Caio Oliveira, Camil Staps, cclauss, Chady Kamar, Charlie Brummitt, Charlie Newey, chris, Chris, Chris Catalfo, Chris Foster, Chris Holdgraf, Christian Braune, Christian Hirsch, Christian Hogan, Christopher Jenness, Clement Joudet, cnx, cwitte, Dallas Card, Dan Barkhorn, Daniel, Daniel Ferreira, Daniel Gomez, Daniel Klevebring, Danielle Shwed, Daniel Mohns, Danil Baibak, Darius Morawiec, David Beach, David Burns, David Kirkby, David Nicholson, David Pickup, Derek, Didi Bar-Zev, diegodlh, Dillon Gardner, Dillon Niederhut, dilutedsauce, dlovell, Dmitry Mottl, Dmitry Petrov, Dor Cohen, Douglas Duhaime, Ekaterina Tuzova, Eric Chang, Eric Dean Sanchez, Erich Schubert, Eunji, Fang-Chieh Chou, FarahSaeed, felix, Félix Raimundo, fenx, filipj8, FrankHui, Franz Wompner, Freija Descamps, frsi, Gabriele Calvo, Gael Varoquaux, Gaurav Dhingra, Georgi Peev, Gil Forsyth, Giovanni Giuseppe Costa, gkevinyen5418, goncalo-rodrigues, Gryllos Prokopis, Guillaume Lemaitre, Guillaume "Vermeille" Sanchez, Gustavo De Mari Pereira, hakaa1, Hanmin Qin, Henry Lin, Hong, Honghe, Hossein Pourbozorg, Hristo, Hunan Rostomyan, iampat, Ivan PANICO, Jaewon Chung, Jake VanderPlas, jakirkham, James Bourbeau, James Malcolm, Jamie Cox, Jan Koch, Jan Margeta, Jan Schlüter, janvanrijn, Jason Wolosonovich, JC Liu, Jeb Bearer, jeremiedbb, Jimmy Wan, Jinkun Wang, Jiongyan Zhang, jjabl, jkleint, Joan Massich, Joël Billaud, Joel Nothman, Johannes Hansen, JohnStott, Jonatan Samoocha, Jonathan Ohayon, Jörg Döpfert, Joris Van den Bossche, Jose Perez-Parras Toledano, josephsalmon, jotasi, jschendel, Julian Kuhlmann, Julien Chaumond, julietcl, Justin Shenk, Karl F, Kasper Primdal Lauritzen, Katrin Leinweber, Kirill, ksemb, Kuai Yu, Kumar Ashutosh, Kyeongpil Kang, Kye Taylor, kyledrogo, Leland McInnes, Léo DS, Liam Geron, Liutong Zhou, Lizao Li, lkjcalc, Loic Esteve, louib, Luciano Viola, Lucija Gregov, Luis Osa, Luis Pedro Coelho, Luke M Craig, Luke Persola, Mabel, Mabel Villalba, Maniteja Nandana, MarkIwanchyshyn, Mark Roth, Markus Müller, MarsGuy, Martin Gubri, martin-hahn, martin-kokos, mathurinm, Matthias Feurer, Max Copeland, Mayur Kulkarni, Meghann Agarwal, Melanie Goetz, Michael A. Alcorn, Minghui Liu, Ming Li, Minh Le, Mohamed Ali Jamaoui, Mohamed Maskani, Mohammad Shahebaz, Muayyad Alsadi, Nabarun Pal, Nagarjuna Kumar, Naoya Kanai, Narendran Santhanam, NarineK, Nathaniel Saul, Nathan Suh, Nicholas Nadeau, P.Eng., AVS, Nick Hoh, Nicolas Goix, Nicolas Hug, Nicolau Werneck, nielsenmarkus11, Nihar Sheth, Nikita Titov, Nilesh Kevlani, Nirvan Anjirbag, notmatthancock, nzw, Oleksandr Pavlyk, oliblum90, Oliver Rausch, Olivier Grisel, Oren Milman, Osaid Rehman Nasir, pasbi, Patrick Fernandes, Patrick Olden, Paul Paczuski, Pedro Morales, Peter, Peter St. John, pierreablin, pietruh, Pinaki Nath Chowdhury, Piotr Szymański, Pradeep Reddy Raamana, Pravar D Mahajan, pravarmahajan, QingYing Chen, Raghav RV, Rajendra arora, RAKOTOARISON Herilalaina, Rameshwar Bhaskaran, RankyLau, Rasul Kerimov, Reiichiro Nakano, Rob, Roman Kosobrodov, Roman Yurchak, Ronan Lamy, rragundez, Rüdiger Busche, Ryan, Sachin Kelkar, Sagnik Bhattacharya, Sailesh Choyal, Sam Radhakrishnan, Sam Steingold, Samuel Bell, Samuel O. Ronsin, Saqib Nizam Shamsi, SATISH J, Saurabh Gupta, Scott Gigante, Sebastian Flennerhag, Sebastian Raschka, Sebastien Dubois, Sébastien Lerique, Sebastin Santy, Sergey Feldman, Sergey Melderis, Sergul Aydore, Shahebaz, Shalil Awaley, Shangwu Yao, Sharad Vijalapuram, Sharan Yalburgi, shenhanc78, Shivam Rastogi, Shu Haoran, siftikha, Sinclert Pérez, SolutusImmensus, Somya Anand, srajan paliwal, Sriharsha Hatwar, Sri Krishna, Stefan van der Walt, Stephen McDowell, Steven Brown, syonekura, Taehoon Lee, Takanori Hayashi, tarcusx, Taylor G Smith, theriley106, Thomas, Thomas Fan, Thomas Heavey, Tobias Madsen, tobycheese, Tom Augspurger, Tom Dupré la Tour, Tommy, Trevor Stephens, Trishnendu Ghorai, Tulio Casagrande, twosigmajab, Umar Farouk Umar, Urvang Patel, Utkarsh Upadhyay, Vadim Markovtsev, Varun Agrawal, Vathsala Achar, Vilhelm von Ehrenheim, Vinayak Mehta, Vinit, Vinod Kumar L, Viraj Mavani, Viraj Navkal, Vivek Kumar, Vlad Niculae, vqean3, Vrishank Bhardwaj, vufg, wallygauze, Warut Vijitbenjaronk, wdevazelhes, Wenhao Zhang, Wes Barnett, Will, William de Vazelhes, Will Rosenfeld, Xin Xiong, Yiming (Paul) Li, ymazari, Yufeng, Zach Griffith, Zé Vinícius, Zhenqing Hu, Zhiqing Xiao, Zijie (ZJ) Poh