版本 0.20#

警告

版本 0.20 是 scikit-learn 最後一個支援 Python 2.7 和 Python 3.4 的版本。Scikit-learn 0.21 將需要 Python 3.5 或更高版本。

變更日誌圖例

  • 主要功能 之前無法完成的重大功能。

  • 功能 之前無法完成的功能。

  • 效率 現有的功能現在可能不需要那麼多的計算或記憶體。

  • 增強 各種小的改進。

  • 修復 之前無法如文件所述或符合合理預期的功能,現在應該可以正常運作。

  • API 變更 您將需要更改程式碼才能在未來產生相同的效果;或者某個功能將在未來被移除。

版本 0.20.4#

2019 年 7 月 30 日

這是一個錯誤修復版本,其中一些錯誤修復已應用於版本 0.20.3。

變更日誌#

捆綁的 joblib 版本從 0.13.0 升級到 0.13.2。

sklearn.cluster#

sklearn.compose#

  • 修復 修復了 compose.ColumnTransformer 中的一個問題,其中在 :func:fit 和 :func:transform 之間使用列順序不同的 DataFrames 可能會導致靜默地將不正確的列傳遞給 remainder 轉換器。#14237Andreas Schuderer <schuderer> 修正。

sklearn.decomposition#

sklearn.model_selection#

sklearn.neighbors#

版本 0.20.3#

2019 年 3 月 1 日

這是一個錯誤修復版本,其中包含一些小的文件改進以及對 0.20.0 中發佈的功能的增強。

變更日誌#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.decomposition#

sklearn.datasets#

sklearn.feature_extraction#

sklearn.impute#

sklearn.linear_model#

sklearn.preprocessing#

sklearn.svm#

程式碼和文件貢獻者#

感謝以下貢獻者:

Adrin Jalali, Agamemnon Krasoulis, Albert Thomas, Andreas Mueller, Aurélien Bellet, bertrandhaut, Bharat Raghunathan, Dowon, Emmanuel Arias, Fibinse Xavier, Finn O’Shea, Gabriel Vacaliuc, Gael Varoquaux, Guillaume Lemaitre, Hanmin Qin, joaak, Joel Nothman, Joris Van den Bossche, Jérémie Méhault, kms15, Kossori Aruku, Lakshya KD, maikia, Manuel López-Ibáñez, Marco Gorelli, MarcoGorelli, mferrari3, Mickaël Schoentgen, Nicolas Hug, pavlos kallis, Pierre Glaser, pierretallotte, Prabakaran Kumaresshan, Reshama Shaikh, Rohit Kapoor, Roman Yurchak, SandroCasagrande, Tashay Green, Thomas Fan, Vishaal Kapoor, Zhuyi Xue, Zijie (ZJ) Poh

版本 0.20.2#

2018 年 12 月 20 日

這是一個錯誤修復版本,其中包含一些小的文件改進以及對 0.20.0 中發佈的功能的增強。

變更的模型#

以下估算器和函式,在以相同的資料和參數擬合時,可能會產生與先前版本不同的模型。這通常是因為建模邏輯(錯誤修正或增強)或隨機抽樣程序的變更所導致。

  • sklearn.neighborsmetric=='jaccard' 時(錯誤修正)

  • 在某些情況下使用 'seuclidean''mahalanobis' 度量(錯誤修正)

變更日誌#

sklearn.compose#

sklearn.metrics#

sklearn.neighbors#

  • 修正 修正了當比較兩個全零向量時,sklearn.neighbors.DistanceMetric 的 jaccard 距離函式會回傳 0 的問題。 #12685Thomas Fan 貢獻。

sklearn.utils#

程式碼和文件貢獻者#

感謝以下貢獻者:

adanhawth, Adrin Jalali, Albert Thomas, Andreas Mueller, Dan Stine, Feda Curic, Hanmin Qin, Jan S, jeremiedbb, Joel Nothman, Joris Van den Bossche, josephsalmon, Katrin Leinweber, Loic Esteve, Muhammad Hassaan Rafique, Nicolas Hug, Olivier Grisel, Paul Paczuski, Reshama Shaikh, Sam Waterbury, Shivam Kotwalia, Thomas Fan

