版本 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