旧版本#

版本0.12.1#

October 8, 2012

0.12.1版本是一个错误修复版本,没有额外功能,而是一组错误修复

Changelog#

#

0.12版本#

September 4, 2012

Changelog#

API变更摘要#

  • scikits.learn 包已消失;所有代码都应从导入 sklearn 相反,它在0.9中引入。

  • metrics.roc_curvethresholds 数组的返回顺序现在颠倒了,以便与返回的 fprtpr .

  • hmm 物体,比如 hmm.GaussianHMM , hmm.MultinomialHMM 等,在初始化对象时,必须将所有参数传递给对象, fit .现在 fit 将仅接受数据作为输入参数。

  • 对于所有的支持者类, gamma 已修复。以前,默认伽玛值仅在第一次计算 fit 被调用并存储。现在每次调用时都会重新计算 fit .

  • 所有 Base 类现在是抽象Meta类,因此它们无法被实例化。

  • cluster.ward_tree 现在还返回父数组。这对于提前停止是必要的,在这种情况下树尚未完全建成。

  • CountVectorizer 的参数 min_nmax_n 已加入参数 n_gram_range 以实现同时进行网格搜索。

  • CountVectorizer ,默认情况下,仅出现在一个文档中的单词现在会被忽略。要重现之前的行为,请设置 min_df=1 .

  • 修复API不一致性: linear_model.SGDClassifier.predict_proba 现在当适合两个类时返回2D数组。

  • 修复API不一致性: discriminant_analysis.QuadraticDiscriminantAnalysis.decision_functiondiscriminant_analysis.LinearDiscriminantAnalysis.decision_function 现在,当适合两个类时,返回1d数组。

  • 用于装配的阿尔法网格 LassoCVElasticNetCV 现在存储在属性中 alphas_ 而不是重写init参数 alphas .

  • 当通过交叉验证估计Alpha时,线性模型将估计值存储在 alpha_ 属性而不仅仅是 alphabest_alpha .

  • GradientBoostingClassifier 现在支持 staged_predict_proba ,而且 staged_predict .

  • svm.sparse.SVC 和其他稀疏的支持者类现在已被弃用。中的所有类 支持向量机 模块现在根据输入自动选择稀疏或密集表示。

  • 所有集群算法现在都解释阵列 X 给予 fit 特别是作为输入数据 SpectralClusteringAffinityPropagation 此前预期的亲和力矩阵。

  • 对于将所需集群数量作为参数的集群算法,该参数现在被称为 n_clusters .

#

版本0.11#

May 7, 2012

Changelog#

亮点#

其他变化#