版本 0.20.1#

2018 年 11 月 21 日

這是一個錯誤修復版本,其中包含一些小的文件改進,以及對 0.20.0 版本中發布的功能的增強。請注意,此版本中我們也包含了一些 API 變更,因此您在從 0.20.0 更新到 0.20.1 後可能會收到一些額外的警告。

變更的模型#

以下估算器和函式,在以相同的資料和參數擬合時,可能會產生與先前版本不同的模型。這通常是因為建模邏輯(錯誤修正或增強)或隨機抽樣程序的變更所導致。

變更日誌#

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

  • 修復 修復了 decomposition.IncrementalPCA 中的一個回歸問題,其中如果擬合 IncrementalPCA 的最後一批樣本數小於 n_components,0.20.0 版本會引發錯誤。#12234 by Ming Li

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.metrics#

sklearn.mixture#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.utils#

其他#

  • 修正 當通過設定環境變數 SKLEARN_SITE_JOBLIB 使用 site joblib 時,增加了對 joblib 0.11 以及 0.12+ 的相容性。由 Joel NothmanRoman Yurchak 修正。 #12350

  • 修正 確保在 numpy 1.16 及更高版本中使用 np.vstack 時,不會引發 FutureWarning(在 scikit-learn 程式碼庫的多個位置使用列表解析式代替生成器表達式)。#12467Olivier Grisel 貢獻。

  • API 變更 移除所有提及 sklearn.externals.joblib 的部分,並棄用在 sklearn.utils 中公開的 joblib 方法,除了 utils.parallel_backendutils.register_parallel_backend,它們允許使用者在 scikit-learn 中配置平行計算。其他功能是 joblib 套件的一部分,應直接使用,只需安裝即可。此變更的目標是為未來版本的 scikit-learn 中取消捆綁 joblib 做準備。#12345Thomas Moreau 貢獻。

程式碼和文件貢獻者#

感謝以下貢獻者:

^__^, Adrin Jalali, Andrea Navarrete, Andreas Mueller, bauks, BenjaStudio, Cheuk Ting Ho, Connossor, Corey Levinson, Dan Stine, daten-kieker, Denis Kataev, Dillon Gardner, Dmitry Vukolov, Dougal J. Sutherland, Edward J Brown, Eric Chang, Federico Caselli, Gabriel Marzinotto, Gael Varoquaux, GauravAhlawat, Gustavo De Mari Pereira, Hanmin Qin, haroldfox, JackLangerman, Jacopo Notarstefano, janvanrijn, jdethurens, jeremiedbb, Joel Nothman, Joris Van den Bossche, Koen, Kushal Chauhan, Lee Yi Jie Joel, Lily Xiong, mail-liam, Mark Hannel, melsyt, Ming Li, Nicholas Smith, Nicolas Hug, Nikolay Shebanov, Oleksandr Pavlyk, Olivier Grisel, Peter Hausamann, Pierre Glaser, Pulkit Maloo, Quentin Batista, Radostin Stoyanov, Ramil Nugmanov, Rebekah Kim, Reshama Shaikh, Rohan Singh, Roman Feldbauer, Roman Yurchak, Roopam Sharma, Sam Waterbury, Scott Lowe, Sebastian Raschka, Stephen Tierney, SylvainLan, TakingItCasual, Thomas Fan, Thomas Moreau, Tom Dupré la Tour, Tulio Casagrande, Utkarsh Upadhyay, Xing Han Lu, Yaroslav Halchenko, Zach Miller

版本 0.20.0#

2018 年 9 月 25 日

此版本為 Scikit-learn 函式庫帶來了大量的錯誤修正、功能和增強,並改進了文件和範例。感謝我們的貢獻者!

此版本獻給 Raghav Rajagopalan 的紀念。

重點#

我們已嘗試改善對常見資料科學使用案例的支援,包括遺失值、類別變數、異質資料以及具有不尋常分佈的特徵/目標。特徵中以 NaN 表示的遺失值現在可以在逐欄預處理(例如縮放器)中被接受。每個特徵在忽略 NaN 的情況下進行擬合,並且可以轉換包含 NaN 的資料。新的 sklearn.impute 模組提供了在遺失資料的情況下學習的估算器。

