版本 1.4#

如需簡短描述此版本的主要重點,請參閱scikit-learn 1.4 的版本重點

變更日誌圖例

  • 主要功能 過去無法做到的一些重大功能。

  • 功能 過去無法做到的一些功能。

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

  • 增強 各種小的改進。

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

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

版本 1.4.2#

2024 年 4 月

此版本僅支援 numpy 2。

版本 1.4.1#

2024 年 2 月

變更的模型#

中繼資料路由#

DataFrame 支援#

  • 增強 修正 直接驗證 Pandas 和 Polars DataFrame,而不使用鴨子類型檢查。#28195,由 Thomas Fan 提供。

影響許多模組的變更#

變更日誌#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

  • 修正verbose_feature_names_out=True 且轉換器內部多次使用相同的欄時,compose.ColumnTransformer 現在會轉換為 Polars DataFrame。先前,它會因為重複的欄名稱而引發錯誤。#28262,由 Guillaume Lemaitre 提供。

sklearn.ensemble#

  • 修復 修正在 pandas DataFrame 上擬合 HistGradientBoostingClassifierHistGradientBoostingRegressor 時,使用擴展 dtype(例如 pd.Int64Dtype)的問題。 #28385Loïc Estève 貢獻。

  • 修復 修正在 DataFrame 格式中,當目標為多標籤或多類別多輸出時,ensemble.VotingClassifier 引發的錯誤訊息。 #27702Guillaume Lemaitre 貢獻。

sklearn.impute#

  • 修復:如果 fill_value 無法使用 casting='same_kind' 轉換為輸入值 dtype,則 impute.SimpleImputer 現在會在 .fit.transform 中引發錯誤。 #28365Leo Grinsztajn 貢獻。

sklearn.inspection#

sklearn.linear_model#

sklearn.preprocessing#

sklearn.tree#

sklearn.utils#

版本 1.4.0#

2024 年 1 月

變更的模型#

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

  • 效率 linear_model.LogisticRegressionlinear_model.LogisticRegressionCV 現在對於求解器 "lbfgs""newton-cg" 具有更好的收斂性。這兩個求解器現在可以根據指定的 tol 達到更高的係數精度。此外,lbfgs 可以更好地利用 tol,即更快停止或達到更高的精度。注意:lbfgs 是預設的求解器,因此此變更可能會影響許多模型。此變更也意味著,使用此新版本的 scikit-learn,您的模型的 coef_intercept_ 結果係數將會因這兩個求解器而變更(當再次在相同資料上擬合時)。變更量取決於指定的 tol,對於較小的值,您將獲得更精確的結果。 #26721Christian Lorentzen 貢獻。

  • 修復 修復了在使用 Cython 損失函式的估計器中在 PyPy 中觀察到的記憶體洩漏。 #27670Guillaume Lemaitre 貢獻。

影響所有模組的變更#

  • 主要功能 轉換器現在支援使用 set_output(transform="polars") 輸出 polars。 #27315Thomas Fan 貢獻。

  • 增強 所有估計器現在都可以識別採用 DataFrame Interchange Protocol 的任何資料框架中的欄位名稱。透過 np.asarray(df) 返回正確表示的資料框架預期將與我們的估計器和函式一起使用。 #26464Thomas Fan 貢獻。

  • 增強 估算器的 HTML 表示現在包含文件連結,並以顏色編碼來表示估算器是否已擬合(未擬合的估算器為橘色,已擬合的估算器為藍色)。#26616Riccardo Cappuzzo, Ines Ibnukhsein, Gael Varoquaux, Joel NothmanLilian Boulard 共同貢獻。

  • 修正 修正了大多數估算器和函數中的一個錯誤,該錯誤會導致將參數設定為大的整數時產生 TypeError#26648Naoise Holohan 貢獻。

中繼資料路由#

以下模型現在在其一個或多個方法中支援中繼資料路由。有關更多詳細資訊,請參閱中繼資料路由使用者指南

支援 SciPy 稀疏陣列#

現在有幾個估算器支援 SciPy 稀疏陣列。以下函數和類別受到影響

函數

類別

陣列 API 的支援#

一些估算器和函式支援 陣列 API。此類變更允許將估算器和函式與其他程式庫(如 JAX、CuPy 和 PyTorch)一起使用。因此,這啟用了一些 GPU 加速運算。

有關更多詳細資訊,請參閱 陣列 API 支援 (實驗性)

函數

類別

私有損失函數模組#

變更日誌#

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.inspection#

sklearn.kernel_ridge#

sklearn.linear_model#

sklearn.metrics#

sklearn.model_selection#

sklearn.multioutput#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.tree#

