版本0.17#
版本0.17.1#
February 18, 2016
Changelog#
Bug修复#
将vendored jobib升级到0.9.4版本,修复了中的一个重要错误
joblib.Parallel当处理大于1 MB的数据集时,它可能会悄然产生错误结果:joblib/joblib修复了使用scikit-learn版本生成的Bunch泡菜的读数<= 0.16。这可能会影响已经使用scikit-learn 0.16下载数据集并正在使用scikit-learn 0.17加载的用户。看到 #6196 了解这有何影响
datasets.fetch_20newsgroups.通过 Loic Esteve .修复了一个无法使用ROC AUC分数在大型阵列上的多个中央处理器/核心上执行网格搜索的错误。看到 #6147 通过 Olivier Grisel .
修复了无法正确设置的错误
presort参数ensemble.GradientBoostingRegressor.看到 #5857 作者:安德鲁·麦卡洛。修复了评估一个人的困惑时的jobib错误
decomposition.LatentDirichletAllocation模型看到 #6258 作者:Chyi-Kwei Yau。
版本0.17#
November 5, 2015
Changelog#
新功能#
所有Scaler类,但
preprocessing.RobustScaler可以通过电话在线安装partial_fit.通过 Giorgio Patrini .新类
ensemble.VotingClassifier实现“多数规则”/“软投票”集成分类器来组合估计器进行分类。通过 Sebastian Raschka .新类
preprocessing.RobustScaler提供了一种替代方案,preprocessing.StandardScaler用于对异常值稳健的特征居中和范围规范化。通过 Thomas Unterthiner .新类
preprocessing.MaxAbsScaler提供了一种替代方案,preprocessing.MinMaxScaler当数据已经集中或稀疏时,用于特征范围规范化。通过 Thomas Unterthiner .新类
preprocessing.FunctionTransformer将Python函数变成Pipeline- 兼容的Transformer对象。作者:乔·耶夫尼克。新类
cross_validation.LabelKFoldandcross_validation.LabelShuffleSplitgenerate train-test folds, respectively similar tocross_validation.KFoldandcross_validation.ShuffleSplit, except that the folds are conditioned on a label array. By Brian McFee , Jean Kossaifi 和 Gilles Louppe .decomposition.LatentDirichletAllocation通过在线变分推理实现潜在Dirichlet分配主题模型。通过 Chyi-Kwei Yau ,其代码基于Matt Hoffman的实现。 (#3659 )新的求解器
sag实现随机平均梯度下降,并在两者中都可用linear_model.LogisticRegression和linear_model.Ridge.这个求解器对于大型数据集非常有效。通过 Danny Sullivan 和 Tom Dupre la Tour . (#4738 )新的求解器
cd在中实现坐标下降decomposition.NMF.以前的基于投影梯度的求解器仍然可用,设置新参数solver到pg,但已被弃用,将在0.19中删除,以及decomposition.ProjectedGradientNMFand parameterssparseness,eta,betaandnls_max_iter. New parametersalphaandl1_ratiocontrol L1 and L2 regularization, andshuffleadds a shuffling step in thecdsolver. By Tom Dupre la Tour 和 Mathieu Blondel .
增强功能#
manifold.TSNE现在支持通过Barnes-Hut方法进行大致优化,从而实现更快的匹配。作者:克里斯托弗·埃里克·穆迪。 (#4025 )cluster.MeanShift现在支持并行执行,正如在mean_shift功能通过 Martino Sorbaro .naive_bayes.GaussianNB现在支持贴合sample_weight.通过 Jan Hendrik Metzen .dummy.DummyClassifier现在支持事先的试穿策略。通过 Arnaud Joly .增加了一个
fit_predict方法mixture.GMM和子类。通过 Cory Lorenz .添加了
metrics.label_ranking_loss公制的。通过 Arnaud Joly .添加了
metrics.cohen_kappa_score公制的。增加了一个
warm_start将构造器参数添加到Bagging集成模型中,以增加集成的大小。通过 Tim Head .添加了使用多输出回归指标而不求平均的选项。作者:康斯坦丁·什梅尔科夫和 Michael Eickenberg .
添加
stratify选项cross_validation.train_test_split用于分层分裂。作者:米罗斯拉夫·巴奇卡罗夫。的
tree.export_graphviz该功能现在支持美观改进tree.DecisionTreeClassifier和tree.DecisionTreeRegressor,包括按多数类或不纯性对节点进行着色、显示变量名称以及使用节点比例而不是原始样本计数的选项。通过 Trevor Stephens .提高的速度
newton-cg求解器linear_model.LogisticRegression避免损失计算。通过 Mathieu Blondel 和 Tom Dupre la Tour .的
class_weight="auto"分类器支持中的启发式class_weight已被废弃并被class_weight="balanced"选项,其公式和解释更简单。通过 Hanna Wallach 和 Andreas Müller .添加
class_weight参数按类别频率自动对样本加权linear_model.PassiveAggressiveClassifier.通过 Trevor Stephens .添加了从API参考页面到用户指南的反向链接。通过 Andreas Müller .
的
labels参数以sklearn.metrics.f1_score,sklearn.metrics.fbeta_score,sklearn.metrics.recall_score和sklearn.metrics.precision_score已延长。现在可以忽略一个或多个标签,例如多类问题有一个多数类可以忽略。通过 Joel Nothman .添加
sample_weight支持linear_model.RidgeClassifier.通过 Trevor Stephens .提供稀疏输出选项
sklearn.metrics.pairwise.cosine_similarity.通过 Jaidev Deshpande .添加
preprocessing.minmax_scale提供功能接口preprocessing.MinMaxScaler.通过 Thomas Unterthiner .dump_svmlight_file现在处理多标签数据集。作者:张志伟。RCV1数据集加载器 (
sklearn.datasets.fetch_rcv1).通过 Tom Dupre la Tour .“威斯康星州乳腺癌”经典两类分类数据集现已包含在scikit-learn中,可通过
datasets.load_breast_cancer.升级到jobib 0.9.3,以受益于新的短期任务自动收件箱。这使得当许多非常短的任务并行执行时(例如由
grid_search.GridSearchCVmeta-estimator withn_jobs > 1used with a large grid of parameters on a small dataset. By Vlad Niculae , Olivier Grisel 和 Loic Esteve .有关jobib 0.9.3更改的更多详细信息,请参阅发行说明:joblib/joblib
提高的速度(每次迭代3次)
decomposition.DictLearning用坐标下降法从linear_model.Lasso.通过 Arthur Mensch .Nikolay Mayorov对最近邻居的查询进行并行处理(线程化)(使用球树)。
允许
datasets.make_multilabel_classification输出稀疏y.作者:Kashif Rasul。cluster.DBSCAN现在接受预先计算的距离的稀疏矩阵,从而允许存储效率高的距离预先计算。通过 Joel Nothman .tree.DecisionTreeClassifier现在暴露了一个apply用于检索叶指数样本的方法被预测为。通过 Daniel Galvez 和 Gilles Louppe .通过计算树木生长期间杂质改进的代理,加速决策树回归量、随机森林回归量、额外树木回归量和梯度提升估计量。代理量使得最大化该值的分离也使杂质改进最大化。通过 Arnaud Joly , Jacob Schreiber 和 Gilles Louppe .
考虑到计算统计数据的线性关系,通过减少计算杂质测量时所需的计算数量来加速基于树的方法。对于额外的树以及具有分类或稀疏特征的数据集,这种效果尤其明显。通过 Arnaud Joly .
ensemble.GradientBoostingRegressor和ensemble.GradientBoostingClassifier现在揭露一个apply用于检索每个样本在每次尝试下最终到达的叶子索引的方法。通过 Jacob Schreiber .添加
sample_weight支持linear_model.LinearRegression.作者:胡桑尼。 (##4881 )添加
n_iter_without_progress到manifold.TSNE以控制停止标准。作者:Santi Villalba。 (#5186 )添加可选参数
random_state在linear_model.Ridge,设置中使用的伪随机生成器的种子sag解决者。通过 Tom Dupre la Tour .添加可选参数
warm_start在linear_model.LogisticRegression.如果设置为True,则求解器lbfgs,newton-cg和sag将使用之前的匹配中计算的系数进行初始化。通过 Tom Dupre la Tour .添加
sample_weight支持linear_model.LogisticRegression为lbfgs,newton-cg,而且sag解决者。通过 Valentin Stolbunov .添加支持liblinear解决者。通过 Manoj Kumar .添加可选参数
presort到ensemble.GradientBoostingRegressor和ensemble.GradientBoostingClassifier保持默认行为不变。这允许梯度助推器在构建深度树或使用稀疏数据时关闭预分类。通过 Jacob Schreiber .改变
metrics.roc_curve默认情况下降低不必要的阈值。通过 Graham Clenaghan .添加
feature_selection.SelectFromModel元变换器,可以与具有coef_orfeature_importances_attribute to select important features of the input data. By Maheshakya Wijewardena, Joel Nothman 和 Manoj Kumar .添加
metrics.pairwise.laplacian_kernel. 通过 Clyde Fare .covariance.GraphLasso允许通过单独控制Elastic-Net子问题的收敛准则enet_tol参数.改进的冗长
decomposition.DictionaryLearning.ensemble.RandomForestClassifier和ensemble.RandomForestRegressor不再显式存储装袋中使用的样本,从而大大减少了存储随机森林模型的内存占用。添加
positive选项linear_model.Lars和linear_model.lars_path强制系数为正。 (#5131 )添加了
X_norm_squared参数以metrics.pairwise.euclidean_distances提供预先计算的平方规范X.添加了
fit_predict方法pipeline.Pipeline.添加了
preprocessing.minmax_scale功能
Bug修复#
修正了
dummy.DummyClassifier具有稀疏多标签输出。通过 Andreas Müller .修复了的输出形状
linear_model.RANSACRegressor到(n_samples, ).通过 Andreas Müller .修复了
decomposition.DictLearningwhenn_jobs < 0. By Andreas Müller .修正了
grid_search.RandomizedSearchCVcould consume a lot of memory for large discrete grids. By Joel Nothman .修复了
linear_model.LogisticRegressionCV哪里penaltywas ignored in the final fit. By Manoj Kumar .修复了
ensemble.forest.ForestClassifier而计算oob_score和X是一个稀疏的.csc_矩阵。通过 Ankur Ankan .所有回归器现在都一致处理并在给出时发出警告
y那是形状(n_samples, 1).通过 Andreas Müller 和亨利·林。 (#5431 )固定在
cluster.KMeans为稀疏输入重新分配集群 Lars Buitinck .修复了中的一个错误
discriminant_analysis.LinearDiscriminantAnalysis当使用收缩时,这可能会导致协方差矩阵不对称。通过 Martin Billinger .固定
cross_validation.cross_val_predict对于具有稀疏预测的估计器。作者:Buddha Prakash。修复了
predict_proba方法linear_model.LogisticRegression使用soft-max而不是单vs-rest规范化。通过 Manoj Kumar . (#5182 )修复了
partial_fit方法linear_model.SGDClassifier当被称为average=True.通过 Andrew Lamb . (#5282 )数据集获取器在Python 2和Python 3下使用不同的文件名以避免pickle兼容性问题。通过 Olivier Grisel . (#5355 )
修复了中的一个错误
naive_bayes.GaussianNB这导致分类结果依赖于尺度。通过 Jake Vanderplas .暂时固定
linear_model.Ridge,这在稀疏数据的情况下拟合截距时是不正确的。在这种情况下,修复会自动将解算器更改为“sag”。 #5360 通过 Tom Dupre la Tour .修复了中的性能错误
decomposition.RandomizedPCAon data with a large number of features and fewer samples. (#4478) By Andreas Müller , Loic Esteve 和 Giorgio Patrini .修复了
cross_decomposition.PLS这会产生不稳定且依赖于平台的输出,并且失败了fit_transform.通过 Arthur Mensch .设置于
Bunch用于存储数据集的类。固定
ensemble.plot_partial_dependence无视percentiles参数.提供
set作为词汇,CountVectorizer腌制时不再导致结果不一致。修复了预先计算的Gram矩阵需要重新计算的条件
linear_model.LinearRegression,linear_model.OrthogonalMatchingPursuit,linear_model.Lasso和linear_model.ElasticNet.修复了坐标下降解算器中影响的不一致内存布局
linear_model.DictionaryLearningandcovariance.GraphLasso. (#5337) By Olivier Grisel .manifold.LocallyLinearEmbedding不再忽视reg参数.现在可以腌制具有自定义距离指标的最近邻估计器。 (#4362 )
修复了中的一个错误
pipeline.FeatureUnion哪里transformer_weights在执行网格搜索时没有正确处理。修复了中的一个错误
linear_model.LogisticRegression和linear_model.LogisticRegressionCV当使用class_weight='balanced'或class_weight='auto'.通过 Tom Dupre la Tour .Fixed bug #5495 when doing OVR(SVC(decision_function_shape="ovr")). Fixed by Elvis Dohmatob.
API变更摘要#
属性
data_min,data_max和data_range在preprocessing.MinMaxScaler已被弃用,并且从0.19起不再可用。相反,课程现在暴露了data_min_,data_max_和data_range_.通过 Giorgio Patrini .所有Scaler类现在都有
scale_属性,由他们应用的按要素重新缩放transform方法.旧属性std_在preprocessing.StandardScaler已废弃并被取代scale_; 0.19后将无法使用。通过 Giorgio Patrini .svm.SVC和svm.NuSVC现在有一个decision_function_shape参数来制定形状的决策函数(n_samples, n_classes)通过设置decision_function_shape='ovr'.这将是从0.19开始的默认行为。通过 Andreas Müller .现在不建议将1D数据数组作为估计器的输入,因为它会导致数组元素如何解释为特征或样本的混乱。现在预计所有数据阵列都将被显式塑造
(n_samples, n_features).通过 Vighnesh Birodkar .lda.LDA和qda.QDA已移至discriminant_analysis.LinearDiscriminantAnalysis和discriminant_analysis.QuadraticDiscriminantAnalysis.的
store_covariance和tol参数已从fit方法移至中的构造函数discriminant_analysis.LinearDiscriminantAnalysis和store_covariances和tol参数已从fit方法移至中的构造函数discriminant_analysis.QuadraticDiscriminantAnalysis.模型继承自
_LearntSelectorMixin将不再支持转换方法。(i.e、RandomForests、EntityBoosting、LogisticRegulation、DecisionTrees、SVMs和Singapore相关模型)。将这些模型包裹在元转换模型周围feature_selection.SelectFromModel删除功能(根据coefs_或feature_importances_)而低于某个阈值。cluster.KMeans在不收敛的情况下重新运行集群分配,以确保predict(X)和labels_.通过 Vighnesh Birodkar .分类器和回归器模型现在使用
_estimator_type属性交叉验证迭代器始终提供训练和测试集的索引,而不是布尔掩蔽。
的
decision_function在所有回归器上已被弃用,并将在0.19中删除。 使用predict而不是.datasets.load_lfw_pairs已被弃用并将在0.19中删除。使用datasets.fetch_lfw_pairs而不是.已弃用的
hmm模块已删除。已弃用的
Bootstrap交叉验证迭代器已被删除。已弃用的
Ward和WardAgglomerative课程已被删除。使用cluster.AgglomerativeClustering而不是.cross_validation.check_cv现在是一项公共职能。物业
residues_的linear_model.LinearRegression已被弃用并将在0.19中删除。已弃用的
n_jobs参数linear_model.LinearRegression已移至构造者。已删除,已废弃
class_weight参数从linear_model.SGDClassifier的fit法改用构造参数。删除了对序列序列(或列表列表)多标签格式的过时支持。要转换为支持的二进制指标矩阵格式,请使用
MultiLabelBinarizer.呼叫的行为
inverse_transform方法Pipeline.pipeline将在0.19发生变化。它将不再将一维输入重塑为二维输入。废弃的属性
indicator_matrix_,multilabel_和classes_的preprocessing.LabelBinarizer被删除了。使用
gamma=0在svm.SVC和svm.SVR自动将伽玛设置为1. / n_features已被弃用并将在0.19中删除。使用gamma="auto"而不是.
代码贡献者#
Aaron Schumacher、Adithya Ganesh、akitty、Alexandre Gramfort、Alexey Grigorev、Ali Baharev、Allen Riddell、Ando Saabas、Andreas Mueller、Andrew Lamb、Anish Shah、Ankur Ankan、Anthony Erlinger、Ari Rouvinen、Arnaud Joly、Arnaud Rachez、Arthur Mensch、banilo、Bararmaley. Exec、benjaminirving、Boyuan Deng、Brett Naul、Brian McFee、Buddha Prakash、Chi Zhih-Wei Chang、Christof Angermueller、Christoph Gohlke、Christof Angermueller、Christophh Gohlke、Christophe Bourguignat、Christopher Erick Moody、Chyi-Kwei Yau、Cindy Sridharan、CJ Carey、Clyde-fare、Cory Lorenz、Dan Blanchard、Daniel Galvez、Daniel Kronovet、Danny Sullivan、Data 1010、David D Lowe、David Dotson、Djipey、Dmitry Spikhalskiy、Donne Martin、Dougal J. Sutherland、Dougal Sutherland、Edson duarte、Eduardo Caro、Eric Larson、Erich Schubert、费尔南多·卡里略、弗兰克·C埃克特、Frank Zalkow、Gael Varoquaux、Ganiev im、Gilles Louppe、Giorgio Patrini、giorgiop、Graham Clenaghan、Gryllos Prokopis、gwulfs、Henry Lin、Hsuan-Tien林、Immanuel Bayer、Ishank Gulati、Jack Martin、Jacob Schreiber、Jaidev Deshpande、Jake Vanderplas、Jan Hendrik Metzen、Jean Kossaifer、Jeffrey 04、Jeremy、jfraj、Jiali、Jiali Mei、Joe Jevnik、Joel Nothman、John Kirkham、John Wittenauer、Joseph、Joshua Loyal,Jungkook Park,KamalakerDadi,Kashif Rasul,Keith Goodman,Kian Ho,Konstantin Shmelkov,Kyler Brown,Lars Buitinck,Lilian Besson,Loic Esteve,Louis Tiao,Maheshakya Wijewardena,Manoj Kumar,MarkTab marktab.net,Martin Ku,Martin Spacek,MartinBpr,martinosorb,MaryanMorel,Masafumi Oyamada,Mathieu Blondel,Matt Krump,Matti Lyra,Maxim Kolganov,mbillinger,mhg,Michael Heilman、Michael Patterson、Miroslav Batchkarov、Nelle Varoquaux、Nicolas、Nikolay Mayorov、Olivier Grisel、Omer Katz、Chandscar Nájera、Pauli Virtanen、Peter Fischer、Peter Pretenhofer、Phil Roth、钢琴狂热、普雷斯顿·帕里、Raghav RV、Rob Zinkov、Robert Layton、Rohan Ramanath、Saket Choudhary、Sam Zhang、santi、saurabh.bansod、sclsls 19 fr、Sebastian Raschka、Sebastian Saeger、Shivan Sornarajah、Shivan Sornarajah、SimonPL、sinhrks、Skipper Seabold、Sonny Hu、sseg、Stephen Hoover、Steven De Gryze、Steven Seguin、Theodore Vasiloudis、Thomas Unterthiner、Tiago Freitas Pereira、Tian Wang、Tim Head、Timothy Hopper、tokoroten、Tom Dupré la Tour、Trevor Stephens、Valentin Stolbunov、Vighnesh Birodkar、Vinayak Mehta、Vincent Michel、vstolbunov、wangz 10、Wei Xue、Yu Cheng Low、Yury Zhauniarovich、Zac Stewart、斋_亲,王紫晨