ColumnTransformer 處理 pandas.DataFrame 的不同特徵或欄需要不同預處理的情況。字串或 pandas 類別欄現在可以使用 OneHotEncoderOrdinalEncoder 進行編碼。

TransformedTargetRegressor 在需要轉換迴歸目標以進行建模時提供協助。PowerTransformerKBinsDiscretizer 加入 QuantileTransformer 作為非線性轉換。

除此之外,我們還增加了對幾個估算器的 sample_weight 支援(包括 KMeansBayesianRidgeKernelDensity),並改進了其他估算器中的停止條件(包括 MLPRegressorGradientBoostingRegressorSGDRegressor)。

此版本也是第一個附帶由 Joel Nothman 開發的 常用術語和 API 元素詞彙表 的版本。該詞彙表是一個參考資源,可協助使用者和貢獻者熟悉 Scikit-learn 中使用的術語和慣例。

如果您的貢獻沒有進入重點,請見諒。這裡有很多內容…

變更的模型#

以下估算器和函式,在以相同的資料和參數擬合時,可能會產生與先前版本不同的模型。這通常是因為建模邏輯(錯誤修正或增強)或隨機抽樣程序的變更所導致。

詳細資訊列在下方的變更日誌中。

(雖然我們試圖透過提供此資訊來更好地通知使用者,但我們無法保證此列表完整。)

已知的重大錯誤#

  • #11924:使用 solver='lbfgs'multi_class='multinomial'linear_model.LogisticRegressionCV 在 macOS 上可能具有不確定性或以其他方式損壞。這似乎在 Travis CI 伺服器上是如此,但在個人的 MacBook 上尚未確認!此問題已存在於先前的版本中。

  • #9354metrics.pairwise.euclidean_distances(在函式庫中多次使用)的結果精確度不佳,尤其在使用 32 位元浮點數輸入時會受到影響。當某些演算法變更為避免將 32 位元資料轉換為 64 位元時,這個問題在 0.18 和 0.19 版本中變得更加嚴重。

變更日誌#

已正式停止支援 Python 3.3。

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

sklearn.decomposition#

sklearn.discriminant_analysis#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.gaussian_process#

sklearn.impute#

sklearn.isotonic#

sklearn.linear_model#

sklearn.manifold#

  • 效率 提升了 manifold.TSNE 中 ‘exact’ 和 ‘barnes_hut’ 方法的速度。#10593#10610,由 Tom Dupre la Tour 貢獻。

  • 功能manifold.Isomap.fit 中支援稀疏輸入。#8554,由 Leland McInnes 貢獻。

  • 功能 manifold.t_sne.trustworthiness 接受歐幾里得以外的度量。#9775,由 William de Vazelhes 貢獻。

  • 修正 修正了 manifold.spectral_embedding 中的一個錯誤,該錯誤導致頻譜正規化時使用除法而非乘法。#8129Jan MargetaGuillaume LemaitreDevansh D. 貢獻。

  • API 變更 功能 棄用函式 manifold.t_sne.trustworthiness 中的 precomputed 參數。請改用新的參數 metric,該參數可使用任何相容的度量,包括 'precomputed'。在這種情況下,輸入矩陣 X 應該是成對距離或平方距離的矩陣。#9775William de Vazelhes 貢獻。

  • API 變更 棄用函式 manifold.t_sne.trustworthiness 中的 precomputed 參數。請改用新的參數 metric,該參數可使用任何相容的度量,包括 'precomputed'。在這種情況下,輸入矩陣 X 應該是成對距離或平方距離的矩陣。#9775William de Vazelhes 貢獻。

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

sklearn.tree#

  • 增強功能 雖然是私有的(因此不能保證 API 穩定性),tree._criterion.ClassificationCriteriontree._criterion.RegressionCriterion 現在可以被 cimport 並擴展。#10325Camil Staps 貢獻。

  • 修正 修正了 tree.BaseDecisionTree 中使用 splitter="best" 時的一個錯誤,當 X 中的值接近無限大時,分割閾值可能會變成無限大。 #10536Jonathan Ohayon 貢獻。

  • 修正 修正了 tree.MAE 中的一個錯誤,確保在計算樹的 MAE 不純度時使用了樣本權重。先前的行為可能會導致選擇次優的分割,因為不純度計算認為所有樣本的權重重要性都相等。 #11464John Stott 貢獻。