API变更摘要#

  • covariance.EllipticEnvelop 现在已被废弃。请使用 EllipticEnvelope 而不是.

  • NeighborsClassifierNeighborsRegressor 都消失在模块中了 最近邻居 .使用类 KNeighborsClassifier , RadiusNeighborsClassifier , KNeighborsRegressor 和/或 RadiusNeighborsRegressor 而不是.

  • 中的稀疏类 随机梯度下降 模块现已废弃。

  • mixture.GMM , mixture.DPGMMmixture.VBGMM ,参数必须在初始化对象时传递给对象,而不是通过 fit .现在 fit 将仅接受数据作为输入参数。

  • 方法 rvsdecodeGMM 模块现已废弃。 samplescorepredict 应该改为使用。

  • 属性 _scores_pvalues 在单变量特征选择对象现在已被废弃。 scores_pvalues_ 应该改为使用。

  • LogisticRegression , LinearSVC , SVCNuSVCclass_weight 参数现在是初始化参数,而不是要适应的参数。这使得对该参数进行网格搜索成为可能。

  • LFW data 现在总是形状 (n_samples, n_features) 与Olivetti面孔数据集保持一致。使用 imagespairs 属性来访问自然图像形状。

  • LinearSVC ,的含义 multi_class 参数已更改。 现在的选择是 'ovr''crammer_singer''ovr' 是默认的。 这不会改变默认行为,但希望不会那么令人困惑。

  • feature_selection.text.Vectorizer 已废弃并被替换为 feature_selection.text.TfidfVectorizer .

  • 用于文本特征提取的预处理器/分析器嵌套结构已被删除。所有这些功能现在都作为扁平构造函数参数直接传递给 feature_selection.text.TfidfVectorizerfeature_selection.text.CountVectorizer ,特别是现在使用以下参数:

  • analyzer 可以 'word''char' 切换默认分析方案,或使用特定的Python可调用(如前所述)。

  • tokenizerpreprocessor 已推出,以便仍然可以使用新的API自定义这些步骤。

  • input 显式控制如何解释传递给的序列 fitpredict :文件名、文件对象或直接(字节或Unicode)字符串。

  • 默认情况下,字符集解码是显式且严格的。

  • vocabulary ,无论是否安装现在都存储在 vocabulary_ 属性与项目约定一致。

  • feature_selection.text.TfidfVectorizer 现在直接源自 feature_selection.text.CountVectorizer 使网格搜索变得微不足道。

  • 方法 rvs_BaseHMM 模块现已废弃。 sample 应该改为使用。

  • 中的梁修剪选项 _BaseHMM 由于难以被Cythonized,模块被删除。如果您感兴趣,可以通过git查看历史代码。

  • SVMlight格式加载器现在支持具有从零开始和从一开始的列索引的文件,因为两者都是“在野外”发生的。

  • 课堂上的争论 ShuffleSplit 现在与 StratifiedShuffleSplit .论点 test_fractiontrain_fraction 已废弃并更名为 test_sizetrain_size 并且可以接受两者 floatint .

  • 课堂上的争论 Bootstrap 现在与 StratifiedShuffleSplit .论点 n_testn_train 已废弃并更名为 test_sizetrain_size 并且可以接受两者 floatint .

  • 论点 p 添加到课程中 最近邻居 为最近邻搜索指定任意Minkowski度量。

#

版本0.10#

January 11, 2012

Changelog#

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 (i.e.使用跨折叠的平均得分。)

  • 交叉验证生成器现在使用integer索引 (indices=True )默认情况下,而不是布尔屏蔽。这使得使用稀疏矩阵数据更加直观。

  • 用于稀疏编码的函数, sparse_encodesparse_encode_parallel 已合并成 sparse_encode ,并且数组的形状已被调换,以与矩阵分解设置(而不是回归设置)保持一致。

  • 修复了SVMlight/LibASM文件格式处理中的一个差一错误;使用 dump_svmlight_file 应该重新生成。(They应该继续工作,但不小心预先增加了一列零。)

  • BaseDictionaryLearning 类被替换为 SparseCodingMixin .

  • sklearn.utils.extmath.fast_svd 已重命名 randomized_svd 默认过采样现在固定为10个额外的随机载体,而不是将要提取的分量数量增加一倍。新行为遵循参考文件。

#

自上次发布以来,以下人士对scikit-learn做出了贡献:

版本0.9#

September 21, 2011

scikit-learn 0.9 was released on September 2011, three months after the 0.8 release and includes the new modules 流形学习, 狄利克雷过程 as well as several new algorithms and documentation improvements.

该版本还包括由 Vlad Niculae 的一部分 Google Summer of Code 程序.

旗帜2 旗帜1 旗帜3

