版本 1.0#

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

變更日誌的圖例

  • 主要功能 之前無法實現的重大功能。

  • 功能 之前無法實現的功能。

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

  • 增強 各種小改進。

  • 修復 之前未按照文件或合理預期運作的功能,現在應可正常運作。

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

版本 1.0.2#

2021 年 12 月

變更日誌#

sklearn.cluster#

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_selection#

sklearn.impute#

sklearn.linear_model#

sklearn.manifold#

  • 修復 修復了當使用預先計算的密集距離矩陣擬合 manifold.Isomap 時出現的不必要錯誤,其中鄰居圖具有多個不相連的組件。#21915Tom Dupre la Tour 貢獻。

sklearn.metrics#

  • 修復 所有 sklearn.metrics.DistanceMetric 子類別現在正確支援唯讀緩衝區屬性。這修復了在 1.0.0 版本中相對於 0.24.2 版本引入的迴歸錯誤。#21694Julien Jerphanion 貢獻。

  • 修復 所有 sklearn.metrics.MinkowskiDistance 現在接受一個權重參數,使其能夠編寫與 scipy 1.8 和更早版本行為一致的程式碼。反過來說,這意味著所有基於鄰居的估計器(除了那些使用 algorithm="kd_tree" 的估計器)現在都接受帶有 metric="minknowski" 的權重參數,以產生始終與 scipy.spatial.distance.cdist 一致的結果。#21741Olivier Grisel 貢獻。

sklearn.multiclass#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.tree#

  • 修復 防止 tree.plot_tree 繪製超出圖形邊界的內容。#21917Thomas Fan 貢獻。

  • 修復 支援載入決策樹模型的 pickles,當 pickle 是在具有不同位元數的平台上產生時。一個典型的例子是在 64 位元機器上訓練並 pickling 模型,然後在 32 位元機器上載入模型進行預測。#21552Loïc Estève 貢獻。

sklearn.utils#

版本 1.0.1#

2021 年 10 月

修復的模型#

sklearn.calibration#

sklearn.cluster#

sklearn.ensemble#

sklearn.gaussian_process#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.neighbors#

sklearn.pipeline#

sklearn.svm#

sklearn.utils#

其他#

  • 修正 在沒有特徵名稱的數據集上擬合估算器,該估算器先前已在具有特徵名稱的數據集上擬合,不再保留儲存在 feature_names_in_ 屬性中的舊特徵名稱。#21389Jérémie du Boisberranger 提供。

版本 1.0.0#

2021 年 9 月

最小相依性#

scikit-learn 的 1.0.0 版本需要 python 3.7+、numpy 1.14.6+ 和 scipy 1.1.0+。可選的最小相依性是 matplotlib 2.2.2+。

強制僅限關鍵字引數#

為了促進清晰且明確的程式庫使用方式,現在大多數建構子和函式參數必須以關鍵字引數 (即使用 param=value 語法) 而不是位置引數來傳遞。如果將僅限關鍵字的參數用作位置引數,則現在會引發 TypeError#15005 #20002Joel NothmanAdrin JalaliThomas FanNicolas HugTom Dupre la Tour 提供。 有關更多詳細資訊,請參閱 SLEP009

已變更的模型#

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

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

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

