版本 0.18#
警告
Scikit-learn 0.18 是 scikit-learn 支持 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
方法。
错误修复#
修复了 `manifold.TSNE` 未使用
min_grad_norm
和n_iter_without_progress
参数的问题。 #6497,由 Sebastian Säger 贡献修复了当
svm.SVC
中的decision_function_shape
为ovr
时,svm 决策值存在的错误。svm.SVC
的 decision_function 在 0.17.0 到 0.18.0 版本中是错误的。 #7724,由 Bing Tian Dai 贡献discriminant_analysis.LinearDiscriminantAnalysis
使用 SVD 和 Eigen 求解器计算的explained_variance_ratio
属性现在长度相同。 #7632,由 JPFrancoia 贡献修复了[单变量特征选择](#univariate-feature-selection)中评分函数不接受多标签目标的问题。 #7676,由 Mohammed Affan 贡献
修复了在
feature_selection.SelectFromModel
上多次调用fit
时参数设置的错误。 #7756,由 Andreas Müller 贡献修复了
multiclass.OneVsRestClassifier
的partial_fit
方法中,当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 贡献。如果未将
sample_weight
参数传递给fit
函数,则基于树的分类器和回归器的min_weight_fraction_leaf
参数现在默认假定均匀样本权重。以前,该参数会被静默忽略。 #7301,由 Nelson Liu 贡献。当
n_features > n_samples
时,linear_model.RidgeCV
在中心化数据上存在数值问题。 #6178,由 Bertrand Thirion 贡献树分裂准则类的克隆/pickle 过程现在是内存安全的 #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
中的 pickle 错误而无法 pickle 的错误。 #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 更改摘要#
树和森林
如果未将
sample_weight
参数传递给fit
函数,则基于树的分类器和回归器的min_weight_fraction_leaf
参数现在默认假定均匀样本权重。以前,该参数会被静默忽略。 #7301,由 Nelson Liu 贡献。树分裂准则类的克隆/pickle 过程现在是内存安全的。 #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_
属性,它是一个包含 1D 数组的字典,每个数组中的元素对应于参数设置(即搜索候选项)。`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
中从单数到复数形式的更改。fit 参数 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
提供分类和回归估计器。除了其他功能,新的实现支持核工程、基于梯度的超参数优化或从 GP 先验和 GP 后验中采样函数。提供了详尽的文档和示例。由 Jan Hendrik Metzen 贡献。新增了监督学习算法:[多层感知机](#multilayer-perceptron) #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。PCA 的旧行为可通过svd_solver='full'
恢复。一个额外的求解器调用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 更改](#model-selection-changes)。 #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 贡献。通过仅在需要时动态生成属性
estimators_samples_
,ensemble.bagging.BaseBagging
及其继承类(即ensemble.BaggingClassifier
、ensemble.BaggingRegressor
和ensemble.IsolationForest
)的内存占用减少了(有时大幅减少)。由 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.float32
输入数据,而无需将其转换为np.float64
。这有助于减少内存消耗。 #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 选择降维方法](#sphx-glr-auto-examples-compose-plot-compare-reduction-py)。由 Joel Nothman 和 Robert McGibbon 贡献。model_selection.GridSearchCV
(和model_selection.RandomizedSearchCV
)的新cv_results_
属性可以轻松导入到 pandas 中作为DataFrame
。更多信息请参考[模型选择改进和 API 更改](#model-selection-changes)。 #6697,由 Raghav RV 贡献。model_selection.cross_val_predict
的泛化。现在可以传递predict_proba
等方法名称在交叉验证框架中使用,而不是默认的predict
。由 Ori Ziv 和 Sears Merritt 贡献。每个搜索候选项的训练得分以及训练和评估所花费的时间现在可在
cv_results_
字典中找到。更多信息请参见[模型选择改进和 API 更改](#model-selection-changes)。 #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` 现在接受一个 `category` 参数,以仅忽略指定类型的警告。由 Thierry Guillemot 贡献。
为
datasets.load_iris
数据集 #7049、datasets.load_breast_cancer
数据集 #7152、datasets.load_digits
数据集、datasets.load_diabetes
数据集、datasets.load_linnerud
数据集、datasets.load_boston
数据集 #7154 添加了参数return_X_y
和返回类型(data, target) : tuple
选项。由 Manvendra Singh 贡献。简化了
clone
函数,废弃了对在__init__
中修改参数的估计器的支持。 #5540,由 Andreas Müller 贡献。当反序列化(unpickling)scikit-learn 估计器时,如果版本与训练该估计器的版本不同,则会引发
UserWarning
,更多详细信息请参见[模型持久化文档](#persistence-limitations)。 (#7248) 由 Andreas Müller 贡献。
错误修复#
树和集成方法
随机森林、极端随机树、决策树和梯度提升将不再接受
min_samples_split=1
,因为决策树节点分裂至少需要 2 个样本。由 Arnaud Joly 贡献如果对未拟合的估计器调用
predict
、transform
或predict_proba
,ensemble.VotingClassifier
现在会引发NotFittedError
。由 Sebastian Raschka 贡献。修复了
ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
在random_state
固定时性能不佳的错误 (#7411)。由 Joel Nothman 贡献。修复了随机化集成中存在的错误,即集成不会在管道或类似嵌套中的基础估计器上设置
random_state
。 (#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
数量从 3 更改为 4。 #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 贡献。discriminant_analysis.LinearDiscriminantAnalysis
的 SVD 求解器计算的属性explained_variance_ratio_
现在返回正确的结果。由 JPFrancoia 贡献
预处理和特征选择
当
copy=True
时,preprocessing.data._transform_selected
现在总是将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 贡献。修复了一个错误,即某些格式的
scipy.sparse
矩阵以及以其为参数的估计器无法传递给base.clone
。由 Loic Esteve 贡献。datasets.load_svmlight_file
现在能够读取长整型 QID 值。 #7101 由 Ibraim Ganiev 贡献。
API 更改摘要#
线性、核化及相关模型
linear_model.RANSACRegressor
中的residual_metric
已被弃用。请改用loss
。由 Manoj Kumar 贡献。isotonic.IsotonicRegression
中对公共属性.X_
和.y_
的访问已弃用。由 Jonathan Arfa 贡献。
分解、流形学习和聚类
旧的
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 贡献。metrics.hamming_loss
中的classes
参数已重命名为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