sklearn.utils#

  • 增強 sklearn.utils.estimator_html_repr 會根據瀏覽器的 prefers-color-scheme 動態調整圖表顏色,進而改善對深色模式環境的適應性。#26862Andrew Goh YishengThomas FanAdrin Jalali 實作。

  • 增強 MetadataRequestMetadataRouter 現在有一個 consumes 方法,可用於檢查是否會消耗給定的一組參數。#26831Adrin Jalali 實作。

  • 增強 當從 DIA 陣列轉換時,如果非零條目的數量足夠小,則使 sklearn.utils.check_array 嘗試輸出 int32 索引的 CSR 和 COO 陣列。這可確保在 Cython 中實作且不接受 int64 索引的稀疏資料結構的估算器,現在始終如一地接受 SciPy 稀疏矩陣和陣列的相同稀疏輸入格式。#27372Guillaume Lemaitre 實作。

  • 修復 sklearn.utils.check_array 應接受來自稀疏 SciPy 模組的矩陣和陣列。如果 copy=True,先前的實作會因呼叫特定的 NumPy np.may_share_memory 而失敗,而該函數不適用於 SciPy 稀疏陣列,且不會為 SciPy 稀疏矩陣傳回正確的結果。#27336Guillaume Lemaitre 實作。

  • 修復 check_estimators_picklereadonly_memmap=True 現在依賴 joblib 本身的功能,在載入序列化的估算器時配置對齊的記憶體對應陣列,而不是呼叫在 OpenBLAS 錯誤偵測到 CPU 架構時會崩潰的專用私有函數。#27614Olivier Grisel 實作。

  • 修復 當傳遞稀疏矩陣但 accept_sparseFalse 時,check_array 中的錯誤訊息現在建議使用 .toarray(),而不是 X.toarray()#27757Lucy Liu 實作。

  • 修復 修復當輸入為 Series 而不是 DataFrame 時,函數 check_array 輸出正確錯誤訊息的問題。#28090Stan FurrerYao Xiao 實作。

  • API 變更 sklearn.extmath.log_logistic 已棄用,並將在 1.6 版中移除。請改用 -np.logaddexp(0, -x)#27544Christian Lorentzen 實作。

程式碼和文件貢獻者

感謝自 1.3 版以來為專案的維護和改進做出貢獻的每個人,包括

101AlexMartin、Abhishek Singh Kushwah、Adam Li、Adarsh Wase、Adrin Jalali、Advik Sinha、Alex、Alexander Al-Feghali、Alexis IMBERT、AlexL、Alex Molas、Anam Fatima、Andrew Goh、andyscanzio、Aniket Patil、Artem Kislovskiy、Arturo Amor、ashah002、avm19、Ben Holmes、Ben Mares、Benoit Chevallier-Mames、Bharat Raghunathan、Binesh Bannerjee、Brendan Lu、Brevin Kunde、Camille Troillard、Carlo Lemos、Chad Parmet、Christian Clauss、Christian Lorentzen、Christian Veenhuis、Christos Aridas、Cindy Liang、Claudio Salvatore Arcidiacono、Connor Boyle、cynthias13w、DaminK、Daniele Ongari、Daniel Schmitz、Daniel Tinoco、David Brochart、Deborah L. Haar、DevanshKyada27、Dimitri Papadopoulos Orfanos、Dmitry Nesterov、DUONG、Edoardo Abati、Eitan Hemed、Elabonga Atuo、Elisabeth Günther、Emma Carballal、Emmanuel Ferdman、epimorphic、Erwan Le Floch、Fabian Egli、Filip Karlo Došilović、Florian Idelberger、Franck Charras、Gael Varoquaux、Ganesh Tata、Gleb Levitski、Guillaume Lemaitre、Haoying Zhang、Harmanan Kohli、Ily、ioangatop、IsaacTrost、Isaac Virshup、Iwona Zdzieblo、Jakub Kaczmarzyk、James McDermott、Jarrod Millman、JB Mountford、Jérémie du Boisberranger、Jérôme Dockès、Jiawei Zhang、Joel Nothman、John Cant、John Hopfensperger、Jona Sassenhagen、Jon Nordby、Julien Jerphanion、Kennedy Waweru、kevin moore、Kian Eliasi、Kishan Ved、Konstantinos Pitas、Koustav Ghosh、Kushan Sharma、ldwy4、Linus、Lohit SundaramahaLingam、Loic Esteve、Lorenz、Louis Fouquet、Lucy Liu、Luis Silvestrin、Lukáš Folwarczný、Lukas Geiger、Malte Londschien、Marcus Fraaß、Marek Hanuš、Maren Westermann、Mark Elliot、Martin Larralde、Mateusz Sokół、mathurinm、mecopur、Meekail Zain、Michael Higgins、Miki Watanabe、Milton Gomez、MN193、Mohammed Hamdy、Mohit Joshi、mrastgoo、Naman Dhingra、Naoise Holohan、Narendra Singh dangi、Noa Malem-Shinitski、Nolan、Nurseit Kamchyev、Oleksii Kachaiev、Olivier Grisel、Omar Salman、partev、Peter Hull、Peter Steinbach、Pierre de Fréminville、Pooja Subramaniam、Puneeth K、qmarcou、Quentin Barthélemy、Rahil Parikh、Rahul Mahajan、Raj Pulapakura、Raphael、Ricardo Peres、Riccardo Cappuzzo、Roman Lutz、Salim Dohri、Samuel O. Ronsin、Sandip Dutta、Sayed Qaiser Ali、scaja、scikit-learn-bot、Sebastian Berg、Shreesha Kumar Bhat、Shubhal Gupta、Søren Fuglede Jørgensen、Stefanie Senger、Tamara、Tanjina Afroj、THARAK HEGDE、thebabush、Thomas J. Fan、Thomas Roehr、Tialo、Tim Head、tongyu、Venkatachalam N、Vijeth Moudgalya、Vincent M、Vivek Reddy P、Vladimir Fokow、Xiao Yuan、Xuefeng Xu、Yang Tao、Yao Xiao、Yuchen Zhou、Yuusuke Hiramatsu