變更日誌#

  • API 變更 透過 losscriterion 參數使用平方誤差的選項變得更加一致。建議的方式是將值設定為 "squared_error"。舊的選項名稱仍然有效,會產生相同的模型,但已被棄用,並將在 1.2 版本中移除。 #19310 by Christian Lorentzen

  • API 變更 透過 losscriterion 參數使用絕對誤差的選項變得更加一致。建議的方式是將值設定為 "absolute_error"。舊的選項名稱仍然有效,會產生相同的模型,但已被棄用,並將在 1.2 版本中移除。 #19733 by Christian Lorentzen

  • API 變更 在 1.0 版本中,np.matrix 的使用方式已被棄用,並將在 1.2 版本中引發 TypeError 錯誤。 #20165 by Thomas Fan

  • API 變更 get_feature_names_out 已新增至轉換器 API,以取得輸出特徵的名稱。get_feature_names 隨之被棄用。 #18444 by Thomas Fan

  • API 變更 所有估算器在於 pandas Dataframe 上擬合時都會儲存 feature_names_in_。這些特徵名稱會與非 fit 方法(例如 transform)中看到的名稱進行比較,如果它們不一致,將會引發 FutureWarning。這些 FutureWarning 將在 1.2 版本中變成 ValueError#18010 by Thomas Fan

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

  • 增強 datasets.fetch_openml 現在在返回 pandas 資料框時支援包含遺失值的類別。 #19365Thomas FanAmanda DsouzaEL-ATEIF Sara 提供。

  • 增強 datasets.fetch_kddcup99 在快取檔案無效時會產生更完善的訊息。 #19669 Thomas Fan 提供。

  • 增強 將與資源檔案 I/O 相關的 __file__ 用法替換為 importlib.resources,以避免假設這些資源檔案(例如 iris.csv)已經存在於檔案系統上,並藉此啟用與 PyOxidizer 等工具的相容性。 #20297Jack Liu 提供。

  • 修復 縮短 openml 測試中的資料檔名稱,以更好地支援在 Windows 及其預設的 260 個字元檔案名稱限制下安裝。 #20209Thomas Fan 提供。

  • 修復 datasets.fetch_kddcup99return_X_y=Trueas_frame=True 時會返回資料框。 #19011Thomas Fan 提供。

  • API 變更 棄用 1.0 中的 datasets.load_boston,並將在 1.2 中移除。提供了載入類似資料集的替代程式碼片段。詳細資訊請參閱函數的 docstring。 #20729Guillaume Lemaitre 提供。

sklearn.decomposition#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.inspection#

sklearn.kernel_approximation#

sklearn.linear_model#

sklearn.manifold#

  • 增強manifold.TSNE 中實作 learning_rate'auto' 啟發式演算法。在 1.2 版本中,它將成為預設值。預設初始化將在 1.2 版本中變更為 pca。PCA 初始化將在 1.2 版本中縮放至標準差為 1e-4。 #19491Dmitry Kobak 貢獻。

  • 修正 變更數值精度,以防止在 manifold.TSNE 的親和矩陣計算期間出現下溢問題。 #19472Dmitry Kobak 貢獻。

  • 修正 manifold.Isomap 現在使用 scipy.sparse.csgraph.shortest_path 來計算圖的最短路徑。它還會沿著一些最小距離對連接鄰居圖的斷開連接的組件,而不是將每個無限距離更改為零。 #20531Roman YurchakTom Dupre la Tour 貢獻。

  • 修正 降低 manifold.spectral_embedding 中 lobpcg 呼叫的數值預設容差,以防止數值不穩定。 #21194Andrew Knyazev 貢獻。

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

sklearn.tree#

sklearn.utils#

程式碼與文件貢獻者

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

