版本 0.18#
Warning
Scikit-learn 0.18 是支持 Python 2.6 的最后一个主要版本。 后续版本的 scikit-learn 将需要 Python 2.7 或更高版本。
版本 0.18.2#
2017年6月20日
更新日志#
代码贡献者#
Aman Dalmia, Loic Esteve, Nate Guerin, Sergei Lebedev
版本 0.18.1#
2016年11月11日
更新日志#
增强功能#
通过在大多数情况下利用 numpy.random.permutation 提高了
sample_without_replacement
的速度。因此,对于固定的随机状态,此版本中的样本可能会有所不同。受影响的估计器:这也影响了
datasets.make_classification
方法。
错误修复#
修复了
min_grad_norm
和n_iter_without_progress
参数未被manifold.TSNE
使用的问题。#6497 由 Sebastian Säger 提供。修复了当
decision_function_shape
为ovr
时svm.SVC
的决策值错误。svm.SVC
的 decision_function 在 0.17.0 到 0.18.0 版本中不正确。#7724 由 Bing Tian Dai 提供。使用 SVD 和 Eigen 求解器计算的
discriminant_analysis.LinearDiscriminantAnalysis
的explained_variance_ratio
属性现在具有相同的长度。#7632 由 JPFrancoia 提供。修复了 单变量特征选择 中的问题,其中得分 函数之前不接受多标签目标。#7676 由 Mohammed Affan 修复
修复了在多次调用
fit
方法时设置参数的问题feature_selection.SelectFromModel
。#7756 由 Andreas Müller 修复修复了在
partial_fit
方法中multiclass.OneVsRestClassifier
的问题,当用于partial_fit
的类别数少于数据中的总类别数时。#7786 由 Srivatsan Ramesh 修复修复了
calibration.CalibratedClassifierCV
中的问题,其中每个类别的概率总和不为1,并且CalibratedClassifierCV
现在处理训练集中的类别数少于总数据的情况。#7799 由 Srivatsan Ramesh 修复修复了一个错误,
sklearn.feature_selection.SelectFdr
没有完全实现 Benjamini-Hochberg 过程。之前可能会选择比应该选择的更少的特征。 #7490 由 Peng Meng 修复。sklearn.manifold.LocallyLinearEmbedding
现在正确处理整数输入。#6282 由 Jake Vanderplas 修复。基于树的分类器和回归器的
min_weight_fraction_leaf
参数现在默认假设样本权重均匀,如果fit
函数没有传递sample_weight
参数。之前,该参数被静默忽略。#7301 由 Nelson Liu 修复。修复了在中心化数据上
linear_model.RidgeCV
的数值问题,当n_features > n_samples
时。#6178 由 Bertrand Thirion 修复树分裂准则类的克隆/序列化现在内存安全 #7680 由 Ibraim Ganiev 修复。
修复了一个错误,
decomposition.NMF
在transform()
中设置了其n_iters_
属性。#7553 由 Ekaterina Krivich 修复。sklearn.linear_model.LogisticRegressionCV
现在正确处理字符串标签。#5874 由 Raghav RV 修复。修复了一个错误,当
stratify
是字符串标签列表时,sklearn.model_selection.train_test_split
会引发错误。#7593 由 Raghav RV 修复。修复了一个错误,
sklearn.model_selection.GridSearchCV
和sklearn.model_selection.RandomizedSearchCV
由于np.ma.MaskedArray
中的序列化错误而无法序列化。#7594 由 Raghav RV 修复。sklearn.model_selection
中的所有交叉验证工具现在都允许cv
参数使用一次性交叉验证分割器。同时,非确定性交叉验证分割器(多次调用split
产生不同分割)也可以用作cv
参数。sklearn.model_selection.GridSearchCV
将在交叉验证分割器第一次调用split
产生的分割上对每个参数设置进行交叉验证。#7660 由 Raghav RV 修复。修复了一个错误,
preprocessing.MultiLabelBinarizer.fit_transform
返回了一个无效的 CSR 矩阵。#7750 由 CJ Carey 修复。修复了一个错误,
metrics.pairwise.cosine_distances
可能返回一个小的负距离。#7732 由 Artsion 修复。
API 变更总结#
树和森林
基于树的分类器和回归器的
min_weight_fraction_leaf
参数现在默认假设样本权重均匀,如果fit
函数没有传递sample_weight
参数。以前,该参数被静默忽略。#7301 由 Nelson Liu 修复。树分割准则类的克隆/序列化现在内存安全。#7680 由 Ibraim Ganiev 修复。
线性、核化和相关模型
discriminant_analysis.LinearDiscriminantAnalysis
的explained_variance_ratio
长度对于 Eigen 和 SVD 求解器都发生了变化。该属性现在长度为 min(n_components, n_classes - 1)。#7632
由 JPFrancoia 提供
当
n_features > n_samples
时,linear_model.RidgeCV
在中心化数据上的数值问题。#6178 由 Bertrand Thirion 提供
版本 0.18#
2016年9月28日
模型选择增强和API变更#
model_selection 模块
新的模块
sklearn.model_selection
,将原先的sklearn.cross_validation
、sklearn.grid_search
和sklearn.learning_curve
的功能整合在一起,引入了新的可能性,如嵌套交叉验证和使用 Pandas 更好地处理参数搜索。许多功能将保持不变,但有一些关键差异。阅读以下内容以了解更多关于这些变更的信息。
数据无关的CV分割器,支持嵌套交叉验证
在
sklearn.model_selection
中定义的新交叉验证分割器不再使用任何数据依赖参数(如y
)进行初始化。相反,它们公开了一个split
方法,该方法接受数据并生成不同分割的生成器。这一变更使得可以使用交叉验证分割器执行嵌套交叉验证,由
model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
工具辅助实现。增强的 cv_results_ 属性
新的
cv_results_
属性(在model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
中引入,取代了grid_scores_
属性)是一个包含一维数组的字典,每个数组中的元素对应于参数设置(即搜索候选)。cv_results_
字典可以轻松导入pandas
作为DataFrame
,以便探索搜索结果。cv_results_
数组包括每个交叉验证分割的分数 (带有诸如'split0_test_score'
这样的键), 以及它们的平均值 ('mean_test_score'
) 和标准差 ('std_test_score'
).搜索候选者的排名(基于它们的平均交叉验证分数)可以在
cv_results_['rank_test_score']
中找到。每个参数的参数值分别存储为 numpy 掩码对象数组。对于该搜索候选者,如果 相应的参数不适用,则该值被掩码。此外,所有参数字典的列表存储在
cv_results_['params']
中。参数 n_folds 和 n_iter 重命名为 n_splits
一些参数名称已更改:
model_selection.KFold
、model_selection.GroupKFold
(见下文名称更改)和model_selection.StratifiedKFold
中的n_folds
参数现在已重命名为n_splits
。model_selection.ShuffleSplit
、新类model_selection.GroupShuffleSplit
和model_selection.StratifiedShuffleSplit
中的n_iter
参数现在已重命名为n_splits
。接受组标签和数据的分割器类重命名
交叉验证分割器
LabelKFold
、LabelShuffleSplit
、LeaveOneLabelOut
和LeavePLabelOut
已重命名为model_selection.GroupKFold
、model_selection.GroupShuffleSplit
、model_selection.LeaveOneGroupOut
和model_selection.LeavePGroupsOut
。注意
model_selection.LeavePGroupsOut
中从单数形式到复数形式的更改。拟合参数 labels 重命名为 groups
在新重命名的分割器
model_selection.GroupKFold
、model_selection.LeaveOneGroupOut
、model_selection.LeavePGroupsOut
和model_selection.GroupShuffleSplit
的split
方法中的labels
参数已重命名为groups
, 以遵循其类名称的新命名法。参数 n_labels 已重命名为 n_groups
在新近重命名的
model_selection.LeavePGroupsOut
中,参数n_labels
已更改为n_groups
。训练分数和时间信息
cv_results_
还包括每个交叉验证分组的训练分数(键如'split0_train_score'
),以及它们的均值('mean_train_score'
)和标准差('std_train_score'
)。为了避免评估训练分数的成本,可以设置return_train_score=False
。此外,所有交叉验证分组中用于分割、训练和评分模型的时间的均值和标准差分别在键
'mean_time'
和'std_time'
中可用。
更新日志#
新功能#
分类器和回归器
高斯过程模块已重新实现,现在通过
gaussian_process.GaussianProcessClassifier
和gaussian_process.GaussianProcessRegressor
提供分类和回归估计器。新实现支持核工程、基于梯度的超参数优化或从高斯过程先验和高斯过程后验中采样函数等功能。提供了广泛的文档和示例。由 Jan Hendrik Metzen 提供。添加了新的监督学习算法:多层感知机 #3204 由 Issam H. Laradji 提供
添加了
linear_model.HuberRegressor
,一种对异常值稳健的线性模型。#5291 由 Manoj Kumar 提供。添加了
multioutput.MultiOutputRegressor
元估计器。它通过为每个输出拟合一个回归器,将单输出回归器转换为多输出回归器。由 Tim Head 提供。
其他估计器
新的
mixture.GaussianMixture
和mixture.BayesianGaussianMixture
取代了以前的混合模型,采用了更快的推理方法。 为了获得更可靠的结果。#7295 由 Wei Xue 和 Thierry Guillemot 贡献。类
decomposition.RandomizedPCA
现已分解为decomposition.PCA
, 并且可以通过参数svd_solver='randomized'
调用。'randomized'
的默认n_iter
次数已更改为 4。通过svd_solver='full'
可以恢复 PCA 的旧行为。 另外,还添加了调用arpack
的求解器,执行截断(非随机)SVD。默认情况下, 会根据输入的大小和请求的组件数量选择最佳求解器。#5299 由 Giorgio Patrini 贡献。增加了两个用于互信息估计的函数:
feature_selection.mutual_info_classif
和feature_selection.mutual_info_regression
。这些函数可以用作feature_selection.SelectKBest
和feature_selection.SelectPercentile
的评分函数。由 Andrea Bravi 和 Nikolay Mayorov 贡献。增加了
ensemble.IsolationForest
类,用于基于随机森林的异常检测。 由 Nicolas Goix 贡献。在
cluster.KMeans
中增加了algorithm="elkan"
,实现了 Elkan 的 快速 K-Means 算法。由 Andreas Müller 贡献。
模型选择和评估
增加了
metrics.fowlkes_mallows_score
,即 Fowlkes Mallows 指数, 用于衡量一组点的两个聚类之间的相似性。由 Arnaud Fouchet 和 Thierry Guillemot 贡献。增加了
metrics.calinski_harabaz_score
,用于计算 Calinski 和 Harabaz 分数, 以评估一组点的聚类结果。由 Arnaud Fouchet 和 Thierry Guillemot 贡献。增加了新的交叉验证分割器
model_selection.TimeSeriesSplit
,用于处理 时间序列数据。#6586 由 YenChen Lin 贡献。交叉验证迭代器被替换为从
sklearn.model_selection
中可用的交叉验证分割器,允许嵌套交叉验证。更多信息请参见 模型选择增强和API变更 。#4294 由 Raghav RV 提供。
增强功能#
树和集成
为
tree.DecisionTreeRegressor
添加了一个新的分割准则,即平均绝对误差。此准则也可用于ensemble.ExtraTreesRegressor
、ensemble.RandomForestRegressor
以及梯度提升估计器。#6667 由 Nelson Liu 提供。为决策树增长添加了基于加权杂质的早期停止准则。#6954 由 Nelson Liu 提供。
随机森林、额外树和决策树估计器现在有一个
decision_path
方法,该方法返回树中样本的决策路径。由 Arnaud Joly 提供。新增了一个示例,揭示决策树结构。由 Arnaud Joly 提供。
随机森林、额外树、决策树和梯度提升估计器接受参数
min_samples_split
和min_samples_leaf
,这些参数以训练样本的百分比形式提供。由 yelite 和 Arnaud Joly 提供。梯度提升估计器接受参数
criterion
,用于指定构建决策树时使用的分割准则。#6667 由 Nelson Liu 提供。减少了
ensemble.bagging.BaseBagging
及其继承类(即ensemble.BaggingClassifier
、ensemble.BaggingRegressor
和ensemble.IsolationForest
)的内存占用(有时显著减少),通过仅在需要时动态生成属性estimators_samples_
。由 David Staub 提供。为
ensemble.VotingClassifier
添加了n_jobs
和sample_weight
参数,以并行拟合底层估计器。 #5805 由 Ibraim Ganiev 提交。
线性、核化及相关模型
在
linear_model.LogisticRegression
中,SAG 求解器现在在多项式情况下可用。#5251 由 Tom Dupre la Tour 提交。linear_model.RANSACRegressor
、svm.LinearSVC
和svm.LinearSVR
现在支持sample_weight
。由 Imaculate 提交。为
linear_model.RANSACRegressor
添加参数loss
,用于在每次试验中测量样本的误差。由 Manoj Kumar 提交。使用等渗回归(
isotonic.IsotonicRegression
)对样本外事件进行预测现在更快了(在合成数据测试中超过 1000 倍)。由 Jonathan Arfa 提交。等渗回归(
isotonic.IsotonicRegression
)现在使用更好的算法来避免病态情况下的O(n^2)
行为,并且通常也更快(##6691 )。由 Antony Lee 提交。naive_bayes.GaussianNB
现在通过参数priors
接受数据独立的类先验。由 Guillaume Lemaitre 提交。linear_model.ElasticNet
和linear_model.Lasso
现在可以在不转换为np.float64
的情况下处理np.float32
输入数据。这允许减少内存消耗。#6913 由 YenChen Lin 提交。semi_supervised.LabelPropagation
和semi_supervised.LabelSpreading
现在除了字符串knn
和rbf
之外,还接受任意核函数。#5762 由 Utkarsh Upadhyay 提交。
分解、流形学习和聚类
为
decomposition.NMF
添加了inverse_transform
函数,用于计算原始形状的数据矩阵。由 Anish Shah 提交。cluster.KMeans
和cluster.MiniBatchKMeans
现在可以在不转换的情况下处理np.float32
和np.float64
输入数据。
这允许通过使用 np.float32
来减少内存消耗。
#6846 由 Sebastian Säger 和
YenChen Lin 贡献。
预处理和特征选择
preprocessing.RobustScaler
现在接受quantile_range
参数。 #5929 由 Konstantin Podshumok 贡献。feature_extraction.FeatureHasher
现在接受字符串值。 #6173 由 Ryad Zenine 和 Devashish Deshpande 贡献。现在可以通过
kw_args
参数向preprocessing.FunctionTransformer
中的func
提供关键字参数。 由 Brian McFee 贡献。feature_selection.SelectKBest
和feature_selection.SelectPercentile
现在接受只返回分数的评分函数,输入为 X, y。 由 Nikolay Mayorov 贡献。
模型评估和元估计器
multiclass.OneVsOneClassifier
和multiclass.OneVsRestClassifier
现在支持partial_fit
。 由 Asish Panda 和 Philipp Dowling 贡献。增加了通过
sklearn.grid_search
驱动的set_params
接口替换或禁用pipeline.Pipeline
和pipeline.FeatureUnion
组件的支持。 参见 使用Pipeline和GridSearchCV选择降维方法 由 Joel Nothman 和 Robert McGibbon 贡献。model_selection.GridSearchCV
的新cv_results_
属性 (以及model_selection.RandomizedSearchCV
)可以轻松导入到 pandas 中作为DataFrame
。 参考 模型选择增强和API变更 获取更多信息。 #6697 由 Raghav RV 贡献。对
model_selection.cross_val_predict
的泛化。 可以传递诸如predict_proba
的方法名,在交叉验证框架中使用,而不是默认的predict
。 由 Ori Ziv 和 Sears Merritt 贡献。训练得分和训练时间,以及每个搜索候选者的评分,现在可以在
cv_results_
字典中获取。 更多信息请参见 模型选择增强和API变更 。 #7325 由 Eugene Chen 和 Raghav RV 贡献。
指标
在
metrics.log_loss
中添加了labels
标志,以便在y_true
和y_pred
的类别数不同时显式提供标签。 #7239 由 Hong Guangguo 在 Mads Jensen 和 Nelson Liu 的帮助下贡献。在聚类评估(
metrics.cluster.supervised
)中支持稀疏的列联矩阵,以扩展到大量聚类。 #7419 由 Gregory Stupp 和 Joel Nothman 贡献。在
metrics.matthews_corrcoef
中添加了sample_weight
参数。 由 Jatin Shah 和 Raghav RV 贡献。通过使用向量化操作加快了
metrics.silhouette_score
的速度。 由 Manoj Kumar 贡献。在
metrics.confusion_matrix
中添加了sample_weight
参数。 由 Bernardo Stein 贡献。
杂项
在
feature_selection.RFECV
中添加了n_jobs
参数,以并行计算测试折叠的分数。 由 Manoj Kumar 贡献。代码库不包含 C/C++ cython 生成的文件:它们在构建过程中生成。分发包仍将包含生成的 C/C++ 文件。 由 Arthur Mensch 贡献。
通过支持 cython 融合类型,减少了
utils.sparse_func.mean_variance_axis
和utils.sparse_func.incr_mean_variance_axis
对 32 位浮点输入数组的内存使用。 由 YenChen Lin 贡献。ignore_warnings
现在接受一个类别参数,以仅忽略指定类型的警告。 由 Thierry Guillemot 贡献。在
datasets.load_iris
数据集中添加了参数return_X_y
和返回类型(data, target) : tuple
选项 #7049 ,
datasets.load_breast_cancer
数据集
#7152 ,
datasets.load_digits
数据集,
datasets.load_diabetes
数据集,
datasets.load_linnerud
数据集,
datasets.load_boston
数据集
#7154 由 Manvendra Singh 贡献。
简化了
clone
函数,弃用了在__init__
中修改参数的估计器支持。#5540 由 Andreas Müller 贡献。当在不同于训练时版本的scikit-learn中解封装一个估计器时,会引发一个
UserWarning
,详情请参阅 模型持久化文档 。(#7248 ) 由 Andreas Müller 贡献。
Bug 修复#
树和集成
随机森林、额外树、决策树和梯度提升不再接受
min_samples_split=1
,因为至少需要2个样本来分割决策树节点。由 Arnaud Joly 贡献。ensemble.VotingClassifier
现在会在调用predict
、transform
或predict_proba
时,如果估计器未拟合,则会引发NotFittedError
。由 Sebastian Raschka 贡献。修复了
ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
在固定random_state
时表现不佳的bug (#7411 )。由 Joel Nothman 贡献。修复了集成中随机化时,集成不会在管道或类似嵌套中为基估计器设置
random_state
的bug (#7411 )。注意,ensemble.BaggingClassifier
、ensemble.BaggingRegressor
、ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
的结果现在将与之前的版本不同。由 Joel Nothman 贡献。
线性、核化和相关模型
修复了
linear_model.SGDClassifier
和linear_model.SGDRegressor
中loss='squared_epsilon_insensitive'
的梯度计算错误 (#6764 )。由 Wenhua Yang 贡献。修复了
linear_model.LogisticRegressionCV
中的一个错误, 当solver='liblinear'
时,不接受class_weights='balanced'
。 (#6817 )。由 Tom Dupre la Tour 贡献。修复了
neighbors.RadiusNeighborsClassifier
中的一个错误, 当存在被标记的离群点且指定了权重函数时会发生错误 (#6902 )。 由 LeonieBorne 贡献。修复了
linear_model.ElasticNet
稀疏决策函数,使其在多输出情况下与密集输出匹配。
分解、流形学习和聚类
decomposition.RandomizedPCA
默认的iterated_power
次数为 4 而不是 3。 #5141 由 Giorgio Patrini 贡献。utils.extmath.randomized_svd
默认执行 4 次幂迭代,而不是 0。 实际上,这对于在噪声存在的情况下获得真实特征值/向量的良好近似已经足够。 当n_components
较小时(< .1 * min(X.shape)
),n_iter
设置为 7,除非用户指定更高的次数。 这提高了少量组件时的精度。#5299 由 Giorgio Patrini 贡献。修复了
decomposition.PCA
和decomposition.RandomizedPCA
组件之间的白化/非白化不一致问题 (现在已合并到 PCA 中,参见新特性)。components_
以无白化方式存储。 #5299 由 Giorgio Patrini 贡献。修复了
manifold.spectral_embedding
中的一个错误,其中未归一化的拉普拉斯矩阵的对角线被错误地设置为 1。 #4995 由 Peter Fischer 贡献。修复了
utils.arpack.eigsh
在所有情况下的不正确初始化问题。 影响cluster.bicluster.SpectralBiclustering
、decomposition.KernelPCA
、manifold.LocallyLinearEmbedding
和manifold.SpectralEmbedding
(#5012 )。由 Peter Fischer 贡献。使用 SVD 求解器计算的
explained_variance_ratio_
属性
discriminant_analysis.LinearDiscriminantAnalysis
现在返回正确的结果。由 JPFrancoia 贡献。
预处理和特征选择
preprocessing.data._transform_selected
现在在copy=True
时总是传递X
的副本给转换函数(#7194 )。由 Caio Oliveira 贡献。
模型评估和元估计器
model_selection.StratifiedKFold
现在会在单个类别的所有 n_labels 小于 n_folds 时抛出错误。#6182 由 Devashish Deshpande 贡献。修复了
model_selection.StratifiedShuffleSplit
中的一个错误,该错误在某些边缘情况下会导致训练和测试样本重叠,详情参见 #6121 。由 Loic Esteve 贡献。修复了
sklearn.model_selection.StratifiedShuffleSplit
以在所有情况下返回大小为train_size
和test_size
的拆分(#6472 )。由 Andreas Müller 贡献。multiclass.OneVsOneClassifier
和multiclass.OneVsRestClassifier
的交叉验证现在支持预计算核。#7350 由 Russell Smith 贡献。修复了
model_selection.GridSearchCV
到linear_model.SGDClassifier
的predict_proba
方法委托不完整的问题(#7159 )。由 Yichuan Liu 贡献。
指标
修复了
metrics.silhouette_score
中的一个错误,该错误导致大小为 1 的簇被错误评分。它们应该得到 0 分。由 Joel Nothman 贡献。修复了
metrics.silhouette_samples
中的一个错误,使其现在可以与任意标签一起工作,而不仅仅是那些范围从 0 到 n_clusters - 1 的标签。修复了一个错误,即如果簇的列联单元格超过
2**16
,则预期和调整后的互信息不正确。由 Joel Nothman 贡献。metrics.pairwise_distances
现在在scipy.spatial.distance
中需要时将数组转换为布尔数组。#5460 由 Tom Dupre la Tour 贡献。修复了
metrics.silhouette_score
中的稀疏输入支持问题,并更新了示例 examples/text/document_clustering.py。由 YenChen Lin 贡献。metrics.roc_curve
和metrics.precision_recall_curve
在创建 ROC 曲线时不再对y_score
值进行四舍五入;这导致用户在分数差异非常小的情况下出现问题(#7353 )。
其他
model_selection.tests._search._check_param_grid
现在可以正确处理所有扩展/实现Sequence
的类型(字符串除外),包括 range(Python 3.x)和 xrange(Python 2.x)。#7323 由 Viacheslav Kovalevskyi 贡献。utils.extmath.randomized_range_finder
在请求多次幂迭代时数值更稳定,因为它默认应用 LU 归一化。如果n_iter<2
,数值问题不太可能发生,因此不应用归一化。其他归一化选项可用:'none', 'LU'
和'QR'
。#5141 由 Giorgio Patrini 贡献。修复了一个 bug,某些格式的
scipy.sparse
矩阵以及将其作为参数的估计器无法传递给base.clone
。由 Loic Esteve 贡献。datasets.load_svmlight_file
现在能够读取长整型 QID 值。#7101 由 Ibraim Ganiev 贡献。
API 变更总结#
线性、核化及相关模型
residual_metric
在linear_model.RANSACRegressor
中已被弃用。请改用loss
。由 Manoj Kumar 贡献。访问公共属性
.X_
和.y_
在isotonic.IsotonicRegression
中已被弃用。由 Jonathan Arfa 贡献。
分解、流形学习和聚类
旧的
mixture.DPGMM
已被弃用,取而代之的是新的mixture.BayesianGaussianMixture
(参数为weight_concentration_prior_type='dirichlet_process'
)。新类解决了计算问题。旧的
mixture.DPGMM
已被弃用,取而代之的是新的mixture.BayesianGaussianMixture
(参数为weight_concentration_prior_type='dirichlet_process'
)。 新类解决了旧类的计算问题,并且比以前更快地计算带有Dirichlet过程先验的高斯混合。 #7295 由 Wei Xue 和 Thierry Guillemot 贡献。旧的
mixture.VBGMM
已被弃用,取而代之的是新的mixture.BayesianGaussianMixture
(参数为weight_concentration_prior_type='dirichlet_distribution'
)。 新类解决了旧类的计算问题,并且比以前更快地计算变分贝叶斯高斯混合。 #6651 由 Wei Xue 和 Thierry Guillemot 贡献。旧的
mixture.GMM
已被弃用,取而代之的是新的mixture.GaussianMixture
。新类比以前更快地计算高斯混合,并且解决了某些计算问题。 #6666 由 Wei Xue 和 Thierry Guillemot 贡献。
模型评估和元估计器
sklearn.cross_validation
、sklearn.grid_search
和sklearn.learning_curve
已被弃用,类和函数已重新组织到sklearn.model_selection
模块中。 参考 模型选择增强和API变更 获取更多信息。 #4294 由 Raghav RV 贡献。model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
的grid_scores_
属性已被弃用,取而代之的是cv_results_
属性。 参考 模型选择增强和API变更 获取更多信息。 #6697 由 Raghav RV 贡献。旧的CV分割器中的参数
n_iter
或n_folds
已被新的参数n_splits
替换,因为它可以提供一致且明确的接口来表示训练-测试分割的数量。 #7187 由 YenChen Lin 贡献。classes
参数在metrics.hamming_loss
中被重命名为labels
。 #7260 由 Sebastián Vanrell 贡献。分割器类
LabelKFold
,LabelShuffleSplit
,LeaveOneLabelOut
和LeavePLabelsOut
已分别重命名为model_selection.GroupKFold
,model_selection.GroupShuffleSplit
,model_selection.LeaveOneGroupOut
和model_selection.LeavePGroupsOut
。此外,新重命名的分割器model_selection.LeaveOneGroupOut
和model_selection.LeavePGroupsOut
的split
方法中的参数labels
已重命名为groups
。另外,在model_selection.LeavePGroupsOut
中,参数n_labels
已重命名为n_groups
。#6660 由 Raghav RV 提出。用于
scoring
参数的错误和损失名称现在以'neg_'
为前缀,例如neg_mean_squared_error
。未加前缀的版本已弃用,并将在版本 0.20 中移除。#7261 由 Tim Head 提出。
代码贡献者#
Aditya Joshi, Alejandro, Alexander Fabisch, Alexander Loginov, Alexander Minyushkin, Alexander Rudy, Alexandre Abadie, Alexandre Abraham, Alexandre Gramfort, Alexandre Saint, alexfields, Alvaro Ulloa, alyssaq, Amlan Kar, Andreas Mueller, andrew giessel, Andrew Jackson, Andrew McCulloh, Andrew Murray, Anish Shah, Arafat, Archit Sharma, Ariel Rokem, Arnaud Joly, Arnaud Rachez, Arthur Mensch, Ash Hoover, asnt, b0noI, Behzad Tabibian, Bernardo, Bernhard Kratzwald, Bhargav Mangipudi, blakeflei, Boyuan Deng, Brandon Carter, Brett Naul, Brian McFee, Caio Oliveira, Camilo Lamus, Carol Willing, Cass, CeShine Lee, Charles Truong, Chyi-Kwei Yau, CJ Carey, codevig, Colin Ni, Dan Shiebler, Daniel, Daniel Hnyk, David Ellis, David Nicholson, David Staub, David Thaler, David Warshaw, Davide Lasagna, Deborah, definitelyuncertain, Didi Bar-Zev, djipey, dsquareindia, edwinENSAE, Elias Kuthe, Elvis DOHMATOB, Ethan White, Fabian Pedregosa, Fabio Ticconi, fisache, Florian Wilhelm, Francis, Francis O’Donovan, Gael Varoquaux, Ganiev Ibraim, ghg, Gilles Louppe, Giorgio Patrini, Giovanni Cherubin, Giovanni Lanzani, Glenn Qian, Gordon Mohr, govin-vatsan, Graham Clenaghan, Greg Reda, Greg Stupp, Guillaume Lemaitre, Gustav Mörtberg, halwai, Harizo Rajaona, Harry Mavroforakis, hashcode55, hdmetor, Henry Lin, Hobson Lane, Hugo Bowne-Anderson, Igor Andriushchenko, Imaculate, Inki Hwang, Isaac Sijaranamual, Ishank Gulati, Issam Laradji, Iver Jordal, jackmartin, Jacob Schreiber, Jake Vanderplas, James Fiedler, James Routley, Jan Zikes, Janna Brettingen, jarfa, Jason Laska, jblackburne, jeff levesque, Jeffrey Blackburne, Jeffrey04, Jeremy Hintz, jeremynixon, Jeroen, Jessica Yung, Jill-Jênn Vie, Jimmy Jia, Jiyuan Qian, Joel Nothman, johannah, John, John Boersma, John Kirkham, John Moeller, jonathan.striebel, joncrall, Jordi, Joseph Munoz, Joshua Cook, JPFrancoia, jrfiedler, JulianKahnert, juliathebrave, kaichogami, KamalakerDadi, Kenneth Lyons, Kevin Wang, kingjr, kjell, Konstantin Podshumok, Kornel Kielczewski, Krishna Kalyan, krishnakalyan3, Kvle Putnam, Kyle Jackson, Lars Buitinck, ldavid, LeiG, LeightonZhang, Leland McInnes, Liang-Chi Hsieh, Lilian Besson, lizsz, Loic Esteve, Louis Tiao, Léonie Borne, Mads Jensen, Maniteja Nandana, Manoj Kumar, Manvendra Singh, Marco, Mario Krell, Mark Bao, Mark Szepieniec, Martin Madsen, MartinBpr, MaryanMorel, Massil, Matheus, Mathieu Blondel, Mathieu Dubois, Matteo, Matthias Ekman, Max Moroz, Michael Scherer, michiaki ariga, Mikhail Korobov, Moussa Taifi, mrandrewandrade, Mridul Seth, nadya-p, Naoya Kanai, Nate George, Nelle Varoquaux, Nelson Liu, Nick James, NickleDave, Nico, Nicolas Goix, Nikolay Mayorov, ningchi, nlathia, okbalefthanded, Okhlopkov, Olivier Grisel, Panos Louridas, Paul Strickland, Perrine Letellier, pestrickland, Peter Fischer, Pieter, Ping-Yao, Chang, practicalswift, Preston Parry, Qimu Zheng, Rachit Kansal, Raghav RV, Ralf Gommers, Ramana.S, Rammig, Randy Olson, Rob Alexander, Robert Lutz, Robin Schucker, Rohan Jain, Ruifeng Zheng, Ryan Yu, Rémy Léone, saihttam, Saiwing Yeung, Sam Shleifer, Samuel St-Jean, Sartaj Singh, Sasank Chilamkurthy, saurabh.bansod, Scott Andrews, Scott Lowe, seales, Sebastian Raschka, Sebastian Saeger, Sebastián Vanrell, Sergei Lebedev, shagun Sodhani, shanmuga cv, Shashank Shekhar, shawpan, shengxiduan, Shota, shuckle16, Skipper Seabold, sklearn-ci, SmedbergM, srvanrell, Sébastien Lerique, Taranjeet, themrmax, Thierry, Thierry Guillemot, Thomas, Thomas Hallock, Thomas Moreau, Tim Head, tKammy, toastedcornflakes, Tom, TomDLT, Toshihiro Kamishima, tracer0tong, Trent Hauck, trevorstephens, Tue Vo, Varun, Varun Jewalikar, Viacheslav, Vighnesh Birodkar, Vikram, Villu Ruusmann, Vinayak Mehta, walter, waterponey, Wenhua Yang, Wenjian Huang, Will Welch, wyseguy7, xyguo, yanlend, Yaroslav Halchenko, yelite, Yen, YenChenLin, Yichuan Liu, Yoav Ram, Yoshiki, Zheng RuiFeng, zivori, Óscar Nájera