旧版本#
版本 0.12.1#
2012年10月8日
0.12.1 版本是一个修复错误的版本,没有增加新功能,而是修复了一系列错误。
更新日志#
通过 Gael Varoquaux 提高了谱嵌入的数值稳定性
通过 Gael Varoquaux 在64位Windows系统下进行文档测试
通过 Andreas Müller 和 Alexandre Gramfort 修复了弹性网络的文档问题
通过 Gael Varoquaux 修正了与Fortran顺序的NumPy数组的正确行为
通过 Lars Buitinck 使GridSearchCV能够处理非CSR稀疏矩阵
通过 Gael Varoquaux 修复了MDS中的并行计算问题
通过 Andreas Müller 修复了计数向量化器中的Unicode支持问题
通过 Virgile Fritsch 修复了MinCovDet在X.shape = (3, 1)时崩溃的问题
通过 Peter Prettenhofer 修复了SGD对象的克隆问题
通过 Virgile Fritsch 稳定了GMM
贡献者#
版本 0.12#
2012年9月4日
更新日志#
通过 Gilles Louppe 对 决策树 模块进行了各种速度改进。
GradientBoostingRegressor
和GradientBoostingClassifier
现在通过 Peter Prettenhofer 支持特征子采样,通过max_features
参数实现。通过 Peter Prettenhofer 为
GradientBoostingRegressor
添加了Huber和Quantile损失函数。决策树 和 随机森林 现在通过 Gilles Louppe 支持多输出分类和回归问题。
添加了
LabelEncoder
,一个简单的实用类,用于 通过 Mathieu Blondel 实现了标签的规范化或非数值标签的转换。在 随机梯度下降 中增加了 epsilon-insensitive 损失函数,并能够通过修改后的 huber 损失进行概率预测,由 Mathieu Blondel 实现。
增加了 多维尺度分析 (MDS) ,由 Nelle Varoquaux 实现。
SVMlight 文件格式加载器现在可以检测压缩(gzip/bzip2)文件并在加载时解压缩,由 Lars Buitinck 实现。
SVMlight 文件格式序列化器现在保留双精度浮点数值,由 Olivier Grisel 实现。
为所有估计器添加了一个通用的测试框架,由 Andreas Müller 实现。
对于不接受稀疏输入的估计器,增加了可理解的错误信息,由 Gael Varoquaux 实现。
在层次聚类中实现了加速,特别是构建树现在支持早期停止。这在聚类数量相对于样本数量不小的情况下很有用,由 Gael Varoquaux 实现。
增加了 MultiTaskLasso 和 MultiTaskElasticNet 用于联合特征选择,由 Alexandre Gramfort 实现。
增加了
metrics.auc_score
和metrics.average_precision_score
便捷函数,由 Andreas Müller 实现。在 特征选择 模块中改进了对稀疏矩阵的支持,由 Andreas Müller 实现。
修复了谱聚类中的一个错误,该错误导致单点聚类,由 Andreas Müller 实现。
在
CountVectorizer
中增加了忽略不频繁单词的选项min_df
,由 Andreas Müller 实现。在一些线性模型(ElasticNet、Lasso 和 OrthogonalMatchingPursuit)中增加了对多个目标的支持,由 Vlad Niculae 和 Alexandre Gramfort 实现。
在
decomposition.ProbabilisticPCA
的评分函数中进行了修复,由 Wei Li 实现。修复了 梯度提升树 中的特征重要性计算。
API 变更总结#
旧的
scikits.learn
包已经消失;所有代码应改为从sklearn
导入,后者在 0.9 版本中引入。在
metrics.roc_curve
中,thresholds
数组现在以相反的顺序返回,以保持与返回的fpr
和tpr
的顺序一致。在
hmm
对象中,如hmm.GaussianHMM
、hmm.MultinomialHMM
等,所有参数必须在初始化对象时传递,而不是通过fit
。现在fit
只接受数据作为输入参数。对于所有 SVM 类,
gamma
的错误行为已修复。以前,默认的 gamma 值只在第一次调用fit
时计算并存储。现在每次调用fit
时都会重新计算。所有
Base
类现在都是抽象元类,因此不能被实例化。cluster.ward_tree
现在还返回父数组。这对于早期停止是必要的,因为在这种情况下树没有完全构建。在
CountVectorizer
中,参数min_n
和max_n
合并到参数n_gram_range
中,以同时启用网格搜索。在
CountVectorizer
中,默认情况下忽略仅在一个文档中出现的单词。要重现之前的行为,请设置min_df=1
。修复了 API 不一致性:
linear_model.SGDClassifier.predict_proba
现在在两个类别上拟合时返回二维数组。修复了 API 不一致性:
discriminant_analysis.QuadraticDiscriminantAnalysis.decision_function
和discriminant_analysis.LinearDiscriminantAnalysis.decision_function
现在在两个类别上拟合时返回一维数组。用于拟合
LassoCV
和ElasticNetCV
的 alpha 网格现在存储在属性alphas_
中,而不是覆盖初始化参数alphas
。当通过交叉验证估计alpha值时,线性模型将估计值存储在
alpha_
属性中,而不是仅仅存储alpha
或best_alpha
。GradientBoostingClassifier
现在支持:meth:~ensemble.GradientBoostingClassifier.staged_predict_proba
和:meth:~ensemble.GradientBoostingClassifier.staged_predict
。svm.sparse.SVC
和其他稀疏SVM类现已弃用。支持向量机 模块中的所有类现在会根据输入自动选择稀疏或密集表示。所有聚类算法现在将传递给
fit
的数组X
解释为输入数据,特别是:class:~cluster.SpectralClustering
和:class:~cluster.AffinityPropagation
,它们之前期望亲和矩阵。对于将所需聚类数量作为参数的聚类算法,此参数现在称为
n_clusters
。
贡献者#
267 Andreas Müller
52 Vlad Niculae
44 Nelle Varoquaux
30 Alexis Mignon
30 Immanuel Bayer
16 Subhodeep Moitra
13 Yannick Schwartz
12 @kernc
9 Daniel Duckworth
8 John Benediktsson
7 Marko Burjek
4 Alexandre Abraham
3 Florian Hoenig
3 flyingimmidev
2 Francois Savard
2 Hannes Schulz
2 Peter Welinder
2 Wei Li
1 Alex Companioni
1 Brandyn A. White
1 Bussonnier Matthias
1 Charles-Pierre Astolfi
1 Dan O’Huiginn
1 David Cournapeau
1 Keith Goodman
1 Ludwig Schwardt
1 Olivier Hervieu
1 塞尔吉奥·梅迪纳
1 杜诗乔
1 蒂姆·谢尔曼-蔡斯
1 布古恩
版本 0.11#
2012年5月7日
更新日志#
亮点#
梯度提升回归树( 梯度提升树) 用于分类和回归,由 Peter Prettenhofer 和 Scott White 开发。
简单的基于字典的特征加载器,支持分类变量 (
DictVectorizer
),由 Lars Buitinck 开发。添加了马修斯相关系数(
metrics.matthews_corrcoef
) 并在precision_score
、metrics.recall_score
和f1_score
中添加了宏平均和微平均选项,由 Satrajit Ghosh 开发。包外估计 泛化误差估计用于 集成方法:梯度提升、随机森林、装袋、投票、堆叠 , 由 Andreas Müller 开发。
用于特征选择的随机稀疏线性模型, 由 Alexandre Gramfort 和 Gael Varoquaux 开发。
标签传播 用于半监督学习,由 Clay Woolam 开发。 注意 半监督 API 仍在开发中,可能会发生变化。
添加了 BIC/AIC 模型选择到经典的 高斯混合模型 并统一了 API 与 scikit-learn 的其余部分, 由 Bertrand Thirion 开发。
添加了
sklearn.cross_validation.StratifiedShuffleSplit
, 这是一个带有平衡分割的sklearn.cross_validation.ShuffleSplit
, 由 Yannick Schwartz 开发。添加了
NearestCentroid
分类器, 以及一个shrink_threshold
参数,实现了 收缩质心分类 , 由 Robert Layton 开发。
其他变化#
合并了 随机梯度下降 模块的密集和稀疏实现, 并公开了用于顺序数据集
seq_dataset
和权重向量weight_vector
的实用扩展类型, 由 Peter Prettenhofer 开发。在 随机梯度下降 模块中添加了 ``partial_fit``(支持在线/小批量学习)和 warm_start,由 Mathieu Blondel 开发。
合并了 支持向量机 类和
LogisticRegression
的密集和稀疏实现, 由 Lars Buitinck 开发。回归器现在可以用作 多类和多输出算法 模块中的基础估计器, 由 Mathieu Blondel 开发。
为
metrics.pairwise_distances
和metrics.pairwise.pairwise_kernels
添加了n_jobs
选项,以进行并行计算,由 Mathieu Blondel 实现。K均值 现在可以使用
n_jobs
参数进行并行运行,无论是通过 K均值 还是cluster.KMeans
,由 Robert Layton 实现。改进了 交叉验证:评估估计器性能 和 调整估计器的超参数 文档,并引入了新的
cross_validation.train_test_split
辅助函数,由 Olivier Grisel 实现。SVC
成员coef_
和intercept_
为了与decision_function
一致而改变了符号;对于kernel==linear
,coef_
在一对一情况下得到了修正,由 Andreas Müller 实现。对高效的留一法交叉验证岭回归进行了性能改进,特别是在
n_samples > n_features
情况下,在RidgeCV
中,由 Reuben Fletcher-Costin 实现。重构和简化了 文本特征提取 API,并修复了一个可能导致负IDF的错误,由 Olivier Grisel 实现。
_BaseHMM
模块中的波束修剪选项已被移除,因为它难以进行Cython化。如果你对贡献Cython版本感兴趣,可以使用git历史中的python版本作为参考。最近邻算法 中的类现在支持最近邻搜索的任意Minkowski度量。度量可以通过参数
p
指定。
API变更总结#
covariance.EllipticEnvelop
现已弃用。请改用EllipticEnvelope
。NeighborsClassifier
和NeighborsRegressor
在 最近邻算法 模块中已不存在。请使用类KNeighborsClassifier
、RadiusNeighborsClassifier
、KNeighborsRegressor
。 and/orRadiusNeighborsRegressor
代替。随机梯度下降 模块中的稀疏类现在已弃用。
在
mixture.GMM
、mixture.DPGMM
和mixture.VBGMM
中,参数必须在初始化对象时传递,而不是通过fit
。现在fit
只接受数据作为输入参数。GMM
模块中的方法rvs
和decode
现在已弃用。应使用sample
和score
或predict
代替。单变量特征选择对象中的属性
_scores
和_pvalues
现在已弃用。应使用scores_
或pvalues_
代替。在
LogisticRegression
、LinearSVC
、SVC
和NuSVC
中,class_weight
参数现在是初始化参数,而不是拟合参数。这使得对该参数进行网格搜索成为可能。LFW
data
现在总是形状(n_samples, n_features)
,以与 Olivetti 人脸数据集保持一致。使用images
和pairs
属性来访问自然图像形状。在
LinearSVC
中,multi_class
参数的含义已更改。选项现在是'ovr'
和'crammer_singer'
,默认值为'ovr'
。这不会改变默认行为,但希望不会那么令人困惑。类
feature_selection.text.Vectorizer
已弃用,并被feature_selection.text.TfidfVectorizer
取代。文本特征提取的预处理器/分析器嵌套结构已被移除。所有这些功能现在都直接作为平坦构造函数参数传递给
feature_selection.text.TfidfVectorizer
和feature_selection.text.CountVectorizer
,特别是以下参数现在被使用:analyzer
可以是'word'
或'char'
以切换默认分析方案,或使用特定的 Python 可调用对象(如之前一样)。tokenizer
和preprocessor
已被引入,以使在新 API 下仍然可以自定义这些步骤。input
明确控制如何解释传递给fit
和predict
的序列:文件名、文件对象或直接(字节或 Unicode)字符串。字符集解码默认是显式且严格的。
无论是否拟合,
vocabulary
现在都存储在vocabulary_
属性中,以与项目约定保持一致。类
feature_selection.text.TfidfVectorizer
现在直接继承自feature_selection.text.CountVectorizer
,以使网格搜索变得简单。_BaseHMM
模块中的方法rvs
现已弃用。应改用sample
。_BaseHMM
模块中的波束修剪选项已被移除,因为它难以被 Cython 化。如果你感兴趣,可以通过 git 查看历史代码。SVMlight 格式加载器现在支持同时包含零基和一基列索引的文件,因为这两种情况在实际应用中都会出现。
类
ShuffleSplit
的参数现在与StratifiedShuffleSplit
一致。参数test_fraction
和train_fraction
已弃用并重命名为test_size
和train_size
,并且可以接受float
和int
。类
Bootstrap
的参数现在与StratifiedShuffleSplit
一致。参数n_test
和n_train
已弃用并重命名为test_size
和train_size
,并且可以接受float
和int
。在 最近邻算法 中的类添加了参数
p
,以指定最近邻搜索的任意 Minkowski 度量。
人员#
282 Andreas Müller
198 Gael Varoquaux
129 Olivier Grisel
114 Mathieu Blondel
103 Clay Woolam
28 flyingimmidev
26 Shiqiao Du
17 David Marek
14 Vlad Niculae
11 Yannick Schwartz
9 fcostin
7 Nick Wilson
5 Adrien Gaidon
5 Nelle Varoquaux
5 Emmanuelle Gouillart
3 Joonas Sillanpää
3 Paolo Losi
2 Charles McCarthy
2 Roy Hyunjin Han
2 Scott White
2 ibayer
1 Brandyn White
1 Carlos Scheidegger
1 Claire Revillet
1 Conrad Lee
1 Jan Hendrik Metzen
1 Meng Xinfan
1 Shiqiao
1 Udi Weinsberg
1 Virgile Fritsch
1 Xinfan Meng
1 Yaroslav Halchenko
1 jansoe
1 Leon Palafox
版本 0.10#
2012年1月11日
更新日志#
不再支持 Python 2.5 兼容性;使用 scikit-learn 所需的最低 Python 版本现在是 2.6。
使用图拉索算法进行 稀疏逆协方差 估计,并附带交叉验证估计器,由 `盖尔·瓦罗夸`_ 提供
由 `布莱恩·霍尔特`_ 、 `彼得·普伦滕霍费尔`_ 、 `萨特拉吉特·戈什`_ 和 `吉尔斯·卢普`_ 提供的新 树 模块。该模块附带完整的文档和示例。
由 `吉尔斯·卢普`_ 修复了 RFE 模块中的一个错误(问题 #378)。
由 `布莱恩·霍尔特`_ 修复了 支持向量机 模块中的内存泄漏问题(问题 #367)。
由 `法比安·佩德罗索`_ 等人加快了测试速度。
由罗伯特·莱顿添加的轮廓系数聚类分析评估指标作为
silhouette_score
。修复了 K均值 中处理
n_init
参数的错误:聚类算法过去运行n_init
次,但保留了最后一次解决方案而不是最佳解决方案,由 `奥利维尔·格里塞尔`_ 修复。随机梯度下降 模块中的小重构;整合了密集和稀疏 预测方法;通过在拟合后将模型参数转换为Fortran风格的数组来增强测试时间性能(仅限多类)。
增加了调整互信息指标作为
adjusted_mutual_info_score
,由Robert Layton添加。来自libsvm/liblinear的SVC/SVR/LinearSVC/LogisticRegression模型现在支持通过样本数量对C正则化参数进行缩放,由 Alexandre Gramfort 实现。
新的 集成方法 模块,由 Gilles Louppe 和 Brian Holt 开发。该模块包含了随机森林算法和额外树方法,以及文档和示例。
异常检测 :异常和新生检测,由:user:
Virgile Fritsch <VirgileFritsch>
实现。核近似 :实现核近似的变换,用于非线性核上的快速SGD,由 Andreas Müller 开发。
修复了由于原子交换在 正交匹配追踪 (OMP) 中的错误,由 Vlad Niculae 修复。
稀疏编码器 ,由 Vlad Niculae 开发。
小批量K均值 性能改进,由 Olivier Grisel 实现。
K均值 对稀疏矩阵的支持,由 Mathieu Blondel 实现。
改进了开发者和
sklearn.utils
模块的文档,由 Jake Vanderplas 完成。向量化20新闻组数据集加载器 (
fetch_20newsgroups_vectorized
),由 Mathieu Blondel 实现。多类分类 ,由 Lars Buitinck 实现。
稀疏矩阵的均值和方差的快速计算工具,由 Mathieu Blondel 实现。
使
scale
和sklearn.preprocessing.Scaler
在稀疏矩阵上工作,由 Olivier Grisel 实现。使用决策树和/或树森林的特征重要性,由 Gilles Louppe 实现。
随机树森林的并行实现,由 Gilles Louppe 实现。
sklearn.cross_validation.ShuffleSplit
可以对训练集和测试集进行子采样,由 Olivier Grisel 实现。文档构建中的错误已由 Andreas Müller 修复。
API 变更摘要#
以下是升级到 scikit-learn 版本 0.9 时的代码迁移说明:
一些可能会覆盖其输入以节省内存的估计器之前有
overwrite_
参数;这些参数已被替换为copy_
参数,其含义完全相反。这特别影响
linear_model
模块中的一些估计器。默认行为仍然是复制所有传入的内容。SVMlight 数据集加载器
load_svmlight_file
不再支持一次加载两个文件;请改用load_svmlight_files
。此外,(未使用的)buffer_mb
参数已移除。随机梯度下降 模块中的稀疏估计器现在使用密集参数向量
coef_
而不是sparse_coef_
。这显著提高了测试时间性能。协方差估计 模块现在有一个稳健的协方差估计器,即最小协方差行列式估计器。
cluster
中的聚类评估指标已重构,但这些更改是向后兼容的。它们已移动到metrics.cluster.supervised
中,以及包含轮廓系数的metrics.cluster.unsupervised
。permutation_test_score
函数现在与cross_val_score
的行为相同(即使用跨折叠的平均分数。)交叉验证生成器现在默认使用整数索引(
indices=True
)而不是布尔掩码。这使得与稀疏矩阵数据一起使用更加直观。用于稀疏编码的函数
sparse_encode
和sparse_encode_parallel
已合并到sparse_encode
中,并且数组的形状已转置,以便与矩阵分解设置保持一致,而不是回归设置。修复了SVMlight/LibSVM文件格式处理中的一个偏差错误; 使用
dump_svmlight_file
生成的文件应重新生成。 (它们应该继续工作,但意外地多了一个额外的零列。)BaseDictionaryLearning
类已被SparseCodingMixin
替换。sklearn.utils.extmath.fast_svd
已重命名为randomized_svd
,并且默认的过采样现在固定为10个额外的随机向量, 而不是将提取的组件数量加倍。新的行为遵循参考论文。
贡献者#
自上次发布以来,以下人员为scikit-learn做出了贡献:
246 Andreas Müller
242 Olivier Grisel
220 Gilles Louppe
183 Brian Holt
166 Gael Varoquaux
144 Lars Buitinck
73 Vlad Niculae
60 Robert Layton
44 Noel Dawe
3 Jan Hendrik Metzen
3 Kenneth C. Arnold
3 Shiqiao Du
3 Tim Sheerman-Chase
2 Bala Subrahmanyam Varanasi
2 DraXus
2 Michael Eickenberg
1 Bogdan Trach
1 Félix-Antoine Fortin
1 Juan Manuel Caicedo Carvajal
1 Nelle Varoquaux
1 Tiziano Zito
1 Xinfan Meng
版本 0.9#
2011年9月21日
scikit-learn 0.9 于2011年9月发布,距离0.8版本发布三个月,包括新的模块 流形学习 , Dirichlet过程 以及几种新算法和文档改进。
此版本还包括由 Vlad Niculae 开发的字典学习工作,作为 Google Summer of Code 计划的一部分。 .. |banner1| image:: ../auto_examples/manifold/images/thumb/sphx_glr_plot_compare_methods_thumb.png
- target:
../auto_examples/manifold/plot_compare_methods.html
更新日志#
由 Jake Vanderplas 和 Fabian Pedregosa 新增的 流形学习 模块。
由 Alexandre Passos 新增的 Dirichlet Process 高斯混合模型。
由 Jake Vanderplas 重构的 最近邻算法 模块:整体重构,支持输入稀疏矩阵,速度和文档改进。详见下一部分的完整API变更列表。
由 Gilles Louppe 改进的 特征选择 模块:RFE类的重构,文档重写,提高效率和少量API变更。
由 Vlad Niculae 、 Gael Varoquaux 和 Alexandre Gramfort 新增的 稀疏主成分分析(SparsePCA 和 MiniBatchSparsePCA) 。
由于 Jean Kossaifi 的工作,打印估计器现在在不同架构和Python版本下表现一致。
由 Mathieu Blondel 和 Lars Buitinck 新增的 libsvm/svmlight 格式加载器 。
文档改进:由 Fabian Pedregosa 在示例画廊中添加缩略图。
在 支持向量机 模块中的重要错误修复(段错误,性能不佳)由 Fabian Pedregosa 完成。
由 Lars Buitinck 新增的 多项式朴素贝叶斯 和 伯努利朴素贝叶斯 。
文本特征提取优化由 Lars Buitinck 完成。
卡方特征选择 (
feature_selection.chi2
) 由 Lars Buitinck 实现。生成的数据集 模块重构由 Gilles Louppe 完成
多类和多输出算法 由 Mathieu Blondel 实现
Ball tree 重写由 Jake Vanderplas 完成
DBSCAN 算法的实现由 Robert Layton 完成
Kmeans 预测和转换由 Robert Layton 完成
预处理模块重构由 Olivier Grisel 完成
更快的均值漂移由 Conrad Lee 完成
新的
Bootstrap
、随机排列交叉验证,又称洗牌与分割 以及在交叉验证方案中的其他各种改进由 Olivier Grisel 和 Gael Varoquaux 完成调整兰德指数和 V-Measure 聚类评估指标由 Olivier Grisel 完成
添加了
Orthogonal Matching Pursuit
由 Vlad Niculae 完成在 特征提取 模块中添加了 2D-patch 提取器实用程序由 Vlad Niculae 完成
实现了
LassoLarsCV
(使用 Lars 算法的交叉验证 Lasso 求解器)和LassoLarsIC
(Lars 中的 BIC/AIC 模型选择)由 Gael Varoquaux 和 Alexandre Gramfort 完成对
metrics.roc_curve
的可扩展性改进由 Olivier Hervieu 完成距离辅助函数
metrics.pairwise_distances
和metrics.pairwise.pairwise_kernels
由 Robert Layton 完成Mini-Batch K-Means
由 Nelle Varoquaux 和 Peter Prettenhofer 完成mldata 实用程序由 Pietro Berkes 完成
API 变更总结#
以下是当从 scikit-learn 版本 0.8 升级时的代码迁移说明:
scikits.learn
包被重命名为sklearn
。为了向后兼容,仍然存在scikits.learn
包别名。依赖于 scikit-learn 0.9+ 的第三方项目应升级其代码库。例如,在 Linux / MacOSX 上只需运行(首先进行备份!):
find -name "*.py" | xargs sed -i 's/\bscikits.learn\b/sklearn/g'
估计器不再接受将模型参数作为
fit
参数: 相反,所有参数必须仅作为构造函数参数传递或使用从BaseEstimator
继承的现在公开的set_params
方法。某些估计器仍然可以在
fit
上接受关键字参数,但这是受限于数据依赖值(例如,从X
数据矩阵预先计算的 Gram 矩阵或亲和矩阵)。cross_val
包已重命名为cross_validation
,尽管为了向后兼容性也设置了cross_val
包别名。依赖于 scikit-learn 0.9+ 的第三方项目应升级其代码库。例如,在 Linux / MacOSX 上只需运行(首先进行备份!):
find -name "*.py" | xargs sed -i 's/\bcross_val\b/cross_validation/g'
sklearn.cross_validation.cross_val_score
函数的score_func
参数现在期望仅接受y_test
和y_predicted
作为分类和回归任务的参数,或无监督估计器的X_test
。支持向量机算法的
gamma
参数默认设置为1 / n_features
,而不是1 / n_samples
。sklearn.hmm
已被标记为孤立:它将在版本 0.11 中从 scikit-learn 中移除,除非有人站出来贡献文档、示例并修复潜在的数值稳定性问题。sklearn.neighbors
已成为一个子模块。之前可用的两个估计器NeighborsClassifier
和NeighborsRegressor
已被标记为已弃用。它们的功能已被分配到五个新类中:用于无监督邻居搜索的NearestNeighbors
,用于监督分类问题的KNeighborsClassifier
和RadiusNeighborsClassifier
,以及用于监督回归问题的KNeighborsRegressor
和RadiusNeighborsRegressor
。sklearn.ball_tree.BallTree
已移至sklearn.neighbors.BallTree
。使用前者将生成警告。sklearn.linear_model.LARS()
及相关类(LassoLARS、 LassoLARSCV 等)已重命名为sklearn.linear_model.Lars()
。sklearn.metrics.pairwise
中的所有距离度量和核现在都有一个 Y 参数,默认值为 None。如果未给出,结果是 Y 中每个样本之间的距离(或核相似度)。如果给出,结果是 X 中样本与 Y 中样本之间的成对距离(或核相似度)。sklearn.metrics.pairwise.l1_distance
现在称为manhattan_distance
,默认返回成对距离。对于逐元素距离,请将参数sum_over_features
设置为False
。
向后兼容包别名和其他已弃用的类和函数将在版本 0.11 中移除。
人员#
38 人为此版本做出了贡献。
387 Vlad Niculae
320 Olivier Grisel
192 Lars Buitinck
179 Gael Varoquaux
168 Fabian Pedregosa ( INRIA , Parietal Team )
127 Jake Vanderplas
120 Mathieu Blondel
42 Robert Layton
38 Nelle Varoquaux
30 Conrad Lee
22 Pietro Berkes
18 andy
17 David Warde-Farley
12 Brian Holt
11 Robert
8 Amit Aides
6 Salvatore Masecchia
5 Paolo Losi
4 Vincent Schut
3 Alexis Metaireau
3 Bryan Silverthorn
2 Minwoo Jake Lee
1 Emmanuelle Gouillart
1 Keith Goodman
1 Lucas Wiman
1 Thouis (Ray) Jones
1 Tim Sheerman-Chase
版本 0.8#
2011年5月11日
scikit-learn 0.8 于 2011 年 5 月发布,距离第一个版本发布一个月后。 “国际” scikit-learn 编码冲刺 并且通过包含重要模块来标记:层次聚类 ,交叉分解 ,非负矩阵分解 ,对 Python 3 的初步支持以及重要的增强和错误修复。
更新日志#
在此版本中引入了几个新模块:
由 Vincent Michel、 Bertrand Thirion 、 Alexandre Gramfort 和 Gael Varoquaux 新增的 层次聚类 模块。
由 Mathieu Blondel 实现的 核主成分分析 。
由 Olivier Grisel 提供的 野外标记人脸数据集 。
由 Edouard Duchesnay 新增的 交叉分解 模块。
由 Vlad Niculae 提供的 非负矩阵分解 模块。
在 协方差 模块中由 Virgile Fritsch 实现的 近似收缩算法 。
其他一些模块也得到了显著的改进或清理。
对 Python 3 的初步支持:构建和导入干净,一些模块可用,而其他模块的测试失败,由 Fabian Pedregosa 提供。
PCA
现在可以从 Pipeline 对象中使用,由 Olivier Grisel 提供。由 Olivier Grisel 提供的 性能指南 。
修复了 libsvm 绑定中的内存泄漏,64 位更安全的 BallTree,由 Lars Buitinck 提供。
在 k均值 算法中修复了错误和样式,由 Jan Schlüter 提供。
在高斯混合模型中添加了 converged 属性,由 Vincent Schut 提供。
在
LinearDiscriminantAnalysis
中实现了transform
、predict_log_proba
,由 Mathieu Blondel 提供。在 支持向量机 模块中的重构和错误修复,由 Fabian Pedregosa 、 Gael Varoquaux 和 Amit Aides 提供。
重构了 SGD 模块(删除了代码重复,更好的变量命名),添加了样本权重的接口,由 Peter Prettenhofer 提供。
用 Cython 包装了 BallTree,由 Thouis (Ray) Jones 提供。
添加了函数
svm.l1_min_c
,由 Paolo Losi 提供。拼写错误、文档风格等由 Yaroslav Halchenko 、 Gael Varoquaux 、 Olivier Grisel 、Yann Malet、 Nicolas Pinto 、Lars Buitinck 和 Fabian Pedregosa 负责。
贡献者#
以下是使本次发布成为可能的人员,按提交次数排序:
159 Olivier Grisel
96 Vlad Niculae
32 Paolo Losi
7 Lars Buitinck
6 Vincent Michel
4 Thouis (Ray) Jones
4 Vincent Schut
3 Jan Schlüter
2 Julien Miotte
2 Yann Malet
1 Amit Aides
1 Feth Arezki
1 Meng Xinfan
版本 0.7#
2011年3月2日
scikit-learn 0.7 于2011年3月发布,大约在0.6版本发布后的三个月。此版本的特点是现有算法(如k-最近邻和K-均值算法)的速度改进,以及包含用于计算岭广义交叉验证解决方案的高效算法。与之前的版本不同,此版本没有添加新的模块。
更新日志#
高斯混合模型采样性能改进 [Jan Schlüter]。
在
RidgeCV
中实现高效的留一法交叉验证岭回归 [ Mathieu Blondel ]在
linear_model.lars_path
中更好地处理共线性和早期停止 [ Alexandre Gramfort 和 Fabian Pedregosa ]。修复liblinear标签顺序和系数符号问题 [Dan Yamins, Paolo Losi, Mathieu Blondel 和 Fabian Pedregosa ]。
高维空间中最近邻算法的性能改进 [ Fabian Pedregosa ]。
KMeans
的性能改进 [ Gael Varoquaux 和 James Bergstra ].基于SVM的类的完整性检查 [ Mathieu Blondel ].
重构
neighbors.NeighborsClassifier
和neighbors.kneighbors_graph
:为k-最近邻搜索添加了不同的算法,并实现了一种更稳定的算法来寻找重心权重。还为该模块添加了一些开发者文档,更多信息请参见 notes_neighbors [ Fabian Pedregosa ].文档改进:添加了
pca.RandomizedPCA
和LogisticRegression
到类参考中。还添加了用于聚类的矩阵引用和其他修复 [ Gael Varoquaux , Fabian Pedregosa , Mathieu Blondel , Olivier Grisel , Virgile Fritsch , Emmanuelle Gouillart]在利用liblinear_的类中绑定decision_function,稠密和稀疏变体,如
LinearSVC
或LogisticRegression
[ Fabian Pedregosa ].对
metrics.pairwise.euclidean_distances
和pca.RandomizedPCA
的性能和API改进 [ James Bergstra ].修复在NetBSD下的编译问题 [Kamel Ibn Hassen Derouiche]
允许在
hmm.GaussianHMM
中输入不同长度的序列 [ Ron Weiss ].修复由不正确的索引引起的亲和传播中的错误 [Xinfan Meng]
贡献者#
使本次发布成为可能的人员,按提交次数排序:
14 Dan Yamins
2 Satrajit Ghosh
2 Vincent Dubourg
1 Emmanuelle Gouillart
1 Kamel Ibn Hassen Derouiche
1 Paolo Losi
1 VirgileFritsch
1 Xinfan Meng
版本 0.6#
2010年12月21日 scikit-learn 0.6 于2010年12月发布。这一版本的特点是引入了几个新模块,并对旧模块进行了普遍的重命名。同时,还增加了新的示例,包括应用于真实世界数据集的应用。
更新日志#
由Peter Prettenhofer新增的 随机梯度下降 模块。该模块附带完整的文档和示例。
改进的svm模块:内存消耗减少了50%,自动设置类别权重的启发式方法,以及为样本分配权重的可能性(参见示例 SVM:加权样本 )。
由Vincent Dubourg新增的 高斯过程 模块。该模块同样拥有出色的文档和一些非常简洁的示例。可以查看 example_gaussian_process_plot_gp_regression.py 或 example_gaussian_process_plot_gp_probabilistic_classification_after_regression.py 来了解其功能。
现在可以使用liblinear的多类SVC(在
LinearSVC
中使用multi_class选项)。文本特征提取的新功能和性能改进。
改进了稀疏矩阵支持,包括主要类(
GridSearchCV
)以及模块 sklearn.svm.sparse 和 sklearn.linear_model.sparse。新增了许多酷炫的示例,并创建了一个使用真实世界数据集的新部分。这些包括:使用特征脸和支持向量机进行人脸识别的示例 ,物种分布建模 ,维基百科主特征向量 等。
更快的 最小角回归 算法。现在在最坏情况下比R版本快2倍,在某些情况下甚至快达10倍。
更快的坐标下降算法。特别是,lasso的完整路径版本(
linear_model.lasso_path
)速度更快。
比以前快了200倍。
现在可以从
LogisticRegression
模型中获取概率估计。模块重命名:glm 模块已重命名为 linear_model,gmm 模块已并入更通用的混合模型,sgd 模块已并入 linear_model。
大量的错误修复和文档改进。
贡献者#
使本次发布成为可能的人员,按提交次数排序:
207 Olivier Grisel
167 Fabian Pedregosa
33 Vincent Dubourg
21 Ron Weiss
9 Bertrand Thirion
3 Anne-Laure Fouque
2 Ronan Amicel
版本 0.5#
2010年10月11日
更新日志#
新增类#
在
svm
和linear_model
模块中的一些分类器支持稀疏矩阵(参见svm.sparse.SVC
,svm.sparse.SVR
,svm.sparse.LinearSVC
,linear_model.sparse.Lasso
,linear_model.sparse.ElasticNet
)新的
Pipeline
对象,用于组合不同的估计器。模块 特征选择 中的递归特征消除例程。
在 linear_model 模块中添加了各种能够进行交叉验证的类(
LassoCV
,ElasticNetCV
, 等)。新的、更高效的 LARS 算法实现。该算法的 Lasso 变体也已实现。参见
lars_path
,Lars
和LassoLars
。新的隐马尔可夫模型模块(参见类
hmm.GaussianHMM
,hmm.MultinomialHMM
,hmm.GMMHMM
)新的特征提取模块(参见 类参考 )
模块 sklearn.fastica 中的新 FastICA 算法
文档#
修复#
API 变更:遵循 PEP-8 规范的变量命名,赋予更有意义的名称。
修复了在共享内存上下文(多进程)中运行 svm 模块的问题。
再次可以从 sphinx 文档生成 latex(以及 PDF)。
示例#
使用部分 mlcomp 数据集的新示例:
sphx_glr_auto_examples_mlcomp_sparse_document_classification.py
(已移除)和 使用稀疏特征对文本文档进行分类更多示例。 请参见此处 完整的示例列表。
外部依赖#
Joblib 现在是此包的依赖项,尽管它随附于(sklearn.externals.joblib)。
移除的模块#
模块 ann(人工神经网络)已从发行版中移除。需要此类算法的用户应查看 pybrain。
杂项#
网页的新 sphinx 主题。
作者#
以下是此版本作者的列表,按提交次数排序:
262 Fabian Pedregosa
240 Gael Varoquaux
149 Alexandre Gramfort
116 Olivier Grisel
40 Vincent Michel
38 Ron Weiss
23 Matthieu Perrot
10 Bertrand Thirion
7 Yaroslav Halchenko
9 VirgileFritsch
6 Edouard Duchesnay
4 Mathieu Blondel
1 Ariel Rokem
1 Matthieu Brucher
版本 0.4#
2010年8月26日
更新日志#
此版本的主要变更包括:
坐标下降算法(Lasso、ElasticNet)的重构与速度改进(大约快了 100 倍)。
与R的包GLMNET保持一致的坐标下降重构(及错误修复)。
新的metrics模块。
由Ron Weiss贡献的新GMM模块。
实现了LARS算法(目前不包括Lasso变体)。
feature_selection模块重新设计。
迁移到GIT作为版本控制系统。
移除过时的attrselect模块。
私有编译扩展的重命名(添加下划线)。
移除遗留的未维护代码。
文档改进(包括docstring和rst)。
改进构建系统以(可选地)与MKL链接。同时,在没有系统级BLAS的情况下提供一个精简的BLAS实现。
大量新增示例。
许多,许多错误修复…
作者#
此版本的提交者列表如下(按提交次数排序):
143 Fabian Pedregosa
35 Alexandre Gramfort
34 Olivier Grisel
11 Gael Varoquaux
5 Yaroslav Halchenko
2 Vincent Michel
1 Chris Filo Gorgolewski
早期版本#
早期版本包括了Fred Mailhot、David Cooke、David Huard、Dave Morrill、Ed Schofield、Travis Oliphant、Pearu Peterson的贡献。