Abdulelah S. Al Mesfer, Abhinav Gupta, Adam J. Stewart, Adam Li, Adam Midvidy, Adrian Garcia Badaracco, Adrian Sadłocha, Adrin Jalali, Agamemnon Krasoulis, Alberto Rubiales, Albert Thomas, Albert Villanova del Moral, Alek Lefebvre, Alessia Marcolini, Alexandr Fonari, Alihan Zihna, Aline Ribeiro de Almeida, Amanda, Amanda Dsouza, Amol Deshmukh, Ana Pessoa, Anavelyz, Andreas Mueller, Andrew Delong, Ashish, Ashvith Shetty, Atsushi Nukariya, Aurélien Geron, Avi Gupta, Ayush Singh, baam, BaptBillard, Benjamin Pedigo, Bertrand Thirion, Bharat Raghunathan, bmalezieux, Brian Rice, Brian Sun, Bruno Charron, Bryan Chen, bumblebee, caherrera-meli, Carsten Allefeld, CeeThinwa, Chiara Marmo, chrissobel, Christian Lorentzen, Christopher Yeh, Chuliang Xiao, Clément Fauchereau, cliffordEmmanuel, Conner Shen, Connor Tann, David Dale, David Katz, David Poznik, Dimitri Papadopoulos Orfanos, Divyanshu Deoli, dmallia17, Dmitry Kobak, DS_anas, Eduardo Jardim, EdwinWenink, EL-ATEIF Sara, Eleni Markou, EricEllwanger, Eric Fiegel, Erich Schubert, Ezri-Mudde, Fatos Morina, Felipe Rodrigues, Felix Hafner, Fenil Suchak, flyingdutchman23, Flynn, Fortune Uwha, Francois Berenger, Frankie Robertson, Frans Larsson, Frederick Robinson, frellwan, Gabriel S Vicente, Gael Varoquaux, genvalen, Geoffrey Thomas, geroldcsendes, Gleb Levitskiy, Glen, Glòria Macià Muñoz, gregorystrubel, groceryheist, Guillaume Lemaitre, guiweber, Haidar Almubarak, Hans Moritz Günther, Haoyin Xu, Harris Mirza, Harry Wei, Harutaka Kawamura, Hassan Alsawadi, Helder Geovane Gomes de Lima, Hugo DEFOIS, Igor Ilic, Ikko Ashimine, Isaack Mungui, Ishaan Bhat, Ishan Mishra, Iván Pulido, iwhalvic, J Alexander, Jack Liu, James Alan Preiss, James Budarz, James Lamb, Jannik, Jeff Zhao, Jennifer Maldonado, Jérémie du Boisberranger, Jesse Lima, Jianzhu Guo, jnboehm, Joel Nothman, JohanWork, John Paton, Jonathan Schneider, Jon Crall, Jon Haitz Legarreta Gorroño, Joris Van den Bossche, José Manuel Nápoles Duarte, Juan Carlos Alfaro Jiménez, Juan Martin Loyola, Julien Jerphanion, Julio Batista Silva, julyrashchenko, JVM, Kadatatlu Kishore, Karen Palacio, Kei Ishikawa, kmatt10, kobaski, Kot271828, Kunj, KurumeYuta, kxytim, lacrosse91, LalliAcqua, Laveen Bagai, Leonardo Rocco, Leonardo Uieda, Leopoldo Corona, Loic Esteve, LSturtew, Luca Bittarello, Luccas Quadros, Lucy Jiménez, Lucy Liu, ly648499246, Mabu Manaileng, Manimaran, makoeppel, Marco Gorelli, Maren Westermann, Mariangela, Maria Telenczuk, marielaraj, Martin Hirzel, Mateo Noreña, Mathieu Blondel, Mathis Batoul, mathurinm, Matthew Calcote, Maxime Prieur, Maxwell, Mehdi Hamoumi, Mehmet Ali Özer, Miao Cai, Michal Karbownik, michalkrawczyk, Mitzi, mlondschien, Mohamed Haseeb, Mohamed Khoualed, Muhammad Jarir Kanji, murata-yu, Nadim Kawwa, Nanshan Li, naozin555, Nate Parsons, Neal Fultz, Nic Annau, Nicolas Hug, Nicolas Miller, Nico Stefani, Nigel Bosch, Nikita Titov, Nodar Okroshiashvili, Norbert Preining, novaya, Ogbonna Chibuike Stephen, OGordon100, Oliver Pfaffel, Olivier Grisel, Oras Phongpanangam, Pablo Duque, Pablo Ibieta-Jimenez, Patric Lacouth, Paulo S. Costa, Paweł Olszewski, Peter Dye, PierreAttard, Pierre-Yves Le Borgne, PranayAnchuri, Prince Canuma, putschblos, qdeffense, RamyaNP, ranjanikrishnan, Ray Bell, Rene Jean Corneille, Reshama Shaikh, ricardojnf, RichardScottOZ, Rodion Martynov, Rohan Paul, Roman Lutz, Roman Yurchak, Samuel Brice, Sandy Khosasi, Sean Benhur J, Sebastian Flores, Sebastian Pölsterl, Shao Yang Hong, shinehide, shinnar, shivamgargsya, Shooter23, Shuhei Kayawari, Shyam Desai, simonamaggio, Sina Tootoonian, solosilence, Steven Kolawole, Steve Stagg, Surya Prakash, swpease, Sylvain Marié, Takeshi Oura, Terence Honles, TFiFiE, Thomas A Caswell, Thomas J. Fan, Tim Gates, TimotheeMathieu, Timothy Wolodzko, Tim Vink, t-jakubek, t-kusanagi, tliu68, Tobias Uhmann, tom1092, Tomás Moreyra, Tomás Ronald Hughes, Tom Dupré la Tour, Tommaso Di Noto, Tomohiro Endo, TONY GEORGE, Toshihiro NAKAE, tsuga, Uttam kumar, vadim-ushtanit, Vangelis Gkiastas, Venkatachalam N, Vilém Zouhar, Vinicius Rios Fuck, Vlasovets, waijean, Whidou, xavier dupré, xiaoyuchai, Yasmeen Alsaedy, yoch, Yosuke KOBAYASHI, Yu Feng, YusukeNagasaka, yzhenman, Zero, ZeyuSun, ZhaoweiWang, Zito, Zito Relova