Changelog#

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 参数:相反,所有参数都必须仅作为构造函数参数传递或使用现在公开的 set_params 继承自 BaseEstimator .

    一些估计器仍然可以接受 fit 但这仅限于数据相关的值(例如,根据 X 数据矩阵。

  • 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'
    
  • score_func 论点 sklearn.cross_validation.cross_val_score 功能现在预计会接受 y_testy_predicted 仅作为分类和回归任务的参数,或 X_test 对于无监督估计者。

  • gamma 支持向量机算法的参数设置为 1 / n_features 默认情况下,而不是 1 / n_samples .

  • sklearn.hmm 已被标记为孤儿:除非有人挺身而出提供文档、示例并解决潜在的数字稳定性问题,否则它将从0.11版本的scikit-learn中删除。

  • sklearn.neighbors 已被制作成一个子模块。 之前可用的两个估计器, NeighborsClassifierNeighborsRegressor 已被标记为废弃。 它们的功能分为五个新类别: NearestNeighbors 对于无人监督的邻居搜索, KNeighborsClassifier & RadiusNeighborsClassifier 对于监督分类问题,以及 KNeighborsRegressor & RadiusNeighborsRegressor 用于监督回归问题。

  • sklearn.ball_tree.BallTree 已经移动到 sklearn.neighbors.BallTree . 使用前者会产生警告。

  • sklearn.linear_model.LARS() 和相关类别(LassoLARS、LassoLARSV等)已更名为 sklearn.linear_model.Lars() .

  • 所有距离指标和核心 sklearn.metrics.pairwise 现在有一个Y参数,默认为无。如果没有给出,结果是Y中每个样本之间的距离(或核相似度)。如果给出,结果是X到Y中的样本之间的成对距离(或核相似度)。

  • sklearn.metrics.pairwise.l1_distance 现在被称为 manhattan_distance ,默认情况下返回成对距离。对于分量距离,设置参数 sum_over_featuresFalse .

向后兼容包别名和其他不推荐使用的类和函数将在0.11版中删除。

#

38人对此发布做出了贡献。

版本0.8#

May 11, 2011

scikit-learn 0.8于2011年5月发布,距离第一个“国际”发布一个月 scikit-learn coding sprint 其标志是包含重要模块: 层次聚类 , 交叉分解 , 非负矩阵分解(NMF或NNMF) 、对Python 3的初步支持以及重要的增强和错误修复。

Changelog#

此版本期间引入了几个新模块:

其他一些模块受益于重大改进或清理。

#

使此发布成为可能的人员在提交数量之前:

版本0.7#

March 2, 2011

scikit-learn 0.7于2011年3月发布,距离0.6发布大约三个月。该版本的特点是现有算法(例如k-最近邻居和K-Means算法)的速度改进,并且包含了计算Ridge广义交叉验证解决方案的高效算法。与上一个版本不同,此版本中没有添加新模块。

Changelog#

#

使此发布成为可能的人员在提交数量之前:

版本0.6#

December 21, 2010

scikit-learn 0.6于2010年12月发布。它的特点是包含了几个新模块并对旧模块进行了一般重命名。它的标志还包括新示例,包括对现实世界数据集的应用。

Changelog#

  • stochastic gradient 彼得·普雷滕霍弗(Peter Pretenhofer)的下降模块。该模块包含完整的文档和示例。

  • 改进的svm模块:内存消耗减少了50%,启发式自动设置类权重,可以为样本分配权重(请参阅 支持者:加权样本 例如)。

  • 高斯过程 模块作者:Vincent Duberty。该模块还包含大量的文档和一些非常简洁的示例。请参阅example_gaussian_Process_plot_GP_regulation.py或example_gaussian_Process_plot_GP_probability_classification_after_regulation.py了解可以做什么。

  • 现在可以使用liblinear的Multi-class SVC(选项multi_class在 LinearSVC )

  • 文本特征提取的新功能和性能改进。

  • 改进了主要类中的稀疏矩阵支持 (GridSearchCV )如模块sklearn.svm.sparse和sklearn.linear_model. sparse中。

  • 创建了许多很酷的新示例和一个使用现实世界数据集的新部分。其中包括: 使用特征脸和SVM的人脸识别示例 , 物种分布建模 , 维基百科主特征量 等人

  • 最小角回归 算法它现在比R版本在最坏情况下快2倍,在某些情况下快10倍。

  • 更快的坐标下降算法。尤其是套索的完整路径版本 (linear_model.lasso_path )比以前快了200倍以上。

  • 现在可以从 LogisticRegression 模型

  • 模块重命名:GLM模块已重命名为linear_Model,GMM模块已包含在更通用的混合模型中,而SGD模块已包含在linear_Model中。

  • 大量的bug修复和文档改进。

#

使此发布成为可能的人员在提交数量之前:

版本0.5#

October 11, 2010

Changelog#

新类#

  • 某些模分类器对稀疏矩阵的支持 svmlinear_model (见 svm.sparse.SVC , svm.sparse.SVR , svm.sparse.LinearSVC , linear_model.sparse.Lasso , linear_model.sparse.ElasticNet )

  • Pipeline 目标组成不同的估计器。

  • 模块中的递进特征消除例程 特征选择 .

  • 线性模型模块中添加了各种能够交叉验证的类 (LassoCV , ElasticNetCV 等)。

  • 新的、更高效的LARS算法实现。还实现了该算法的Lasso变体。看到 lars_path , LarsLassoLars .

  • 新的隐藏马尔科夫模型模块(请参阅类 hmm.GaussianHMM , hmm.MultinomialHMM , hmm.GMMHMM )

  • 新模块feature_extraction(请参阅 class reference )

  • sklearn.fastica模块中的新FastICA算法

文件#

修复#

  • API更改:将变量名称保留到PEP-8,给出更有意义的名称。

  • 修复了svm模块在共享内存上下文(多处理)上运行的问题。

  • 再次可以从狮身X文档生成乳胶(从而生成PDF)。

示例#

外部依赖#

  • 尽管它随(sklearn.externals.joblib)一起发货,但Joblib现在是该包的依赖项。

已删除模块#

  • 模块ann(人工神经网络)已从发行版中删除。想要这种算法的用户应该研究一下pybrain。

Misc#

  • 网页的新斯芬克斯主题。

作者#

以下是此版本的作者列表,前面是提交数量:

  • 262法比安·佩德雷戈萨

  • 240盖尔·瓦罗夸

  • 149亚历山大·格兰福特

  • 116奥利维尔·格里塞尔

  • 文森特·米歇尔

  • 38罗恩·韦斯

  • 23马蒂厄·佩罗特

  • 10伯特兰·蒂里翁

  • 7雅罗斯拉夫·哈尔琴科

  • 9候选人弗里奇

  • 6 Edouard Duchesnay

  • 4马蒂厄·布隆德尔

  • 1阿里尔·罗克姆

  • 1马蒂厄·布鲁彻

版本0.4#

August 26, 2010

Changelog#

此版本的主要变化包括:

  • 坐标下降算法(Lasso、ElasticNet)重构和速度改进(大约快100倍)。

  • 协调下降重构(和bug修复),以与R的包GLMNET保持一致。

  • 新的指标模块。

  • Ron Weiss贡献的新GMM模块。

  • LARS算法的实现(目前没有Lasso变体)。

  • feature_selection模块重新设计。

  • 迁移到GIT作为版本控制系统。

  • 删除过时的attrselect模块。

  • 私有已编译扩展的格式(添加了强调线)。

  • 删除未维护的遗留代码。

  • 文档改进(文档字符串和rst)。

  • 改进构建系统以(可选)与MKL链接。此外,请提供精简版BLAS实现,以防找不到系统范围的BLAS。

  • 很多新例子。

  • 很多很多错误修复.

作者#

此版本的提交者列表如下(前面有提交数量):

  • 143法比安·佩德雷戈萨

  • 35亚历山大·格兰福特

  • 34奥利维尔·格里塞尔

  • 11盖尔·瓦罗夸

  • 5雅罗斯拉夫·哈尔琴科

  • 2文森特·米歇尔

  • 1克里斯·菲洛·戈洛夫斯基

早期版本#

早期版本包括Fred Mailhot、David Cooke、David Huard、Dave Morrill、Ed Schofield、Travis Oliphant、Pearu Peterson的贡献。