sklearn.utils#

多個模組#

其他#

estimator 檢查的變更#

這些變更主要影響函式庫開發人員。

程式碼和文件貢獻者#

感謝自 0.19 版以來為維護和改進專案做出貢獻的所有人,包括

211217613、Aarshay Jain、absolutelyNoWarranty、Adam Greenhall、Adam Kleczewski、Adam Richie-Halford、adelr、AdityaDaflapurkar、Adrin Jalali、Aidan Fitzgerald、aishgrt1、Akash Shivram、Alan Liddell、Alan Yee、Albert Thomas、Alexander Lenail、Alexander-N、Alexandre Boucaud、Alexandre Gramfort、Alexandre Sevin、Alex Egg、Alvaro Perez-Diaz、Amanda、Aman Dalmia、Andreas Bjerre-Nielsen、Andreas Mueller、Andrew Peng、Angus Williams、Aniruddha Dave、annaayzenshtat、Anthony Gitter、Antonio Quinonez、Anubhav Marwaha、Arik Pamnani、Arthur Ozga、Artiem K、Arunava、Arya McCarthy、Attractadore、Aurélien Bellet、Aurélien Geron、Ayush Gupta、Balakumaran Manoharan、Bangda Sun、Barry Hart、Bastian Venthur、Ben Lawson、Benn Roth、Breno Freitas、Brent Yi、brett koonce、Caio Oliveira、Camil Staps、cclauss、Chady Kamar、Charlie Brummitt、Charlie Newey、chris、Chris、Chris Catalfo、Chris Foster、Chris Holdgraf、Christian Braune、Christian Hirsch、Christian Hogan、Christopher Jenness、Clement Joudet、cnx、cwitte、Dallas Card、Dan Barkhorn、Daniel、Daniel Ferreira、Daniel Gomez、Daniel Klevebring、Danielle Shwed、Daniel Mohns、Danil Baibak、Darius Morawiec、David Beach、David Burns、David Kirkby、David Nicholson、David Pickup、Derek、Didi Bar-Zev、diegodlh、Dillon Gardner、Dillon Niederhut、dilutedsauce、dlovell、Dmitry Mottl、Dmitry Petrov、Dor Cohen、Douglas Duhaime、Ekaterina Tuzova、Eric Chang、Eric Dean Sanchez、Erich Schubert、Eunji、Fang-Chieh Chou、FarahSaeed、felix、Félix Raimundo、fenx、filipj8、FrankHui、Franz Wompner、Freija Descamps、frsi、Gabriele Calvo、Gael Varoquaux、Gaurav Dhingra、Georgi Peev、Gil Forsyth、Giovanni Giuseppe Costa、gkevinyen5418、goncalo-rodrigues、Gryllos Prokopis、Guillaume Lemaitre、Guillaume “Vermeille” Sanchez、Gustavo De Mari Pereira、hakaa1、Hanmin Qin、Henry Lin、Hong、Honghe、Hossein Pourbozorg、Hristo、Hunan Rostomyan、iampat、Ivan PANICO、Jaewon Chung、Jake VanderPlas、jakirkham、James Bourbeau、James Malcolm、Jamie Cox、Jan Koch、Jan Margeta、Jan Schlüter、janvanrijn、Jason Wolosonovich、JC Liu、Jeb Bearer、jeremiedbb、Jimmy Wan、Jinkun Wang、Jiongyan Zhang、jjabl、jkleint、Joan Massich、Joël Billaud、Joel Nothman、Johannes Hansen、JohnStott、Jonatan Samoocha、Jonathan Ohayon、Jörg Döpfert、Joris Van den Bossche、Jose Perez-Parras Toledano、josephsalmon、jotasi、jschendel、Julian Kuhlmann、Julien Chaumond、julietcl、Justin Shenk、Karl F、Kasper Primdal Lauritzen、Katrin Leinweber、Kirill、ksemb、Kuai Yu、Kumar Ashutosh、Kyeongpil Kang、Kye Taylor、kyledrogo、Leland McInnes、Léo DS、Liam Geron、Liutong Zhou、Lizao Li、lkjcalc、Loic Esteve、louib、Luciano Viola、Lucija Gregov、Luis Osa、Luis Pedro Coelho、Luke M Craig、Luke Persola、Mabel、Mabel Villalba、Maniteja Nandana、MarkIwanchyshyn、Mark Roth、Markus Müller、MarsGuy、Martin Gubri、martin-hahn、martin-kokos、mathurinm、Matthias Feurer、Max Copeland、Mayur Kulkarni、Meghann Agarwal、Melanie Goetz、Michael A. Alcorn、Minghui Liu、Ming Li、Minh Le、Mohamed Ali Jamaoui、Mohamed Maskani、Mohammad Shahebaz、Muayyad Alsadi、Nabarun Pal、Nagarjuna Kumar、Naoya Kanai、Narendran Santhanam、NarineK、Nathaniel Saul、Nathan Suh、Nicholas Nadeau、P.Eng.、AVS、Nick Hoh、Nicolas Goix、Nicolas Hug、Nicolau Werneck、nielsenmarkus11、Nihar Sheth、Nikita Titov、Nilesh Kevlani、Nirvan Anjirbag、notmatthancock、nzw、Oleksandr Pavlyk、oliblum90、Oliver Rausch、Olivier Grisel、Oren Milman、Osaid Rehman Nasir、pasbi、Patrick Fernandes、Patrick Olden、Paul Paczuski、Pedro Morales、Peter、Peter St. John、pierreablin、pietruh、Pinaki Nath Chowdhury、Piotr Szymański、Pradeep Reddy Raamana、Pravar D Mahajan、pravarmahajan、QingYing Chen、Raghav RV、Rajendra arora、RAKOTOARISON Herilalaina、Rameshwar Bhaskaran、RankyLau、Rasul Kerimov、Reiichiro Nakano、Rob、Roman Kosobrodov、Roman Yurchak、Ronan Lamy、rragundez、Rüdiger Busche、Ryan、Sachin Kelkar、Sagnik Bhattacharya、Sailesh Choyal、Sam Radhakrishnan、Sam Steingold、Samuel Bell、Samuel O. Ronsin、Saqib Nizam Shamsi、SATISH J、Saurabh Gupta、Scott Gigante、Sebastian Flennerhag、Sebastian Raschka、Sebastien Dubois、Sébastien Lerique、Sebastin Santy、Sergey Feldman、Sergey Melderis、Sergul Aydore、Shahebaz、Shalil Awaley、Shangwu Yao、Sharad Vijalapuram、Sharan Yalburgi、shenhanc78、Shivam Rastogi、Shu Haoran、siftikha、Sinclert Pérez、SolutusImmensus、Somya Anand、srajan paliwal、Sriharsha Hatwar、Sri Krishna、Stefan van der Walt、Stephen McDowell、Steven Brown、syonekura、Taehoon Lee、Takanori Hayashi、tarcusx、Taylor G Smith、theriley106、Thomas、Thomas Fan、Thomas Heavey、Tobias Madsen、tobycheese、Tom Augspurger、Tom Dupré la Tour、Tommy、Trevor Stephens、Trishnendu Ghorai、Tulio Casagrande、twosigmajab、Umar Farouk Umar、Urvang Patel、Utkarsh Upadhyay、Vadim Markovtsev、Varun Agrawal、Vathsala Achar、Vilhelm von Ehrenheim、Vinayak Mehta、Vinit、Vinod Kumar L、Viraj Mavani、Viraj Navkal、Vivek Kumar、Vlad Niculae、vqean3、Vrishank Bhardwaj、vufg、wallygauze、Warut Vijitbenjaronk、wdevazelhes、Wenhao Zhang、Wes Barnett、Will、William de Vazelhes、Will Rosenfeld、Xin Xiong、Yiming (Paul) Li、ymazari、Yufeng、Zach Griffith、Zé Vinícius、Zhenqing Hu、Zhiqing Xiao、Zijie (ZJ) Poh