舊版本#
版本 0.12.1#
2012 年 10 月 8 日
0.12.1 版本是一個錯誤修正版本,沒有額外功能,而是一組錯誤修正
變更日誌#
改進了由 Gael Varoquaux 執行的譜嵌入中的數值穩定性
由 Gael Varoquaux 執行的 Windows 64 位元下的 doctest
由 Andreas Müller 和 Alexandre Gramfort 執行的彈性網路的文件修正
由 Gael Varoquaux 執行的 Fortran 順序 NumPy 陣列的正確行為
由 Lars Buitinck 執行的讓 GridSearchCV 適用於非 CSR 稀疏矩陣
由 Gael Varoquaux 執行的修復 MDS 中的平行計算
由 Andreas Müller 執行的修復計數向量化器中的 Unicode 支援
由 Virgile Fritsch 執行的修復當 X.shape = (3, 1) 時 MinCovDet 中斷的問題
由 Peter Prettenhofer 執行的修復 SGD 物件的複製
由 Virgile Fritsch 執行的穩定 GMM
人員#
版本 0.12#
2012 年 9 月 4 日
變更日誌#
由 Gilles Louppe 執行之 決策樹 模組的各種速度改進。
GradientBoostingRegressor
和GradientBoostingClassifier
現在透過max_features
引數支援特徵子採樣,由 Peter Prettenhofer 執行。由 Peter Prettenhofer 執行的將 Huber 和 Quantile 損失函數新增到
GradientBoostingRegressor
。由 Gilles Louppe 執行的 決策樹 和 隨機樹森林 現在支援多輸出分類和迴歸問題。
由 Mathieu Blondel 執行的新增
LabelEncoder
,這是一個簡單的實用類別,用於正規化標籤或轉換非數值標籤。由 Mathieu Blondel 執行之新增 epsilon 不敏感損失和使用 隨機梯度下降 中修改後的 Huber 損失進行機率預測的能力。
由 Nelle Varoquaux 執行的新增 多維尺度分析 (MDS)。
由 Lars Buitinck 執行的 SVMlight 檔案格式載入器現在會偵測壓縮(gzip/bzip2)檔案並即時解壓縮它們。
由 Olivier Grisel 執行的 SVMlight 檔案格式序列化器現在會保留雙精度浮點數值。
由 Andreas Müller 執行的為所有估計器新增了通用測試框架。
由 Gael Varoquaux 執行的針對不接受稀疏輸入的估計器提供易於理解的錯誤訊息
由 Gael Varoquaux 執行的階層式分群速度加快。特別是建立樹狀結構現在支援提早停止。當叢集數量與樣本數量相比不小時,這非常有用。
由 Alexandre Gramfort 執行的新增用於聯合特徵選擇的 MultiTaskLasso 和 MultiTaskElasticNet。
由 Andreas Müller 執行的
metrics.auc_score
和metrics.average_precision_score
方便函數。由 Andreas Müller 執行的改進了 特徵選擇 模組中的稀疏矩陣支援。
由 Andreas Müller 執行的修復了導致單點叢集的譜分群中的錯誤。
在
CountVectorizer
中,由 Andreas Müller 執行的新增了一個選項來忽略不常用的單字min_df
。由 Vlad Niculae 和 Alexandre Gramfort 執行的在某些線性模型(ElasticNet、Lasso 和 OrthogonalMatchingPursuit)中新增對多個目標的支援。
由 Wei Li 執行的修復
decomposition.ProbabilisticPCA
分數函數。修復了 梯度提升樹狀結構 中的特徵重要性計算。
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
現在會返回 2 維陣列。修復了 API 不一致性:在兩個類別上擬合時,
discriminant_analysis.QuadraticDiscriminantAnalysis.decision_function
和discriminant_analysis.LinearDiscriminantAnalysis.decision_function
現在會返回 1 維陣列。用於擬合
LassoCV
和ElasticNetCV
的 alpha 網格現在儲存在屬性alphas_
中,而不是覆寫 init 參數alphas
。當使用交叉驗證估計 alpha 值時,線性模型會將估計值儲存在
alpha_
屬性中,而不是僅僅使用alpha
或best_alpha
。GradientBoostingClassifier
現在支援staged_predict_proba
和staged_predict
。svm.sparse.SVC
和其他稀疏 SVM 類別現在已被棄用。 支持向量機 模組中的所有類別現在會根據輸入自動選擇稀疏或密集表示法。所有叢集演算法現在都會將傳遞給
fit
的陣列X
解釋為輸入資料,尤其是SpectralClustering
和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 Sergio Medina
1 Shiqiao Du
1 Tim Sheerman-Chase
1 buguen
版本 0.11#
2012 年 5 月 7 日
變更日誌#
重點#
由 Peter Prettenhofer 和 Scott White 開發的用於分類和回歸的梯度提升迴歸樹 (梯度提升樹)。
由 Lars Buitinck 開發的簡單的基於字典的特徵載入器,支援類別變數 (
DictVectorizer
)。由 Satrajit Ghosh 添加了馬修斯相關係數 (
metrics.matthews_corrcoef
),並為precision_score
、metrics.recall_score
和f1_score
添加了巨觀和微觀平均選項。由 Andreas Müller 開發的用於 集成:梯度提升、隨機森林、套袋法、投票法、堆疊法 的一般化誤差的 袋外估計。
由 Alexandre Gramfort 和 Gael Varoquaux 開發的用於特徵選擇的隨機稀疏線性模型。
由 Clay Woolam 開發的用於半監督學習的 標籤傳播。 請注意,半監督 API 仍在開發中,可能會發生變更。
由 Bertrand Thirion 開發的,為經典的 高斯混合模型 添加了 BIC/AIC 模型選擇,並將 API 與 scikit-learn 的其他部分統一。
由 Yannick Schwartz 開發的,新增了
sklearn.cross_validation.StratifiedShuffleSplit
,這是一個具有平衡分割的sklearn.cross_validation.ShuffleSplit
。新增了
NearestCentroid
分類器,以及shrink_threshold
參數,它實作了由 Robert Layton 開發的收縮形心分類。
其他變更#
由 Peter Prettenhofer 開發的,合併了 隨機梯度下降 模組的密集和稀疏實作,並為循序資料集
seq_dataset
和權重向量weight_vector
公開了實用擴充類型。由 Mathieu Blondel 開發的,為 隨機梯度下降 模組添加了
partial_fit
(支援線上/小批量學習)和 warm_start。由 Lars Buitinck 合併了 支持向量機 類別和
LogisticRegression
的密集和稀疏實作。由 Mathieu Blondel 開發的,迴歸器現在可以用作 多類別和多輸出演算法 模組中的基礎估計器。
由 Mathieu Blondel 開發的,為
metrics.pairwise_distances
和metrics.pairwise.pairwise_kernels
新增了用於並行計算的 n_jobs 選項。由 Robert Layton 開發的,現在可以使用
n_jobs
引數,對 K-means 或cluster.KMeans
進行並行執行。由 Olivier Grisel 改善了 交叉驗證:評估估計器的效能 和 調整估計器的超參數 文件,並引入了新的
cross_validation.train_test_split
輔助函式。SVC
的成員coef_
和intercept_
的符號已變更,以與decision_function
保持一致;對於kernel==linear
的情況,coef_
在一對一的情況下已由 Andreas Müller 修正。針對高效的留一交叉驗證 Ridge 迴歸進行了效能改進,特別是在
n_samples > n_features
的情況下,此改進位於RidgeCV
中,由 Reuben Fletcher-Costin 完成。重構並簡化了 文字特徵提取 API,並修正了一個可能導致負 IDF 的錯誤,由 Olivier Grisel 完成。
由於難以 Cython 化,
_BaseHMM
模組中的波束修剪選項已移除。如果您有興趣貢獻 Cython 版本,您可以參考 git 歷史記錄中的 Python 版本。最近鄰中的類別現在支援用於最近鄰搜尋的任意閔可夫斯基度量。該度量可以透過參數
p
指定。
API 變更摘要#
covariance.EllipticEnvelop
現在已被棄用。請改用EllipticEnvelope
。NeighborsClassifier
和NeighborsRegressor
在 最近鄰模組中已移除。請改用KNeighborsClassifier
、RadiusNeighborsClassifier
、KNeighborsRegressor
和/或RadiusNeighborsRegressor
類別。隨機梯度下降模組中的稀疏類別現在已被棄用。
在
mixture.GMM
、mixture.DPGMM
和mixture.VBGMM
中,參數必須在初始化物件時傳遞,而不是透過fit
傳遞。現在fit
將只接受資料作為輸入參數。GMM
模組中的方法rvs
和decode
現在已被棄用。應改用sample
和score
或predict
。單變數特徵選擇物件中的屬性
_scores
和_pvalues
現在已被棄用。應改用scores_
或pvalues_
。在
LogisticRegression
、LinearSVC
、SVC
和NuSVC
中,class_weight
參數現在是一個初始化參數,而不是 fit 的參數。這使得可以對此參數進行網格搜尋。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
。由於難以 Cython 化,
_BaseHMM
模組中的波束修剪選項已移除。如果您有興趣,可以查看 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
新增至 最近鄰中的類別,以指定用於最近鄰搜尋的任意閔可夫斯基度量。
人員#
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。
由 Gael Varoquaux 開發,使用圖形 Lasso 的稀疏逆共變異數估計,並具有相關的交叉驗證估計器。
由 Brian Holt、Peter Prettenhofer、Satrajit Ghosh 和 Gilles Louppe 開發的新 樹狀結構模組。此模組包含完整的說明文件和範例。
由 Gilles Louppe 修正了 RFE 模組中的錯誤(問題 #378)。
由 Brian Holt 修正了支援向量機模組中的記憶體洩漏問題(問題 #367)。
由 Fabian Pedregosa 和其他人加快了測試速度。
Robert Layton 新增了輪廓係數叢集分析評估指標,作為
silhouette_score
。修正了 K 平均中處理
n_init
參數的錯誤:叢集演算法過去會執行n_init
次,但保留最後一個解決方案,而不是最佳解決方案,此錯誤由 Olivier Grisel 修正。隨機梯度下降模組中的小幅重構;合併密集和稀疏的預測方法;透過在擬合後將模型參數轉換為 Fortran 樣式陣列,提升了測試時間效能(僅限多類別)。
Robert Layton 新增了調整後的互資訊指標,作為
adjusted_mutual_info_score
。來自 libsvm/liblinear 的 SVC/SVR/LinearSVC/LogisticRegression 等模型現在支援根據樣本數來調整 C 正規化參數,此功能由 Alexandre Gramfort 開發。
由 Gilles Louppe 和 Brian Holt 開發的新集成方法模組。此模組包含隨機森林演算法和額外樹狀結構方法,以及說明文件和範例。
新穎性和離群值偵測:由 Virgile Fritsch 開發的離群值和新穎性偵測。
核心逼近:一種透過執行核心逼近來針對非線性核心進行快速 SGD 的轉換,此功能由 Andreas Müller 開發。
由 Vlad Niculae 修正了正交匹配追蹤 (OMP)中由於原子交換導致的錯誤。
由 Vlad Niculae 開發的使用預先計算字典進行稀疏編碼。
由 Olivier Grisel 改進了 小批量 K 平均的效能。
由 Mathieu Blondel 開發的K 平均對稀疏矩陣的支援。
由 Jake Vanderplas 改進了開發人員和
sklearn.utils
模組的說明文件。由 Mathieu Blondel 開發的向量化 20newsgroups 資料集載入器(
fetch_20newsgroups_vectorized
)。由 Lars Buitinck 開發的多類別和多輸出演算法。
由 Mathieu Blondel 開發的用於快速計算稀疏矩陣的均值和變異數的公用程式。
由 Olivier Grisel 開發的使
scale
和sklearn.preprocessing.Scaler
適用於稀疏矩陣。由 Gilles Louppe 開發的使用決策樹和/或隨機樹森林的功能重要性。
由 Gilles Louppe 開發的隨機樹森林的平行實作。
由 Olivier Grisel 開發的
sklearn.cross_validation.ShuffleSplit
可以對訓練集以及測試集進行二次抽樣。由 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 版本發布三個月後,包含了新的模組 流形學習、狄利克雷過程,以及幾個新的演算法和文件改進。
此版本還包括 Vlad Niculae 作為 Google Summer of Code 計畫的一部分所開發的字典學習工作。
變更日誌#
由 Jake Vanderplas 和 Fabian Pedregosa 開發的新 流形學習 模組。
由 Alexandre Passos 開發的新 狄利克雷過程 高斯混合模型
由 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 開發的文字特徵提取最佳化
由 Lars Buitinck 開發的卡方特徵選擇 (
feature_selection.chi2
)。由 Gilles Louppe 開發的 產生的資料集 模組重構
由 Mathieu Blondel 開發的 多類別和多輸出演算法
由 Jake Vanderplas 開發的球樹重寫
Robert Layton 開發的 DBSCAN 演算法實作
Robert Layton 開發的 Kmeans 預測和轉換
由 Olivier Grisel 開發的預處理模組重構
Conrad Lee 開發的更快速的均值漂移
由 Olivier Grisel 和 Gael Varoquaux 開發的新
Bootstrap
、隨機排列交叉驗證 (又名 Shuffle & Split) 和交叉驗證方案中的各種其他改進由 Olivier Grisel 開發的調整後蘭德指數和 V-Measure 叢集評估指標
由 Vlad Niculae 開發的加入
正交 匹配 追蹤
由 Vlad Niculae 開發的在 特徵提取 模組中加入 2D 修補程式提取器公用程式
由 Gael Varoquaux 和 Alexandre Gramfort 開發的
LassoLarsCV
的實作(使用 Lars 演算法的交叉驗證 Lasso 解算器)和LassoLarsIC
(Lars 中的 BIC/AIC 模型選擇)Olivier Hervieu 開發的
metrics.roc_curve
的可擴展性改進Robert Layton 開發的距離輔助函數
metrics.pairwise_distances
和metrics.pairwise.pairwise_kernels
Nelle Varoquaux 和 Peter Prettenhofer 開發的
Mini-Batch K-Means
。Pietro Berkes 開發的 mldata 公用程式。
由 David Warde-Farley 開發的 Olivetti 人臉資料集。
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'
現在
sklearn.cross_validation.cross_val_score
函式的score_func
引數預期只接受y_test
和y_predicted
作為分類和迴歸任務的引數,或是接受X_test
作為非監督估計器的引數。支援向量機演算法的
gamma
參數預設設為1 / n_features
,而不是1 / n_samples
。sklearn.hmm
已被標記為孤立模組:除非有人主動貢獻文件、範例並修復潛在的數值穩定性問題,否則將在 scikit-learn 0.11 版本中移除。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 程式碼衝刺的一個月後發布,其標誌為納入了重要的模組:階層式分群、交叉分解、非負矩陣分解 (NMF 或 NNMF)、對 Python 3 的初始支援,以及重要的增強功能和錯誤修正。
變更日誌#
在此版本中引入了幾個新的模組
由 Vincent Michel、Bertrand Thirion、Alexandre Gramfort 和 Gael Varoquaux 新增的 階層式分群 模組。
由 Mathieu Blondel 實作的 核心主成分分析 (kPCA)。
由 Olivier Grisel 提供的 野外標記人臉 (Labeled Faces in the Wild) 人臉辨識資料集。
由 Edouard Duchesnay 新增的 交叉分解 模組。
由 Vlad Niculae 新增的 非負矩陣分解 (NMF 或 NNMF) 模組。
由 Virgile Fritsch 在 共變異數估計 模組中實作的 Oracle 近似縮減 演算法。
其他一些模組也受益於顯著的改進或清理。
對 Python 3 的初始支援:可以乾淨地建置和匯入,某些模組可用,而其他模組的測試失敗,由 Fabian Pedregosa 提供。
現在可以從 Pipeline 物件中使用
PCA
,由 Olivier Grisel 提供。由 Olivier Grisel 提供的指南 如何最佳化速度。
修復了 libsvm 綁定中的記憶體洩漏,Lars Buitinck 提供了 64 位元更安全的 BallTree。
Jan Schlüter 修復了 K-means 演算法中的錯誤和樣式。
Vincent Schut 將屬性 converged 新增到高斯混合模型。
由 Mathieu Blondel 在
LinearDiscriminantAnalysis
中實作了transform
和predict_log_proba
。由 Fabian Pedregosa、Gael Varoquaux 和 Amit Aides 重構了 支援向量機 模組並修正錯誤。
由 Peter Prettenhofer 重構了 SGD 模組 (移除重複程式碼、更好的變數命名),並新增了樣本權重的介面。
由 Thouis (Ray) Jones 用 Cython 包裝了 BallTree。
由 Paolo Losi 新增了函式
svm.l1_min_c
。由 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 中稀疏矩陣的支援。建立許多很棒的新範例和使用實際資料集的新章節。這些包括:使用特徵臉和 SVM 的臉部辨識範例、物種分布建模、Wikipedia 主要特徵向量 和其他範例。
更快的最小角度迴歸演算法。在最壞的情況下,它現在比 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
)新的 feature_extraction 模組(請參閱 類別參考)
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 主題。
版本 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 的貢獻。