版本 0.14#
版本 0.14#
2013 年 8 月 7 日
變更日誌#
使用轉換器
preprocessing.Imputer
,可以填補稀疏和密集矩陣中的遺失值,由 Nicolas Trésegnie 提供。決策樹的核心實作已從頭開始重寫,允許在所有基於樹的估算器中更快地進行樹誘導並降低記憶體消耗。由 Gilles Louppe 提供。
新增了
ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
,由 Noel Dawe 和 Gilles Louppe 提供。 有關詳細資訊和範例,請參閱使用者指南的 AdaBoost 節。新增了
grid_search.RandomizedSearchCV
和grid_search.ParameterSampler
用於隨機超參數最佳化。由 Andreas Müller 提供。新增了 雙向分群 演算法(
sklearn.cluster.bicluster.SpectralCoclustering
和sklearn.cluster.bicluster.SpectralBiclustering
)、資料產生方法(sklearn.datasets.make_biclusters
和sklearn.datasets.make_checkerboard
)以及評分指標(sklearn.metrics.consensus_score
)。由 Kemal Eren 提供。新增了 受限玻爾茲曼機(
neural_network.BernoulliRBM
)。由 Yann Dauphin 提供。由 Justin Vincent、Lars Buitinck、Subhodeep Moitra 和 Olivier Grisel 提供 Python 3 支援。所有測試現在都可以在 Python 3.3 下通過。
在
linear_model.Ridge
中,能夠為每個目標傳遞一個懲罰(alpha 值),由 @eickenberg 和 Mathieu Blondel 提供。修正了
sklearn.linear_model.stochastic_gradient.py
中的 L2 正規化問題(實際意義不大)。由 Norbert Crombach 和 Mathieu Blondel 提供。在文件中新增了 Andreas Müller 的 機器學習速查表(適用於 scikit-learn) 的互動版本。請參閱 選擇正確的估算器。由 Jaques Grobler 提供。
grid_search.GridSearchCV
和cross_validation.cross_val_score
現在支援使用進階評分函數,例如 ROC 曲線下的面積和 f-beta 分數。有關詳細資訊,請參閱 評分參數:定義模型評估規則。由 Andreas Müller 和 Lars Buitinck 提供。將sklearn.metrics
中的函數作為score_func
傳遞已棄用。metrics.accuracy_score
、metrics.zero_one_loss
、metrics.f1_score
、metrics.fbeta_score
、metrics.classification_report
、metrics.precision_score
和metrics.recall_score
現在支援多標籤分類輸出,由 Arnaud Joly 提供。新增了兩個具有多標籤支援的新指標:
metrics.hamming_loss
和metrics.jaccard_similarity_score
,由 Arnaud Joly 提供。feature_extraction.text.CountVectorizer
和feature_extraction.text.TfidfVectorizer
的速度和記憶體使用率得到改善,由 Jochen Wersdörfer 和 Roman Sinayev 提供。feature_extraction.text.CountVectorizer
和feature_extraction.text.TfidfVectorizer
中的min_df
參數(過去為 2)已重設為 1,以避免新手使用者在小型文件集合上嘗試時出現不愉快的意外(空詞彙)。對於實際使用,仍然建議至少使用 2 的值。svm.LinearSVC
、linear_model.SGDClassifier
和linear_model.SGDRegressor
現在具有sparsify
方法,可將其coef_
轉換為稀疏矩陣,這表示可以使用這些估算器儲存的訓練模型更加緊湊。linear_model.SGDClassifier
現在在對數損失或修改後的 Huber 損失下訓練時,會產生多類別機率估計值。由 Martin Luessi 提供網站上範例程式碼中的文件超連結。
修正了
preprocessing.MinMaxScaler
中的錯誤,該錯誤導致非預設feature_range
設定的功能縮放不正確。由 Andreas Müller 提供。tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
和所有衍生集成估算器中的max_features
現在都支援百分比值。由 Gilles Louppe 提供。由 Nelle Varoquaux 提供
isotonic.IsotonicRegression
的效能改進。metrics.accuracy_score
具有正規化選項,可傳回正確分類樣本的比例或數量,由 Arnaud Joly 提供。新增了
metrics.log_loss
,用於計算對數損失,也稱為交叉熵損失。由 Jochen Wersdörfer 和 Lars Buitinck 提供。修正了
ensemble.AdaBoostClassifier
輸出錯誤機率的錯誤。特徵選擇器現在共享一個 mixin,提供一致的
transform
、inverse_transform
和get_support
方法。由 Joel Nothman 提供。現在通常可以 pickle 已擬合的
grid_search.GridSearchCV
或grid_search.RandomizedSearchCV
。由 Joel Nothman 提供。重構並向量化了
metrics.roc_curve
和metrics.precision_recall_curve
的實作。由 Joel Nothman 提供。新的估算器
sklearn.decomposition.TruncatedSVD
使用 SVD 對稀疏矩陣執行降維,可用於潛在語義分析 (LSA)。由 Lars Buitinck 提供。新增了關於文本資料核心外學習的獨立範例 文本文件核心外分類。由 Eustache Diemert 提供。
sklearn.decomposition.RandomizedPCA
的預設組件數量現在已正確記錄為n_features
。這是預設行為,因此使用它的程式將繼續像以前一樣運作。sklearn.cluster.KMeans
現在在稀疏資料上擬合的速度快了好幾個數量級 (加速取決於稀疏性)。由 Lars Buitinck 提供。由 Denis Engemann 和 Alexandre Gramfort 減少 FastICA 的記憶體佔用。
sklearn.ensemble.gradient_boosting
中的詳細輸出現在使用欄格式,並以遞減的頻率列印進度。它還顯示剩餘時間。由 Peter Prettenhofer 提供。sklearn.ensemble.gradient_boosting
提供袋外改進oob_improvement_
,而不是用於模型選擇的 OOB 分數。新增了一個範例,說明如何使用 OOB 估計來選擇樹的數量。由 Peter Prettenhofer 提供。大多數指標現在支援由 Arnaud Joly 和 Lars Buitinck 提供的多類別分類的字串標籤。
由 Alexandre Gramfort 和 Vlad Niculae 提供新的 OrthogonalMatchingPursuitCV 類別。
修正了
sklearn.covariance.GraphLassoCV
中的一個錯誤:當給定一個值列表時,「alphas」參數現在可以如預期地工作。由 Philippe Gervais 提供。修正了
sklearn.covariance.GraphLassoCV
中的一個重要錯誤,該錯誤阻止了使用 CV 物件提供的所有折疊 (僅使用了前 3 個)。當提供 CV 物件時,與先前版本相比,執行時間可能會顯著增加 (錯誤結果現在是正確的)。由 Philippe Gervais 提供。cross_validation.cross_val_score
和grid_search
模組現在由 Arnaud Joly 使用多輸出資料進行測試。datasets.make_multilabel_classification
現在可以由 Arnaud Joly 以標籤指示符多標籤格式傳回輸出。K 最近鄰,
neighbors.KNeighborsRegressor
和neighbors.RadiusNeighborsRegressor
,以及半徑鄰居,neighbors.RadiusNeighborsRegressor
和neighbors.RadiusNeighborsClassifier
支援由 Arnaud Joly 提供的多輸出資料。基於 LibSVM 的估算器 (
svm.SVC
、svm.NuSVC
、svm.OneClassSVM
、svm.SVR
、svm.NuSVR
) 中的隨機狀態現在可以控制。這對於確保使用probability=True
訓練的分類器的機率估計的一致性很有用。由 Vlad Niculae 提供。透過新增由 Olivier Grisel 提供的
partial_fit
方法,支援離散樸素貝氏分類器sklearn.naive_bayes.MultinomialNB
和sklearn.naive_bayes.BernoulliNB
的核心外學習。由 Gilles Louppe、Nelle Varoquaux、Vincent Michel 和 Andreas Müller 提供新的網站設計和導覽。
由 Yannick Schwartz 和 Arnaud Joly 提供關於 多類別、多標籤和多輸出分類 的改進文件。
由 Arnaud Joly 和 Joel Nothman 在
sklearn.metrics
模組中提供更好的輸入和錯誤處理。由 Mikhail Korobov 優化
hmm
模組的速度。由 cleverless 提供
sklearn.cluster.DBSCAN
的顯著速度提升。
API 變更摘要#
auc_score
已重新命名為metrics.roc_auc_score
。使用
sklearn.test()
測試 scikit-learn 已被棄用。請從命令列使用nosetests sklearn
。現在,當存取
feature_importances_
屬性時,會即時計算tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
和所有衍生集成估算器中的特徵重要性。不再需要設定compute_importances=True
。由 Gilles Louppe 提供。linear_model.lasso_path
和linear_model.enet_path
可以傳回與linear_model.lars_path
相同格式的結果。這是透過將return_models
參數設定為False
來完成的。由 Jaques Grobler 和 Alexandre Gramfort 提供。grid_search.IterGrid
已重新命名為grid_search.ParameterGrid
。修正了
KFold
在某些情況下導致不完美類別平衡的錯誤。由 Alexandre Gramfort 和 Tadej Janež 提供。sklearn.neighbors.BallTree
已被重構,並新增了sklearn.neighbors.KDTree
,兩者共享相同的介面。現在,Ball Tree 可以使用多種距離度量。這兩個類別都有許多新方法,包括單樹和雙樹查詢、廣度優先和深度優先搜尋,以及更進階的查詢,例如核密度估計和雙點相關函數。由 Jake Vanderplas 開發。已移除在鄰近查詢中對 scipy.spatial.cKDTree 的支援,並以新的
sklearn.neighbors.KDTree
類別取代其功能。新增了
sklearn.neighbors.KernelDensity
,它使用多種核函數執行有效率的核密度估計。除非將新參數
remove_zero_eig
設定為True
,否則sklearn.decomposition.KernelPCA
現在總是回傳具有n_components
個元件的輸出。此新行為與 Kernel PCA 的文件描述方式一致;先前,移除具有零特徵值的元件是在所有資料上隱式執行的。在
sklearn.linear_model.RidgeCV
中,gcv_mode="auto"
不再嘗試對密集化的稀疏矩陣執行 SVD。在
sklearn.decomposition.RandomizedPCA
中對稀疏矩陣的支援現在已棄用,改用新的TruncatedSVD
。cross_validation.KFold
和cross_validation.StratifiedKFold
現在強制執行n_folds >= 2
,否則會引發ValueError
。由 Olivier Grisel 開發。datasets.load_files
的charset
和charset_errors
參數已重新命名為encoding
和decode_errors
。在
sklearn.ensemble.GradientBoostingRegressor
和sklearn.ensemble.GradientBoostingClassifier
中的屬性oob_score_
已被棄用,並由oob_improvement_
取代。OrthogonalMatchingPursuit 中的屬性已被棄用 (copy_X, Gram, …),而 precompute_gram 為了保持一致性已重新命名為 precompute。請參閱 #2224。
sklearn.preprocessing.StandardScaler
現在會將整數輸入轉換為浮點數,並發出警告。先前,它會對密集的整數輸入進行四捨五入。sklearn.multiclass.OneVsRestClassifier
現在有一個decision_function
方法。只要底層的估計器實現decision_function
方法,此方法將返回每個樣本與每個類別決策邊界的距離。由 Kyle Kastner 開發。改進的輸入驗證,並對 y 的意外形狀發出警告。
貢獻者#
依提交次數排列的 0.14 版本貢獻者列表。
277 Gilles Louppe
245 Lars Buitinck
187 Andreas Mueller
124 Arnaud Joly
112 Jaques Grobler
109 Gael Varoquaux
107 Olivier Grisel
102 Noel Dawe
99 Kemal Eren
79 Joel Nothman
75 Jake VanderPlas
73 Nelle Varoquaux
71 Vlad Niculae
65 Peter Prettenhofer
64 Alexandre Gramfort
54 Mathieu Blondel
38 Nicolas Trésegnie
35 eustache
27 Denis Engemann
25 Yann N. Dauphin
19 Justin Vincent
17 Robert Layton
15 Doug Coleman
14 Michael Eickenberg
13 Robert Marchman
11 Fabian Pedregosa
11 Philippe Gervais
10 Jim Holmström
10 Tadej Janež
10 syhw
9 Mikhail Korobov
9 Steven De Gryze
8 sergeyf
7 Ben Root
7 Hrishikesh Huilgolkar
6 Kyle Kastner
6 Martin Luessi
6 Rob Speer
5 Federico Vaggi
5 Raul Garreta
5 Rob Zinkov
4 Ken Geis
3 A. Flaxman
3 Denton Cockburn
3 Dougal Sutherland
3 Ian Ozsvald
3 Johannes Schönberger
3 Robert McGibbon
3 Roman Sinayev
3 Szabo Roland
2 Diego Molla
2 Imran Haque
2 Jochen Wersdörfer
2 Sergey Karayev
2 Yannick Schwartz
2 jamestwebber
1 Abhijeet Kolhe
1 Alexander Fabisch
1 Bastiaan van den Berg
1 Benjamin Peterson
1 Daniel Velkov
1 Fazlul Shahriar
1 Felix Brockherde
1 Félix-Antoine Fortin
1 Harikrishnan S
1 Jack Hale
1 JakeMick
1 James McDermott
1 John Benediktsson
1 John Zwinck
1 Joshua Vredevoogd
1 Justin Pati
1 Kevin Hughes
1 Kyle Kelley
1 Matthias Ekman
1 Miroslav Shubernetskiy
1 Naoki Orii
1 Norbert Crombach
1 Rafael Cunha de Almeida
1 Rolando Espinoza La fuente
1 Seamus Abshere
1 Sergey Feldman
1 Sergio Medina
1 Stefano Lattarini
1 Steve Koch
1 Sturla Molden
1 Thomas Jarosch
1 Yaroslav Halchenko