版本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.LabelKFold
andcross_validation.LabelShuffleSplit
generate train-test folds, respectively similar tocross_validation.KFold
andcross_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.ProjectedGradientNMF
and parameterssparseness
,eta
,beta
andnls_max_iter
. New parametersalpha
andl1_ratio
control L1 and L2 regularization, andshuffle
adds a shuffling step in thecd
solver. 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.GridSearchCV
meta-estimator withn_jobs > 1
used 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.DictLearning
whenn_jobs < 0
. By Andreas Müller .修正了
grid_search.RandomizedSearchCV
could consume a lot of memory for large discrete grids. By Joel Nothman .修复了
linear_model.LogisticRegressionCV
哪里penalty
was 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.RandomizedPCA
on 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.DictionaryLearning
andcovariance.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、斋_亲,王紫晨