版本 0.23#

關於此版本主要重點的簡短描述,請參考 scikit-learn 0.23 的發佈重點

變更日誌的圖例

  • 主要功能 之前無法做到的大功能。

  • 功能 之前無法做到的事情。

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

  • 增強 各種小幅改進。

  • 修正 以前無法如文件所述運作(或根據合理期望)的某些內容現在應該可以運作。

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

版本 0.23.2#

已變更的模型#

以下估計器和函數,當使用相同的資料和參數進行擬合時,可能會產生與先前版本不同的模型。這通常是由於建模邏輯的變更(錯誤修正或增強功能)或隨機取樣程序中的變更所導致。

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

(雖然我們正嘗試透過提供此資訊來更好地告知使用者,但我們無法保證此清單完整。)

變更日誌#

sklearn.cluster#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.pipeline#

sklearn.utils#

版本 0.23.1#

2020 年 5 月 18 日

變更日誌#

sklearn.cluster#

其他#

  • 修正 修正了在建構函式中使用 **kwargs 參數的第三方估計器的 repr 中的錯誤,當 changed_only 為 True 時,現在這是預設值。#17205Nicolas Hug 提供。

版本 0.23.0#

2020 年 5 月 12 日

強制使用僅限關鍵字引數#

為了促進程式庫的清晰且不含糊的使用方式,大多數建構函式和函數參數現在都應該以關鍵字引數的方式傳遞(即使用 param=value 語法),而不是位置引數。為了方便轉換,如果僅限關鍵字的參數以位置引數的方式使用,則會引發 FutureWarning。在版本 1.0(重新命名為 0.25)中,這些參數將嚴格為僅限關鍵字的參數,並且會引發 TypeError#15005Joel NothmanAdrin JalaliThomas FanNicolas Hug 提供。請參閱 SLEP009 以取得更多詳細資訊。

變更的模型#

以下估計器和函數,當使用相同的資料和參數進行擬合時,可能會產生與先前版本不同的模型。這通常是由於建模邏輯的變更(錯誤修正或增強功能)或隨機取樣程序中的變更所導致。

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

(雖然我們正嘗試透過提供此資訊來更好地告知使用者,但我們無法保證此清單完整。)

更新日誌#

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.gaussian_process#

sklearn.impute#

sklearn.inspection#

sklearn.linear_model#

sklearn.metrics#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neural_network#

sklearn.inspection#

sklearn.preprocessing#

sklearn.semi_supervised#

sklearn.svm#

  • 修正 效率提升 改進了 libsvmliblinear 隨機數生成器,用於隨機選擇坐標下降演算法中的坐標。使用了與平台相關的 C rand(),它在 Windows 平台上只能產生高達 32767 的數字(請參閱此 部落格文章),並且根據 此簡報 的建議,隨機化能力也較差。 它已替換為 C++11 mt19937,這是一種在所有平台上正確生成 31 位元/63 位元隨機數的梅森旋轉演算法。此外,為了在有界區間中取得隨機數,所使用的原始「模數」後處理器被調整後的 Lemire 方法所取代,如 此部落格文章 所建議。任何使用 svm.libsvmsvm.liblinear 求解器的模型,包括 svm.LinearSVCsvm.LinearSVRsvm.NuSVCsvm.NuSVRsvm.OneClassSVMsvm.SVCsvm.SVRlinear_model.LogisticRegression 都會受到影響。 特別是當樣本數 (LibSVM) 或特徵數 (LibLinear) 很大時,使用者可以期望有更好的收斂性。 #13511Sylvain Marié 貢獻。

  • 修正 修正了 svm.SVCsvm.SVR 中未採用浮點數條目的自訂核函數(例如字串核函數)的錯誤。 請注意,自訂核函數現在預期會驗證它們的輸入,而在以前它們會接收有效的數值陣列。 #11296Alexandre GramfortGeorgi Peev 貢獻。

  • API 變更 svm.SVRsvm.OneClassSVM 的屬性 probA_probB_ 現在已被棄用,因為它們沒有用處。 #15558Thomas Fan 貢獻。

sklearn.tree#

sklearn.utils#

其他#

  • 主要功能 添加了估計器的 HTML 表示形式,以便在 jupyter 筆記本或實驗室中顯示。此視覺化效果透過在 sklearn.set_config 中設定 display 選項來啟用。#14180Thomas Fan 貢獻。

  • 增強 scikit-learn 現在可以與 mypy 一起使用,而不會產生錯誤。#16726Roman Yurchak 貢獻。

  • API 變更 大多數估計器現在都公開了一個 n_features_in_ 屬性。此屬性等於傳遞給 fit 方法的功能數量。有關詳細資訊,請參閱 SLEP010#16112Nicolas Hug 貢獻。

  • API 變更 估計器現在有一個 requires_y 標籤,預設情況下為 False,但從 ~sklearn.base.RegressorMixin~sklearn.base.ClassifierMixin 繼承的估計器除外。此標籤用於確保在預期 y 但傳遞了 None 時引發正確的錯誤訊息。#16622Nicolas Hug 貢獻。

  • API 變更 預設設定 print_changed_only 已從 False 變更為 True。這表示估計器的 repr 現在更加簡潔,並且在列印估計器時只會顯示預設值已變更的參數。您可以使用 sklearn.set_config(print_changed_only=False) 來恢復之前的行為。此外,請注意,始終可以使用 est.get_params(deep=False) 來快速檢查任何估計器的參數。#17061Nicolas Hug 貢獻。

