版本 1.1#
有關此版本主要重點的簡短說明,請參考scikit-learn 1.1 的發行重點。
更新日誌圖例
主要功能 之前無法實現的重大功能。
功能 之前無法實現的功能。
效率 現有的功能現在可能不需要那麼多的計算或記憶體。
增強 各種小的改進。
修復 之前沒有按照文件描述或合理預期運作的功能,現在應該可以運作了。
API 變更 您將需要更改程式碼才能在未來獲得相同的效果;或某個功能將在未來被移除。
版本 1.1.3#
2022 年 10 月
此錯誤修復版本僅包含與最新的 SciPy 版本 >= 1.9.2 的相容性修復。值得注意的變更包括:
修復 在 scikit-learn 的 wheel 中包含
msvcp140.dll
,因為它已在最新的 SciPy wheel 中被移除。#24631 由 Chiara Marmo 提供。增強 為 Python 3.11 建立 wheel。#24446 由 Chiara Marmo 提供。
其他錯誤修復將在接下來的 1.2 版本中提供,該版本將在未來幾週內發布。
請注意,此版本已停止支援 Windows 上的 32 位元 Python。這是因為 SciPy 1.9.2 也已停止支援該平台。建議 Windows 使用者安裝 64 位元版本的 Python。
版本 1.1.2#
2022 年 8 月
已變更的模型#
以下估算器和函數,當使用相同的資料和參數進行擬合時,可能會產生與先前版本不同的模型。這通常是由於建模邏輯(錯誤修復或增強)或隨機取樣程序的變更所造成的。
修復
manifold.TSNE
現在當使用perplexity>=n_samples
進行擬合時會拋出ValueError
,以確保演算法的數學正確性。#10805 由 Mathias Andersen 提供,以及 #23471 由 Meekail Zain 提供。
更新日誌#
修復 對於具有無效參數的元估算器,會顯示預設的 HTML 表示。#24015 由 Thomas Fan 提供。
修復 為在 1.1 中已變更後端的估算器和函數新增對 F 連續陣列的支援。#23990 由 Julien Jerphanion 提供。
修復 現在可為 MacOS 10.9 及更高版本提供 wheel。#23833 由 Thomas Fan 提供。
sklearn.base
#
修復
base.BaseEstimator
類別的get_params
方法現在支援具有type
類型且具有get_params
方法的參數的估算器。#24017 由 Henry Sorsky 提供。
sklearn.cluster
#
修復 修復了
cluster.Birch
中的錯誤,如果資料集中存在重複項,則在分割節點時可能會觸發錯誤。#23395 由 Jérémie du Boisberranger 提供。
sklearn.feature_selection
#
修復 當估算器是
linear_model.ElasticNet
或linear_model.ElasticNetCV
且l1_ratio
等於 1 或linear_model.LassoCV
時,feature_selection.SelectFromModel
的預設選取閾值為 1e-5。#23636 由 Hao Chun Chang 提供。
sklearn.impute
#
修復 當 dtype 為物件時,
impute.SimpleImputer
會在transform
時使用在fit
中看到的 dtype。#22063 由 Thomas Fan 提供。
sklearn.linear_model
#
修復 對於 Gram 矩陣(由使用者傳遞或預先計算),使用 dtype 感知的容差進行驗證。#22059 由 Malte S. Kurz 提供。
修復 修復了
linear_model.LogisticRegression
中使用solver="newton-cg"
、fit_intercept=True
和單一特徵時的錯誤。#23608 由 Tom Dupre la Tour 提供。
sklearn.manifold
#
修復
manifold.TSNE
現在當使用perplexity>=n_samples
進行擬合時會拋出ValueError
,以確保演算法的數學正確性。#10805 由 Mathias Andersen 提供,以及 #23471 由 Meekail Zain 提供。
sklearn.metrics
#
修復 修復了
metrics.coverage_error
對於 1D 陣列輸入的錯誤訊息。#23548 由 Hao Chun Chang 提供。
sklearn.preprocessing
#
修正
preprocessing.OrdinalEncoder.inverse_transform
正確處理unknown_value
或encoded_missing_value
為nan
的情況。#24087,由 Thomas Fan 貢獻。
sklearn.tree
#
修正 修正了在
tree.DecisionTreeRegressor
和tree.DecisionTreeClassifier
擬合過程中發生的無效記憶體存取錯誤。#23273,由 Thomas Fan 貢獻。
版本 1.1.1#
2022 年 5 月
更新日誌#
增強 當匯入
model_selection.HalvingGridSearchCV
、model_selection.HalvingRandomSearchCV
或impute.IterativeImputer
但未匯入實驗性標誌時,錯誤訊息已獲得改善。#23194,由 Thomas Fan 貢獻。增強 在 doc/conf.py 中新增了一個擴充功能,以自動產生處理 NaN 值的估計器列表。#23198,由 Lise Kleiber、Zhehao Liu 和 Chiara Marmo 貢獻。
sklearn.datasets
#
修正 透過不傳遞
timeout
參數,避免在datasets.fetch_openml
中發生逾時狀況。#23358,由 Loïc Estève 貢獻。
sklearn.decomposition
#
修正 當
n_samples == n_components
時,避免在decomposition.IncrementalPCA
中出現虛假的警告。#23264,由 Lucy Liu 貢獻。
sklearn.feature_selection
#
修正
feature_selection.SelectFromModel
的partial_fit
方法現在會驗證max_features
和feature_names_in
參數。#23299,由 Long Bao 貢獻。
sklearn.metrics
#
修正 修正
metrics.precision_recall_curve
以計算 100% 召回率的精確率-召回率。精確率-召回率曲線現在會顯示最後一個點,該點對應於始終預測正類的分類器:召回率 = 100%,精確率 = 類別平衡。#23214,由 Stéphane Collot 和 Max Baak 貢獻。
sklearn.preprocessing
#
修正 當
degree
等於 0 且include_bias
設定為 False 時,preprocessing.PolynomialFeatures
會引發錯誤,而當include_bias
設定為 True 時,則會輸出單一常數陣列。#23370,由 Zhehao Liu 貢獻。
sklearn.tree
#
sklearn.utils
#
修正
utils.class_weight.compute_sample_weight
現在可與稀疏的y
搭配使用。#23115,由 kernc 貢獻。
版本 1.1.0#
2022 年 5 月
最低依賴性#
scikit-learn 1.1.0 版需要 Python 3.8+、numpy 1.17.3+ 和 scipy 1.3.2+。可選的最低依賴性是 matplotlib 3.1.2+。
變更的模型#
以下估算器和函數,當使用相同的資料和參數進行擬合時,可能會產生與先前版本不同的模型。這通常是由於建模邏輯(錯誤修復或增強)或隨機取樣程序的變更所造成的。
效率
cluster.KMeans
現在預設為algorithm="lloyd"
,而不是algorithm="auto"
,後者等同於algorithm="elkan"
。Lloyd 演算法和 Elkan 演算法會收斂到相同的解決方案(直至數值四捨五入誤差),但一般來說,Lloyd 演算法使用的記憶體少得多,而且通常速度更快。效率提升 擬合
tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
、ensemble.RandomForestClassifier
、ensemble.RandomForestRegressor
、ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的速度平均比先前版本快了 15%,這歸功於新的排序演算法來尋找最佳分割。由於處理具有相同準則值之分割的方式不同,模型可能會有所差異:舊的與新的排序演算法皆為不穩定的排序演算法。#22868 由 Thomas Fan 貢獻。修正 現在,當使用
'amg'
或'lobpcg'
求解器時,cluster.SpectralClustering
和manifold.SpectralEmbedding
的特徵向量初始化會從高斯分佈中取樣。此變更改善了求解器的數值穩定性,但可能會導致不同的模型。修正
feature_selection.f_regression
和feature_selection.r_regression
現在預設會回傳有限的分數,而不是在某些邊緣情況下回傳np.nan
和np.inf
。如果您真的想要取得非有限的值並保持舊的行為,可以使用force_finite=False
。修正 當傳遞至 Estimator 時,具有所有非字串欄位(例如 MultiIndex)的 Pandas DataFrames 不再發出警告。Estimator 將繼續忽略具有非字串欄位的 DataFrames 中的欄位名稱。為了定義
feature_names_in_
,欄位必須全部為字串。#22410 由 Thomas Fan 貢獻。修正
preprocessing.KBinsDiscretizer
稍微變更了 bin 邊緣的處理方式,這可能會導致相同的資料產生不同的編碼。修正
calibration.calibration_curve
稍微變更了 bin 邊緣的處理方式,這可能會導致相同的資料產生不同的輸出曲線。修正
discriminant_analysis.LinearDiscriminantAnalysis
現在使用正確的變異數縮放係數,這可能會導致不同的模型行為。修正 現在可以使用
prefit=True
呼叫feature_selection.SelectFromModel.fit
和feature_selection.SelectFromModel.partial_fit
。當prefit=True
時,estimators_
將會是estimator
的深層複本。#23271 由 Guillaume Lemaitre 貢獻。
變更日誌#
效率提升 已重構用於密集 float64 資料集上成對距離縮減的低階常式。以下函數和估計器現在受益於硬體可擴展性和加速方面的效能提升:
例如,
sklearn.neighbors.NearestNeighbors.kneighbors
和sklearn.neighbors.NearestNeighbors.radius_neighbors
在筆記型電腦上的速度分別比先前快了 20 倍和 5 倍。此外,這兩個演算法的實作現在適用於具有多個核心的機器,使其可用於包含數百萬個樣本的資料集。
#21987、 #22064、 #22065、 #22288 和 #22320 由 Julien Jerphanion 貢獻。
增強 現在,當某些輸入包含意外的
NaN
或無限值時,所有 scikit-learn 模型都會產生更具資訊性的錯誤訊息。特別是,訊息包含輸入名稱(“X”、“y” 或 “sample_weight”),如果在X
中找到意外的NaN
值,錯誤訊息會建議潛在的解決方案。#21219 由 Olivier Grisel 貢獻。增強 現在,當使用
set_params
設定無效的超參數時,所有 scikit-learn 模型都會產生更具資訊性的錯誤訊息。#21542 由 Olivier Grisel 貢獻。增強 移除 HTML 表示中的隨機唯一識別碼。透過此變更,只要以相同的順序執行儲存格,jupyter 筆記本就是可重現的。#23098 由 Thomas Fan 貢獻。
修正 將
non_deterministic
標籤設定為True
的估計器會跳過check_methods_sample_order_invariance
和check_methods_subset_invariance
測試。#22318 由 Zhehao Liu 貢獻。API 變更 使用對數損失(又稱二項式或多項式偏差)的選項(透過
loss
參數)已變得更加一致。首選的方式是將值設定為"log_loss"
。舊的選項名稱仍然有效,並產生相同的模型,但已棄用,將在 1.3 版中移除。對於
ensemble.GradientBoostingClassifier
,loss
參數名稱「deviance」已棄用,改為使用新名稱「log_loss」,這也是目前的預設值。#23036 由 Christian Lorentzen 貢獻。對於
ensemble.HistGradientBoostingClassifier
,loss
參數名稱「auto」、「binary_crossentropy」和「categorical_crossentropy」已棄用,改為使用新名稱「log_loss」,這也是目前的預設值。#23040 由 Christian Lorentzen 貢獻。對於
linear_model.SGDClassifier
,loss
參數名稱「log」已棄用,改為使用新名稱「log_loss」。#23046 由 Christian Lorentzen 貢獻。
API 變更 現在,在 Jupyter 筆記本中預設啟用估計器的豐富 HTML 表示法。可以在
sklearn.set_config
中設定display='text'
來停用此功能。#22856 由 Jérémie du Boisberranger 貢獻。
sklearn.calibration
#
增強
calibration.calibration_curve
接受一個參數pos_label
來指定正類別標籤。 #21032 由 Guillaume Lemaitre 貢獻。增強
calibration.CalibratedClassifierCV.fit
現在支援傳遞fit_params
,這些參數會傳遞給base_estimator
。 #18170 由 Benjamin Bossan 貢獻。增強
calibration.CalibrationDisplay
接受一個參數pos_label
來將此資訊新增至繪圖中。 #21038 由 Guillaume Lemaitre 貢獻。修復
calibration.calibration_curve
現在能更一致地處理 bin 邊界。 #14975 由 Andreas Müller 貢獻 以及 #22526 由 Meekail Zain 貢獻。API 變更
calibration.calibration_curve
的normalize
參數現在已棄用,並將在 1.3 版本中移除。建議使用正確的機率(即分類器的 predict_proba 正類別)作為y_prob
。 #23095 由 Jordan Silke 貢獻。
sklearn.cluster
#
主要功能
cluster.BisectingKMeans
引入了二分 K-Means 演算法 #20031 由 Michal Krawczyk, Tom Dupre la Tour 和 Jérémie du Boisberranger 貢獻。增強
cluster.SpectralClustering
和cluster.spectral_clustering
現在包含新的'cluster_qr'
方法,該方法會在嵌入空間中對樣本進行群集,作為現有'kmeans'
和'discrete'
方法的替代方案。請參閱cluster.spectral_clustering
以了解更多詳細資訊。 #21148 由 Andrew Knyazev 貢獻。增強 將 get_feature_names_out 新增至
cluster.Birch
、cluster.FeatureAgglomeration
、cluster.KMeans
、cluster.MiniBatchKMeans
。 #22255 由 Thomas Fan 貢獻。增強
cluster.SpectralClustering
現在在傳遞無效的n_clusters
、n_init
、gamma
、n_neighbors
、eigen_tol
或degree
值時,會發出一致的錯誤訊息。 #21881 由 Hugo Vassard 貢獻。增強
cluster.AffinityPropagation
現在會回傳群集中心和標籤 (如果存在),即使模型尚未完全收斂。當回傳這些可能退化的群集中心和標籤時,會顯示新的警告訊息。如果沒有建立任何群集中心,則群集中心仍為空列表,且標籤設定為-1
,並顯示原始警告訊息。 #22217 由 Meekail Zain 貢獻。效率提升 在
cluster.KMeans
中,預設的algorithm
現在為"lloyd"
,這是完整經典的 EM 式演算法。"auto"
和"full"
都已棄用,並將在 1.3 版本中移除。它們現在是"lloyd"
的別名。先前的預設值為"auto"
,它依賴於 Elkan 的演算法。Lloyd 的演算法使用的記憶體比 Elkan 的少,它在許多資料集上速度更快,並且其結果是相同的,因此進行了此變更。 #21735 由 Aurélien Geron 貢獻。修復
cluster.KMeans
的init
參數現在正確支援類陣列輸入和 NumPy 字串純量。 #22154 由 Thomas Fan 貢獻。
sklearn.compose
#
修復
compose.ColumnTransformer
現在會從__init__
和set_params
方法中移除驗證錯誤。 #22537 由 iofall 和 Arisa Y. 貢獻。修復 當使用
slice
指定欄位時,compose.ColumnTransformer
中的 get_feature_names_out 功能已損壞。此問題已在 #22775 和 #22913 中修復,由 randomgeek78 貢獻。
sklearn.covariance
#
修正
covariance.GraphicalLassoCV
現在接受 NumPy 陣列作為參數alphas
。 #22493 由 Guillaume Lemaitre 貢獻。
sklearn.cross_decomposition
#
增強
cross_decomposition.PLSRegression
、cross_decomposition.PLSCanonical
和cross_decomposition.CCA
的inverse_transform
方法現在允許在給定Y
參數時重建X
目標。 #19680 由 Robin Thibaut 貢獻。增強 將 get_feature_names_out 新增到
cross_decomposition
模組中的所有轉換器:cross_decomposition.CCA
、cross_decomposition.PLSSVD
、cross_decomposition.PLSRegression
和cross_decomposition.PLSCanonical
。 #22119 由 Thomas Fan 貢獻。修正
cross_decomposition.CCA
、cross_decomposition.PLSCanonical
和cross_decomposition.PLSRegression
的 coef_ 屬性形狀將在 1.3 版本中從(n_features, n_targets)
變更為(n_targets, n_features)
,以便與其他線性模型保持一致,並使其能夠與期望特定coef_
形狀的介面(例如feature_selection.RFE
)一起使用。 #22016 由 Guillaume Lemaitre 貢獻。API 變更 將擬合屬性
intercept_
新增到cross_decomposition.PLSCanonical
、cross_decomposition.PLSRegression
和cross_decomposition.CCA
。 方法predict
實際上等同於Y = X @ coef_ + intercept_
。 #22015 由 Guillaume Lemaitre 貢獻。
sklearn.datasets
#
功能
datasets.load_files
現在接受基於檔案副檔名的忽略列表和允許列表。 #19747 由 Tony Attalla 貢獻,以及 #22498 由 Meekail Zain 貢獻。增強
datasets.make_swiss_roll
現在支援可選參數 hole;當設定為 True 時,它會回傳瑞士孔資料集。 #21482 由 Sebastian Pujalte 貢獻。增強
datasets.make_blobs
在生成過程中不再複製資料,因此使用較少的記憶體。 #22412 由 Zhehao Liu 貢獻。增強
datasets.load_diabetes
現在接受參數scaled
,以允許載入未縮放的資料。 此資料集的縮放版本現在從未縮放的資料計算,並且可能會產生與先前版本略有不同的結果(在 1e-4 的絕對容差範圍內)。 #16605 由 Mandy Gu 貢獻。增強
datasets.fetch_openml
現在有兩個可選參數n_retries
和delay
。 預設情況下,datasets.fetch_openml
將在網路故障時重試 3 次,每次嘗試之間會有延遲。 #21901 由 Rileran 貢獻。修正
datasets.fetch_covtype
現在是並行安全的:資料會先下載到暫存目錄,然後再移動到資料目錄。 #23113 由 Ilion Beyst 貢獻。API 變更
datasets.make_sparse_coded_signal
現在接受參數data_transposed
以明確指定矩陣X
的形狀。 預設行為True
是回傳一個轉置矩陣X
,對應於(n_features, n_samples)
的形狀。 預設值將在 1.3 版本中變更為False
。 #21425 由 Gabriel Stefanini Vicente 貢獻。
sklearn.decomposition
#
主要功能 新增了一個新的估算器
decomposition.MiniBatchNMF
。 它是一個更快但不太精確的非負矩陣分解版本,更適合大型資料集。 #16948 由 Chiara Marmo、Patricio Cerda 和 Jérémie du Boisberranger 貢獻。增強
decomposition.dict_learning
、decomposition.dict_learning_online
和decomposition.sparse_encode
為numpy.float32
保留 dtype。decomposition.DictionaryLearning
、decomposition.MiniBatchDictionaryLearning
和decomposition.SparseCoder
為numpy.float32
保留 dtype。#22002 由 Takeshi Oura 貢獻。增強
decomposition.PCA
公開一個參數n_oversamples
,用於調整utils.extmath.randomized_svd
,並在特徵數量很大時獲得精確的結果。#21109 由 Smile 貢獻。增強
decomposition.MiniBatchDictionaryLearning
和decomposition.dict_learning_online
已被重構,現在具有基於字典或目標函數微小變化的停止準則,由新的max_iter
、tol
和max_no_improvement
參數控制。此外,它們的一些參數和屬性已被棄用。兩者的
n_iter
參數已被棄用。請改用max_iter
。decomposition.dict_learning_online
的iter_offset
、return_inner_stats
、inner_stats
和return_n_iter
參數用於內部目的,已被棄用。decomposition.MiniBatchDictionaryLearning
的inner_stats_
、iter_offset_
和random_state_
屬性用於內部目的,已被棄用。兩者的
batch_size
參數預設值將在 1.3 版本中從 3 變更為 256。
增強
decomposition.SparsePCA
和decomposition.MiniBatchSparsePCA
為numpy.float32
保留 dtype。#22111 由 Takeshi Oura 貢獻。增強 如果
algorithm='randomized'
,decomposition.TruncatedSVD
現在允許n_components == n_features
。#22181 由 Zach Deane-Mayer 貢獻。增強 將 get_feature_names_out 新增至
decomposition
模組中的所有轉換器:decomposition.DictionaryLearning
、decomposition.FactorAnalysis
、decomposition.FastICA
、decomposition.IncrementalPCA
、decomposition.KernelPCA
、decomposition.LatentDirichletAllocation
、decomposition.MiniBatchDictionaryLearning
、decomposition.MiniBatchSparsePCA
、decomposition.NMF
、decomposition.PCA
、decomposition.SparsePCA
和decomposition.TruncatedSVD
。#21334 由 Thomas Fan 貢獻。增強
decomposition.TruncatedSVD
公開了n_oversamples
和power_iteration_normalizer
參數,用於調整utils.extmath.randomized_svd
,並在特徵數量很大、矩陣的秩很高,或矩陣的其他特徵使低秩近似困難時獲得精確的結果。#21705 由 Jay S. Stanley III 貢獻。增強
decomposition.PCA
公開了power_iteration_normalizer
參數,用於調整utils.extmath.randomized_svd
,並在低秩近似困難時獲得更精確的結果。#21705 由 Jay S. Stanley III 貢獻。修復
decomposition.FastICA
現在於fit
中而非__init__
中驗證輸入參數。#21432 由 Hannah Bohle 和 Maren Westermann 貢獻。修復
decomposition.FastICA
現在接受np.float32
資料,而不會靜默地向上轉換。dtype 會由fit
和fit_transform
保留,且主要的已擬合屬性會使用與訓練資料相同精度的 dtype。#22806 由 Jihane Bennis 和 Olivier Grisel 貢獻。修復
decomposition.FactorAnalysis
現在於fit
中而非__init__
中驗證輸入參數。#21713 由 Haya 和 Krum Arnaudov 貢獻。修正
decomposition.KernelPCA
現在會在fit
中驗證輸入參數,而不是在__init__
中驗證。 #21567 由 Maggie Chege 貢獻。修正
decomposition.PCA
和decomposition.IncrementalPCA
在self.noise_variance_
為零時,會更安全地使用共變異數矩陣的反矩陣計算精確度。 #22300 由 Meekail Zain 貢獻,以及 #15948 由 @sysuresh 貢獻。修正 大幅降低呼叫
fit
或fit_transform
時,decomposition.PCA
的峰值記憶體使用量。 #22553 由 Meekail Zain 貢獻。API 變更
decomposition.FastICA
現在支援白化的單位變異數。其whiten
引數的預設值將在 1.3 版中從True
(行為類似於'arbitrary-variance'
) 變更為'unit-variance'
。 #19490 由 Facundo Ferrin 和 Julien Jerphanion 貢獻。
sklearn.discriminant_analysis
#
增強 將 get_feature_names_out 新增至
discriminant_analysis.LinearDiscriminantAnalysis
。 #22120 由 Thomas Fan 貢獻。修正
discriminant_analysis.LinearDiscriminantAnalysis
現在使用正確的變異數縮放係數,這可能會導致不同的模型行為。 #15984 由 Okon Samuel 貢獻,以及 #22696 由 Meekail Zain 貢獻。
sklearn.dummy
#
修正
dummy.DummyRegressor
在fit
期間不再覆寫constant
參數。 #22486 由 Thomas Fan 貢獻。
sklearn.ensemble
#
主要功能 為
ensemble.HistGradientBoostingRegressor
新增了額外的選項loss="quantile"
,用於建立分位數模型。可以使用新的參數quantile
指定分位數等級。 #21800 和 #20567 由 Christian Lorentzen 貢獻。效率
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的fit
現在會使用參數force_all_finite=False
呼叫utils.check_array
,用於非初始的暖啟動執行,因為之前已檢查過。 #22159 由 Geoffrey Paris 貢獻。增強 由於新的私有損失函數模組,
ensemble.HistGradientBoostingClassifier
對於二元問題,尤其是對於多類別問題,速度更快。 #20811、#20567 和 #21814 由 Christian Lorentzen 貢獻。增強 在
ensemble.StackingClassifier
和ensemble.StackingRegressor
中新增了使用預先擬合模型與cv="prefit"
的支援。 #16748 由 Siqi He 貢獻,以及 #22215 由 Meekail Zain 貢獻。增強
ensemble.RandomForestClassifier
和ensemble.ExtraTreesClassifier
有了新的criterion="log_loss"
,它等效於criterion="entropy"
。 #23047 由 Christian Lorentzen 貢獻。增強 將 get_feature_names_out 新增至
ensemble.VotingClassifier
、ensemble.VotingRegressor
、ensemble.StackingClassifier
和ensemble.StackingRegressor
。 #22695 和 #22697 由 Thomas Fan 貢獻。增強
ensemble.RandomTreesEmbedding
現在具有資訊豐富的 get_feature_names_out 函數,該函數在輸出特徵名稱中包含樹索引和葉索引。 #21762 由 Zhehao Liu 和 Thomas Fan 貢獻。效率 在多處理設定中,擬合
ensemble.RandomForestClassifier
、ensemble.RandomForestRegressor
、ensemble.ExtraTreesClassifier
、ensemble.ExtraTreesRegressor
和ensemble.RandomTreesEmbedding
的速度更快,尤其是對於啟用warm_start
的後續擬合。 #22106 由 Pieter Gijsbers 貢獻。修正 變更
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
中的參數validation_fraction
,使得當傳入的引數不是浮點數時,會引發錯誤。#21632 由 Genesis Valencia 貢獻。修正 移除當 CPU 資源使用受到限制時(例如在 Docker 容器中使用 cgroups 配額)
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
中潛在的 CPU 過度訂閱來源。#22566 由 Jérémie du Boisberranger 貢獻。修正 當使用非預設的
scoring
參數且啟用 early_stopping 時,ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
不再於在 pandas DataFrame 上進行擬合時發出警告。#22908 由 Thomas Fan 貢獻。修正 修復
ensemble.StackingClassifier
和ensemble.StackingRegressor
的 HTML 表示。#23097 由 Thomas Fan 貢獻。API 變更
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的屬性loss_
已被棄用,將在 1.3 版本中移除。#23079 由 Christian Lorentzen 貢獻。API 變更 將
ensemble.RandomForestRegressor
的max_features
預設值變更為 1.0,將ensemble.RandomForestClassifier
的max_features
預設值變更為"sqrt"
。請注意,這些變更會產生與之前相同的擬合結果,但更容易理解。舊的預設值"auto"
已被棄用,將在 1.3 版本中移除。相同的變更也應用於ensemble.ExtraTreesRegressor
和ensemble.ExtraTreesClassifier
。#20803 由 Brian Sun 貢獻。效率 藉由跳過重複的輸入檢查,改善
ensemble.IsolationForest
的執行時間效能。#23149 由 Zhehao Liu 貢獻。
sklearn.feature_extraction
#
新功能
feature_extraction.FeatureHasher
現在支援 PyPy。#23023 由 Thomas Fan 貢獻。修正
feature_extraction.FeatureHasher
現在於transform
中驗證輸入參數,而不是在__init__
中驗證。#21573 由 Hannah Bohle 和 Maren Westermann 貢獻。修正
feature_extraction.text.TfidfVectorizer
現在不會如 API 所要求的那樣在__init__
時建立feature_extraction.text.TfidfTransformer
物件。#21832 由 Guillaume Lemaitre 貢獻。
sklearn.feature_selection
#
新功能 為
feature_selection.SequentialFeatureSelector
新增了自動模式。如果引數n_features_to_select
為'auto'
,則會選取特徵,直到分數改善量不超過引數tol
為止。n_features_to_select
的預設值在 1.1 版本中從None
變更為'warn'
,並且將在 1.3 版本中變為'auto'
。None
和'warn'
將在 1.3 版本中移除。#20145 由 murata-yu 貢獻。新功能 新增將可呼叫物件傳遞至
feature_selection.SelectFromModel
的max_features
參數的功能。此外,還引入了新屬性max_features_
,該屬性是從max_features
推斷而來,並在fit
期間從資料推斷而來。如果max_features
是整數,則max_features_ = max_features
。如果max_features
是可呼叫物件,則max_features_ = max_features(X)
。#22356 由 Meekail Zain 貢獻。增強
feature_selection.GenericUnivariateSelect
保留 float32 資料類型。 #18482 由 Thierry Gameiro 和 Daniel Kharsa 以及 #22370 由 Meekail Zain 貢獻。增強 為
feature_selection.f_regression
和feature_selection.r_regression
新增參數force_finite
。此參數允許在特徵或目標為常數,或特徵和目標完全相關(僅適用於 F 統計量)的情況下,強制輸出為有限值。 #17819 由 Juan Carlos Alfaro Jiménez 貢獻。效率 改善使用布林陣列時
feature_selection.chi2
的執行效能。 #22235 由 Thomas Fan 貢獻。效率 減少
feature_selection.chi2
的記憶體使用量。 #21837 由 Louis Wagner 貢獻。
sklearn.gaussian_process
#
修正
gaussian_process.GaussianProcessRegressor
的predict
和sample_y
方法現在在單目標和多目標情況下,以及對於normalize_y=False
和normalize_y=True
兩種情況,都會回傳形狀正確的陣列。 #22199 由 Guillaume Lemaitre、Aidar Shakerimoff 和 Tenavi Nakamura-Zimmerer 貢獻。修正 如果透過
kernel
傳遞CompoundKernel
,gaussian_process.GaussianProcessClassifier
會引發更具資訊性的錯誤。 #22223 由 MarcoM 貢獻。
sklearn.impute
#
增強 當訓練集中缺少任何觀測值而跳過特徵時,
impute.SimpleImputer
現在會發出包含特徵名稱的警告。 #21617 由 Christian Ritter 貢獻。增強 在
impute.SimpleImputer
中新增了對pd.NA
的支援。 #21114 由 Ying Xiong 貢獻。增強 為
impute.SimpleImputer
、impute.KNNImputer
、impute.IterativeImputer
和impute.MissingIndicator
新增 get_feature_names_out。 #21078 由 Thomas Fan 貢獻。API 變更
impute.SimpleImputer
的verbose
參數已棄用。移除空欄時將始終發出警告。 #21448 由 Oleh Kozynets 和 Christian Ritter 貢獻。
sklearn.inspection
#
功能 新增顯示來繪製分類器的邊界決策,方法是使用
inspection.DecisionBoundaryDisplay.from_estimator
方法。 #16061 由 Thomas Fan 貢獻。增強 在
inspection.PartialDependenceDisplay.from_estimator
中,允許kind
接受字串列表,以指定為每個特徵互動繪製哪種類型的圖。 #19438 由 Guillaume Lemaitre 貢獻。增強
inspection.PartialDependenceDisplay.from_estimator
、inspection.PartialDependenceDisplay.plot
和inspection.plot_partial_dependence
現在支援繪製以參數centered
控制的居中個別條件期望 (cICE) 和居中 PDP 曲線。 #18310 由 Johannes Elfner 和 Guillaume Lemaitre 貢獻。
sklearn.isotonic
#
增強 為
isotonic.IsotonicRegression
新增 get_feature_names_out。 #22249 由 Thomas Fan 貢獻。
sklearn.kernel_approximation
#
sklearn.linear_model
#
功能
linear_model.ElasticNet
、linear_model.ElasticNetCV
、linear_model.Lasso
和linear_model.LassoCV
支援稀疏輸入X
的sample_weight
。#22808 由 Christian Lorentzen 貢獻。功能
solver="lsqr"
的linear_model.Ridge
現在支援使用fit_intercept=True
擬合稀疏輸入。#22950 由 Christian Lorentzen 貢獻。增強
linear_model.QuantileRegressor
支援基於 highs 求解器的稀疏輸入。#21086 由 Venkatachalam Natchiappan 貢獻。此外,這些求解器現在從一開始就使用 CSC 矩陣,這加快了擬合速度。#22206 由 Christian Lorentzen 貢獻。增強 對於二元問題,特別是多類別問題,由於新的私有損失函數模組,
solvers="lbfgs"
和solver="newton-cg"
的linear_model.LogisticRegression
速度更快。在多類別情況下,由於目標現在是標籤編碼(映射到整數)而不是標籤二值化(獨熱編碼),這些求解器的記憶體消耗也減少了。類別越多,好處越大。#21808、#20567 和 #21814 由 Christian Lorentzen 貢獻。增強
solvers="lbfgs"
的linear_model.GammaRegressor
、linear_model.PoissonRegressor
和linear_model.TweedieRegressor
速度更快。#22548、#21808 和 #20567 由 Christian Lorentzen 貢獻。增強 在
linear_model.RANSACRegressor
中,將參數base_estimator
重新命名為estimator
,以提高可讀性和一致性。base_estimator
已棄用,將在 1.3 版本中移除。#22062 由 Adrian Trujillo 貢獻。增強 當產生非有限參數權重時,
linear_model.ElasticNet
和其他使用座標下降的線性模型類別會顯示錯誤訊息。#22148 由 Christian Ritter 和 Norbert Preining 貢獻。增強 當傳遞
l1_ratio
、alpha
、max_iter
和tol
的無效值時,linear_model.ElasticNet
和linear_model.Lasso
現在會引發一致的錯誤訊息。#22240 由 Arturo Amor 貢獻。增強
linear_model.BayesianRidge
和linear_model.ARDRegression
現在會保留 float32 dtype。#9087 由 Arthur Imbert 貢獻,以及 #22525 由 Meekail Zain 貢獻。增強
linear_model.RidgeClassifier
現在支援多標籤分類。#19689 由 Guillaume Lemaitre 貢獻。增強 當傳遞
alphas
的無效值時,linear_model.RidgeCV
和linear_model.RidgeClassifierCV
現在會引發一致的錯誤訊息。#21606 由 Arturo Amor 貢獻。增強
linear_model.Ridge
和linear_model.RidgeClassifier
現在在傳遞alpha
、max_iter
和tol
的無效值時,會產生一致的錯誤訊息。#21341 由 Arturo Amor 提供。增強
linear_model.orthogonal_mp_gram
保留numpy.float32
的 dtype。#22002 由 Takeshi Oura 提供。修復
linear_model.LassoLarsIC
現在可以正確計算 AIC 和 BIC。當n_features > n_samples
且未提供雜訊變異數時,現在會引發錯誤。#21481 由 Guillaume Lemaitre 和 Andrés Babino 提供。修復
linear_model.TheilSenRegressor
現在在fit
中驗證輸入參數max_subpopulation
,而不是在__init__
中。#21767 由 Maren Westermann 提供。修復
linear_model.ElasticNetCV
現在在l1_ratio=0
時會產生正確的警告。#21724 由 Yar Khine Phyo 提供。修復
linear_model.LogisticRegression
和linear_model.LogisticRegressionCV
現在會設定n_iter_
屬性,使其形狀符合文件字串,並且與在使用一對多設定中的其他求解器時獲得的形狀一致。先前,它只會記錄每個二元子問題的最大迭代次數,而現在會記錄所有迭代次數。#21998 由 Olivier Grisel 提供。修復
linear_model.TweedieRegressor
的family
屬性不再在__init__
中驗證。相反地,此(私有)屬性在linear_model.GammaRegressor
、linear_model.PoissonRegressor
和linear_model.TweedieRegressor
中被棄用,並將在 1.3 版本中移除。#22548 由 Christian Lorentzen 提供。修復 當輸入為稀疏時,在存在樣本權重的情況下,
linear_model.LinearRegression
的coef_
和intercept_
屬性現在可以正確計算。#22891 由 Jérémie du Boisberranger 提供。修復 當輸入為稀疏時,在存在樣本權重的情況下,
solver="sparse_cg"
和solver="lbfgs"
的linear_model.Ridge
的coef_
和intercept_
屬性現在可以正確計算。#22899 由 Jérémie du Boisberranger 提供。修復 當啟用提前停止時,
linear_model.SGDRegressor
和linear_model.SGDClassifier
現在可以正確計算驗證錯誤。#23256 由 Zhehao Liu 提供。API 變更
linear_model.LassoLarsIC
現在公開noise_variance
作為參數,以便提供雜訊變異數的估計值。當n_features > n_samples
且無法計算雜訊變異數的估計值時,此參數特別重要。#21481 由 Guillaume Lemaitre 提供。
sklearn.manifold
#
功能
manifold.Isomap
現在透過radius
引數支援基於半徑的鄰居。#19794 由 Zhehao Liu 提供。增強
manifold.spectral_embedding
和manifold.SpectralEmbedding
支援np.float32
dtype,並且將保留此 dtype。#21534 由 Andrew Knyazev 提供。增強 將 get_feature_names_out 新增至
manifold.Isomap
和manifold.LocallyLinearEmbedding
。#22254 由 Thomas Fan 提供。增強 將
metric_params
新增至manifold.TSNE
建構函式,以便在最佳化中使用距離度量的其他參數。#21805 由 Jeanne Dionisi 提供,以及 #22685 由 Meekail Zain 提供。增強 如果
n_neighbours >= n_samples / 2
,manifold.trustworthiness
會引發錯誤,以確保該函數的正確支援。#18832 由 Hong Shao Yang 提供,以及 #23033 由 Meekail Zain 提供。修復
manifold.spectral_embedding
現在在 eigen_solverslobpcg
和amg
中,對特徵向量使用高斯分佈而非先前在 [0, 1] 上均勻分佈的隨機初始近似值,以提高其數值穩定性。#21565 由 Andrew Knyazev 提供。
sklearn.metrics
#
新功能
metrics.r2_score
和metrics.explained_variance_score
有一個新的force_finite
參數。將此參數設定為False
將會在完美預測或常數y_true
的情況下,傳回實際的非有限分數,而不是目前預設傳回的有限近似值(分別為1.0
和0.0
)。#17266 由 Sylvain Marié 提供。新功能
metrics.d2_pinball_score
和metrics.d2_absolute_error_score
分別計算 pinball 損失和絕對誤差的 \(D^2\) 回歸分數。metrics.d2_absolute_error_score
是metrics.d2_pinball_score
的一個特例,它具有固定的分位數參數alpha=0.5
,以便於使用和發現。\(D^2\) 分數是r2_score
的推廣,可以解釋為解釋的偏差的比例。#22118 由 Ohad Michel 提供。增強 當
y_true
是二元的,且y_score
是 2 維時,metrics.top_k_accuracy_score
會提出改進的錯誤訊息。#22284 由 Thomas Fan 提供。增強 當
multiclass='ovr'
時,metrics.roc_auc_score
現在在多類別情況下支援average=None
,這將會傳回每個類別的分數。#19158 由 Nicki Skafte 提供。增強 將
im_kw
參數新增到metrics.ConfusionMatrixDisplay.from_estimator
、metrics.ConfusionMatrixDisplay.from_predictions
和metrics.ConfusionMatrixDisplay.plot
。im_kw
參數會在繪製混淆矩陣時傳遞給matplotlib.pyplot.imshow
呼叫。#20753 由 Thomas Fan 提供。修正
metrics.silhouette_score
現在支援用於預先計算距離的整數輸入。#22108 由 Thomas Fan 提供。修正 修正了
metrics.normalized_mutual_info_score
中的一個錯誤,該錯誤可能傳回無界的值。#22635 由 Jérémie du Boisberranger 提供。修正 當真實標籤全部為負數時,修正了
metrics.precision_recall_curve
和metrics.average_precision_score
的問題。#19085 由 Varun Agrawal 提供。API 變更
metrics.SCORERS
現在已棄用,將在 1.3 版本中移除。請使用metrics.get_scorer_names
來檢索所有可用的評分器的名稱。#22866 由 Adrin Jalali 提供。API 變更 根據 SLEP009,
metrics.mean_absolute_percentage_error
的參數sample_weight
和multioutput
現在是僅限關鍵字的參數。引入了棄用週期。#21576 由 Paul-Emile Dugnat 提供。API 變更
metrics.DistanceMetric
的"wminkowski"
度量標準已棄用,將在 1.3 版本中移除。相反,現有的"minkowski"
度量標準現在接受權重的可選w
參數。此棄用旨在與 SciPy 1.8 的慣例保持一致。#21873 由 Yar Khine Phyo 提供。API 變更
metrics.DistanceMetric
已從sklearn.neighbors
移至sklearn.metrics
。為了保持向後相容性,使用neighbors.DistanceMetric
進行匯入仍然有效,但此別名將在 1.3 版本中移除。#21177 由 Julien Jerphanion 提供。
sklearn.mixture
#
增強
mixture.GaussianMixture
和mixture.BayesianGaussianMixture
現在可以使用 k-means++ 和隨機資料點進行初始化。#20408 由 Gordon Walsh、Alberto Ceballos 和 Andres Rios 提供。修正 修正了一個錯誤,該錯誤會在透過取其平方根時,在提供
precisions_init
時,正確初始化mixture.GaussianMixture
中的precisions_cholesky_
。#22058 由 Guillaume Lemaitre 提供。修正
mixture.GaussianMixture
現在會更安全地正規化weights_
,防止在呼叫mixture.GaussianMixture.sample
與n_components=1
時發生捨入誤差。#23034 由 Meekail Zain 提供。
sklearn.model_selection
#
增強 現在可以將
scoring="matthews_corrcoef"
傳遞給所有具有scoring
引數的模型選擇工具,以使用馬修斯相關係數 (MCC)。#22203 由 Olivier Grisel 提供。改進 當所有分割的擬合都失敗時,在交叉驗證期間引發錯誤。同樣地,當所有模型和所有分割的擬合都失敗時,在網格搜尋期間引發錯誤。 #21026 by Loïc Estève。
修正
model_selection.GridSearchCV
,model_selection.HalvingGridSearchCV
現在在fit
中而不是在__init__
中驗證輸入參數。 #21880 by Mrinal Tyagi。修正
model_selection.learning_curve
現在支援使用迴歸器的partial_fit
。 #22982 by Thomas Fan。
sklearn.multiclass
#
改進
multiclass.OneVsRestClassifier
現在支援verbose
參數,以便可以看到擬合的進度。 #22508 by Chris Combs。修正
multiclass.OneVsOneClassifier.predict
當內部分類器只有 predict_proba 時,會回傳正確的預測。 #22604 by Thomas Fan。
sklearn.neighbors
#
改進 添加 get_feature_names_out 到
neighbors.RadiusNeighborsTransformer
,neighbors.KNeighborsTransformer
和neighbors.NeighborhoodComponentsAnalysis
。 #22212 by Meekail Zain。修正
neighbors.KernelDensity
現在在fit
中而不是在__init__
中驗證輸入參數。 #21430 by Desislava Vasileva and Lucy Jimenez。修正 當給定類陣列的輸入,如果
KNeighborsRegressor
首先用傳遞給weights
參數的可呼叫對象建構時,neighbors.KNeighborsRegressor.predict
現在可以正常工作。 #22687 by Meekail Zain。
sklearn.neural_network
#
改進 當優化器產生非有限參數權重時,
neural_network.MLPClassifier
和neural_network.MLPRegressor
顯示錯誤訊息。 #22150 by Christian Ritter 和 Norbert Preining。改進 添加 get_feature_names_out 到
neural_network.BernoulliRBM
。 #22248 by Thomas Fan。
sklearn.pipeline
#
改進 在
pipeline.FeatureUnion
中添加了對「passthrough」的支援。 將轉換器設定為「passthrough」將會傳遞未變更的特徵。 #20860 by Shubhraneel Pal。修正
pipeline.Pipeline
現在不在__init__
中,而是在.fit()
中驗證超參數。 #21888 by iofall 和 Arisa Y.。修正
pipeline.FeatureUnion
不在__init__
中驗證超參數。驗證現在在.fit()
和.fit_transform()
中處理。 #21954 by iofall 和 Arisa Y.。修正 在
pipeline.FeatureUnion
中定義__sklearn_is_fitted__
,以使用utils.validation.check_is_fitted
回傳正確的結果。 #22953 by randomgeek78。
sklearn.preprocessing
#
功能
preprocessing.OneHotEncoder
現在支援將不常出現的類別分組為單一特徵。透過指定如何使用min_frequency
或max_categories
來選擇不常出現的類別,可以啟用不常出現的類別分組。 #16018 by Thomas Fan。改進 添加一個
subsample
參數到preprocessing.KBinsDiscretizer
。這允許指定在擬合模型時要使用的最大樣本數。此選項僅在strategy
設定為quantile
時可用。 #21445 by Felipe Bidu 和 Amanda Dsouza。改進 添加
encoded_missing_value
到preprocessing.OrdinalEncoder
以設定遺失資料的編碼值。 #21988 by Thomas Fan。增強 在
preprocessing.FunctionTransformer
中新增了get_feature_names_out
方法和新的參數feature_names_out
。您可以將feature_names_out
設定為 ‘one-to-one’,以使用輸入特徵名稱作為輸出特徵名稱;或者您可以將其設定為一個可呼叫的函式,該函式會傳回輸出特徵名稱。當轉換器改變特徵數量時,這特別有用。如果feature_names_out
為 None (預設值),則不會定義get_output_feature_names
。 #21569 由 Aurélien Geron 貢獻。增強 為
preprocessing.Normalizer
、preprocessing.KernelCenterer
、preprocessing.OrdinalEncoder
和preprocessing.Binarizer
加入 get_feature_names_out 功能。 #21079 由 Thomas Fan 貢獻。修復 使用
method='yeo-johnson'
的preprocessing.PowerTransformer
在搜尋最佳 lambda 時,能更好地支援顯著的非高斯數據。 #20653 由 Thomas Fan 貢獻。修復
preprocessing.LabelBinarizer
現在會在fit
中而不是在__init__
中驗證輸入參數。 #21434 由 Krum Arnaudov 貢獻。修復 當輸入具有混合的 dtype 時,使用
check_inverse=True
的preprocessing.FunctionTransformer
現在會提供資訊豐富的錯誤訊息。 #19916 由 Zhehao Liu 貢獻。修復
preprocessing.KBinsDiscretizer
現在能更一致地處理 bin 邊緣。 #14975 由 Andreas Müller 貢獻,以及 #22526 由 Meekail Zain 貢獻。修復 當
encode="ordinal"
時,加入preprocessing.KBinsDiscretizer.get_feature_names_out
的支援。 #22735 由 Thomas Fan 貢獻。
sklearn.random_projection
#
增強 為
random_projection.GaussianRandomProjection
和random_projection.SparseRandomProjection
加入inverse_transform
方法和compute_inverse_transform
參數。當參數設定為 True 時,會在fit
期間計算元件的偽逆矩陣,並儲存為inverse_components_
。 #21701 由 Aurélien Geron 貢獻。增強
random_projection.SparseRandomProjection
和random_projection.GaussianRandomProjection
會保留numpy.float32
的 dtype。 #22114 由 Takeshi Oura 貢獻。增強 為
sklearn.random_projection
模組中的所有轉換器加入 get_feature_names_out:random_projection.GaussianRandomProjection
和random_projection.SparseRandomProjection
。 #21330 由 Loïc Estève 貢獻。
sklearn.svm
#
增強
svm.OneClassSVM
、svm.NuSVC
、svm.NuSVR
、svm.SVC
和svm.SVR
現在會公開n_iter_
,即 libsvm 優化程序的迭代次數。 #21408 由 Juan Martín Loyola 貢獻。增強 當對偶間隙估計產生非有限的參數權重時,
svm.SVR
、svm.SVC
、svm.NuSVR
、svm.OneClassSVM
、svm.NuSVC
現在會引發錯誤。 #22149 由 Christian Ritter 和 Norbert Preining 貢獻。修正
svm.NuSVC
、svm.NuSVR
、svm.SVC
、svm.SVR
、svm.OneClassSVM
現在會在fit
中驗證輸入參數,而不是在__init__
中驗證。 #21436 by Haidar Almubarak。
sklearn.tree
#
增強
tree.DecisionTreeClassifier
和tree.ExtraTreeClassifier
新增了criterion="log_loss"
,其等同於criterion="entropy"
。 #23047 by Christian Lorentzen。修正 修正了
tree.DecisionTreeRegressor
中 Poisson 分裂準則的錯誤。 #22191 by Christian Lorentzen。API 變更 將
tree.ExtraTreeRegressor
的max_features
預設值變更為 1.0,並將tree.ExtraTreeClassifier
的預設值變更為"sqrt"
,這不會改變擬合結果。原始預設值"auto"
已被棄用,並將在 1.3 版本中移除。對於tree.DecisionTreeClassifier
和tree.DecisionTreeRegressor
,將max_features
設定為"auto"
也已被棄用。#22476 by Zhehao Liu。
sklearn.utils
#
增強
utils.check_array
和utils.multiclass.type_of_target
現在接受input_name
參數,以便在傳遞無效輸入資料(例如,包含 NaN 或無限值)時,錯誤訊息可以提供更多資訊。#21219 by Olivier Grisel。增強 當傳遞包含
pd.NA
的Float32
或Float64
pandas 擴充陣列時,utils.check_array
會回傳帶有np.nan
的浮點數 ndarray。#21278 by Thomas Fan。增強 當在不信任的 jupyter notebook 中執行時,
utils.estimator_html_repr
會顯示更實用的錯誤訊息。#21316 by Thomas Fan。增強
utils.estimator_html_repr
會在 HTML 表示法的左上角顯示一個箭頭,以顯示如何點擊元素。#21298 by Thomas Fan。增強 當傳遞具有混合資料類型 (dtypes) 的 pandas DataFrame 時,使用
dtype=None
的utils.check_array
會回傳數值陣列。當 DataFrame 具有混合資料類型時,dtype="numeric"
也會更好地推斷資料類型。#22237 by Thomas Fan。增強
utils.check_scalar
現在在顯示類型時具有更好的訊息。#22218 by Thomas Fan。修正 變更當 y 為 None 時,由
utils.check_X_y
引發的ValidationError
錯誤訊息,使其與check_requires_y_none
估算器檢查相容。#22578 by Claudio Salvatore Arcidiacono。修正
utils.class_weight.compute_class_weight
現在只要求y
中的所有類別在class_weight
中都有權重。當y
中存在一個類別,但不在class_weight
中時,仍然會引發錯誤。#22595 by Thomas Fan。修正
utils.estimator_html_repr
對於巢狀後設估算器具有改進的可視化效果。#21310 by Thomas Fan。修正 當
include_boundaries={"left", "right"}
且未設定邊界時,utils.check_scalar
會引發錯誤。#22027 by Marie Lanternier。修正
utils.metaestimators.available_if
會正確地回傳可被封存的有界方法。#23077 by Thomas Fan。API 變更
utils.estimator_checks.check_estimator
的參數現在稱為estimator
(先前的名稱是Estimator
)。#22188 by Mathurin Massias。API 變更
utils.metaestimators.if_delegate_has_method
已被棄用,並將在 1.3 版本中移除。請改用utils.metaestimators.available_if
。#22830 by Jérémie du Boisberranger。
程式碼和文件貢獻者
感謝自 1.0 版本以來為維護和改進專案做出貢獻的所有人,包括
2357juan, Abhishek Gupta, adamgonzo, Adam Li, adijohar, Aditya Kumawat, Aditya Raghuwanshi, Aditya Singh, Adrian Trujillo Duron, Adrin Jalali, ahmadjubair33, AJ Druck, aj-white, Alan Peixinho, Alberto Mario Ceballos-Arroyo, Alek Lefebvre, Alex, Alexandr, Alexandre Gramfort, alexanmv, almeidayoel, Amanda Dsouza, Aman Sharma, Amar pratap singh, Amit, amrcode, András Simon, Andreas Grivas, Andreas Mueller, Andrew Knyazev, Andriy, Angus L’Herrou, Ankit Sharma, Anne Ducout, Arisa, Arth, arthurmello, Arturo Amor, ArturoAmor, Atharva Patil, aufarkari, Aurélien Geron, avm19, Ayan Bag, baam, Bardiya Ak, Behrouz B, Ben3940, Benjamin Bossan, Bharat Raghunathan, Bijil Subhash, bmreiniger, Brandon Truth, Brenden Kadota, Brian Sun, cdrig, Chalmer Lowe, Chiara Marmo, Chitteti Srinath Reddy, Chloe-Agathe Azencott, Christian Lorentzen, Christian Ritter, christopherlim98, Christoph T. Weidemann, Christos Aridas, Claudio Salvatore Arcidiacono, combscCode, Daniela Fernandes, darioka, Darren Nguyen, Dave Eargle, David Gilbertson, David Poznik, Dea María Léon, Dennis Osei, DessyVV, Dev514, Dimitri Papadopoulos Orfanos, Diwakar Gupta, Dr. Felix M. Riese, drskd, Emiko Sano, Emmanouil Gionanidis, EricEllwanger, Erich Schubert, Eric Larson, Eric Ndirangu, ErmolaevPA, Estefania Barreto-Ojeda, eyast, Fatima GASMI, Federico Luna, Felix Glushchenkov, fkaren27, Fortune Uwha, FPGAwesome, francoisgoupil, Frans Larsson, ftorres16, Gabor Berei, Gabor Kertesz, Gabriel Stefanini Vicente, Gabriel S Vicente, Gael Varoquaux, GAURAV CHOUDHARY, Gauthier I, genvalen, Geoffrey-Paris, Giancarlo Pablo, glennfrutiz, gpapadok, Guillaume Lemaitre, Guillermo Tomás Fernández Martín, Gustavo Oliveira, Haidar Almubarak, Hannah Bohle, Hansin Ahuja, Haoyin Xu, Haya, Helder Geovane Gomes de Lima, henrymooresc, Hideaki Imamura, Himanshu Kumar, Hind-M, hmasdev, hvassard, i-aki-y, iasoon, Inclusive Coding Bot, Ingela, iofall, Ishan Kumar, Jack Liu, Jake Cowton, jalexand3r, J Alexander, Jauhar, Jaya Surya Kommireddy, Jay Stanley, Jeff Hale, je-kr, JElfner, Jenny Vo, Jérémie du Boisberranger, Jihane, Jirka Borovec, Joel Nothman, Jon Haitz Legarreta Gorroño, Jordan Silke, Jorge Ciprián, Jorge Loayza, Joseph Chazalon, Joseph Schwartz-Messing, Jovan Stojanovic, JSchuerz, Juan Carlos Alfaro Jiménez, Juan Martin Loyola, Julien Jerphanion, katotten, Kaushik Roy Chowdhury, Ken4git, Kenneth Prabakaran, kernc, Kevin Doucet, KimAYoung, Koushik Joshi, Kranthi Sedamaki, krishna kumar, krumetoft, lesnee, Lisa Casino, Logan Thomas, Loic Esteve, Louis Wagner, LucieClair, Lucy Liu, Luiz Eduardo Amaral, Magali, MaggieChege, Mai, mandjevant, Mandy Gu, Manimaran, MarcoM, Marco Wurps, Maren Westermann, Maria Boerner, MarieS-WiMLDS, Martel Corentin, martin-kokos, mathurinm, Matías, matjansen, Matteo Francia, Maxwell, Meekail Zain, Megabyte, Mehrdad Moradizadeh, melemo2, Michael I Chen, michalkrawczyk, Micky774, milana2, millawell, Ming-Yang Ho, Mitzi, miwojc, Mizuki, mlant, Mohamed Haseeb, Mohit Sharma, Moonkyung94, mpoemsl, MrinalTyagi, Mr. Leu, msabatier, murata-yu, N, Nadirhan Şahin, Naipawat Poolsawat, NartayXD, nastegiano, nathansquan, nat-salt, Nicki Skafte Detlefsen, Nicolas Hug, Niket Jain, Nikhil Suresh, Nikita Titov, Nikolay Kondratyev, Ohad Michel, Oleksandr Husak, Olivier Grisel, partev, Patrick Ferreira, Paul, pelennor, PierreAttard, Piet Brömmel, Pieter Gijsbers, Pinky, poloso, Pramod Anantharam, puhuk, Purna Chandra Mansingh, QuadV, Rahil Parikh, Randall Boyes, randomgeek78, Raz Hoshia, Reshama Shaikh, Ricardo Ferreira, Richard Taylor, Rileran, Rishabh, Robin Thibaut, Rocco Meli, Roman Feldbauer, Roman Yurchak, Ross Barnowski, rsnegrin, Sachin Yadav, sakinaOuisrani, Sam Adam Day, Sanjay Marreddi, Sebastian Pujalte, SEELE, SELEE, Seyedsaman (Sam) Emami, ShanDeng123, Shao Yang Hong, sharmadharmpal, shaymerNaturalint, Shuangchi He, Shubhraneel Pal, siavrez, slishak, Smile, spikebh, sply88, Srinath Kailasa, Stéphane Collot, Sultan Orazbayev, Sumit Saha, Sven Eschlbeck, Sven Stehle, Swapnil Jha, Sylvain Marié, Takeshi Oura, Tamires Santana, Tenavi, teunpe, Theis Ferré Hjortkjær, Thiruvenkadam, Thomas J. Fan, t-jakubek, toastedyeast, Tom Dupré la Tour, Tom McTiernan, TONY GEORGE, Tyler Martin, Tyler Reddy, Udit Gupta, Ugo Marchand, Varun Agrawal, Venkatachalam N, Vera Komeyer, victoirelouis, Vikas Vishwakarma, Vikrant khedkar, Vladimir Chernyy, Vladimir Kim, WeijiaDu, Xiao Yuan, Yar Khine Phyo, Ying Xiong, yiyangq, Yosshi999, Yuki Koyama, Zach Deane-Mayer, Zeel B Patel, zempleni, zhenfisher, 赵丰 (Zhao Feng)