程式碼和文件貢獻者

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

Abbie Popa, Adrin Jalali, Aleksandra Kocot, Alexandre Batisse, Alexandre Gramfort, Alex Henrie, Alex Itkes, Alex Liang, alexshacked, Alonso Silva Allende, Ana Casado, Andreas Mueller, Angela Ambroz, Ankit810, Arie Pratama Sutiono, Arunav Konwar, Baptiste Maingret, Benjamin Beier Liu, bernie gray, Bharathi Srinivasan, Bharat Raghunathan, Bibhash Chandra Mitra, Brian Wignall, brigi, Brigitta Sipőcz, Carlos H Brandt, CastaChick, castor, cgsavard, Chiara Marmo, Chris Gregory, Christian Kastner, Christian Lorentzen, Corrie Bartelheimer, Daniël van Gelder, Daphne, David Breuer, david-cortes, dbauer9, Divyaprabha M, Edward Qian, Ekaterina Borovikova, ELNS, Emily Taylor, Erich Schubert, Eric Leung, Evgeni Chasnovski, Fabiana, Facundo Ferrín, Fan, Franziska Boenisch, Gael Varoquaux, Gaurav Sharma, Geoffrey Bolmier, Georgi Peev, gholdman1, Gonthier Nicolas, Gregory Morse, Gregory R. Lee, Guillaume Lemaitre, Gui Miotto, Hailey Nguyen, Hanmin Qin, Hao Chun Chang, HaoYin, Hélion du Mas des Bourboux, Himanshu Garg, Hirofumi Suzuki, huangk10, Hugo van Kemenade, Hye Sung Jung, indecisiveuser, inderjeet, J-A16, Jérémie du Boisberranger, Jin-Hwan CHO, JJmistry, Joel Nothman, Johann Faouzi, Jon Haitz Legarreta Gorroño, Juan Carlos Alfaro Jiménez, judithabk6, jumon, Kathryn Poole, Katrina Ni, Kesshi Jordan, Kevin Loftis, Kevin Markham, krishnachaitanya9, Lam Gia Thuan, Leland McInnes, Lisa Schwetlick, lkubin, Loic Esteve, lopusz, lrjball, lucgiffon, lucyleeow, Lucy Liu, Lukas Kemkes, Maciej J Mikulski, Madhura Jayaratne, Magda Zielinska, maikia, Mandy Gu, Manimaran, Manish Aradwad, Maren Westermann, Maria, Mariana Meireles, Marie Douriez, Marielle, Mateusz Górski, mathurinm, Matt Hall, Maura Pintor, mc4229, meyer89, m.fab, Michael Shoemaker, Michał Słapek, Mina Naghshhnejad, mo, Mohamed Maskani, Mojca Bertoncelj, narendramukherjee, ngshya, Nicholas Won, Nicolas Hug, nicolasservel, Niklas, @nkish, Noa Tamir, Oleksandr Pavlyk, olicairns, Oliver Urs Lenz, Olivier Grisel, parsons-kyle-89, Paula, Pete Green, Pierre Delanoue, pspachtholz, Pulkit Mehta, Qizhi Jiang, Quang Nguyen, rachelcjordan, raduspaimoc, Reshama Shaikh, Riccardo Folloni, Rick Mackenbach, Ritchie Ng, Roman Feldbauer, Roman Yurchak, Rory Hartong-Redden, Rüdiger Busche, Rushabh Vasani, Sambhav Kothari, Samesh Lakhotia, Samuel Duan, SanthoshBala18, Santiago M. Mola, Sarat Addepalli, scibol, Sebastian Kießling, SergioDSR, Sergul Aydore, Shiki-H, shivamgargsya, SHUBH CHATTERJEE, Siddharth Gupta, simonamaggio, smarie, Snowhite, stareh, Stephen Blystone, Stephen Marsh, Sunmi Yoon, SylvainLan, talgatomarov, tamirlan1, th0rwas, theoptips, Thomas J Fan, Thomas Li, Thomas Schmitt, Tim Nonner, Tim Vink, Tiphaine Viard, Tirth Patel, Titus Christian, Tom Dupré la Tour, trimeta, Vachan D A, Vandana Iyer, Venkatachalam N, waelbenamara, wconnell, wderose, wenliwyan, Windber, wornbb, Yu-Hang “Maxin” Tang