版本 0.24#
關於此版本主要重點的簡短描述,請參閱scikit-learn 0.24 的發行重點。
變更日誌圖例
主要功能 之前無法做到的重大功能。
功能 之前無法做到的功能。
效率 現有的功能現在可能不需要那麼多的運算或記憶體。
改進 各種小的改進。
修復 之前無法按照文件說明或合理預期運作的功能,現在應該可以運作了。
API 變更 您需要變更程式碼才能在未來達到相同的效果;或者未來將移除某項功能。
版本 0.24.2#
2021 年 4 月
變更日誌#
sklearn.compose
#
修復
compose.ColumnTransformer.get_feature_names
不會對具有空欄位選取的轉換器呼叫get_feature_names
。#19579,由 Thomas Fan 貢獻。
sklearn.cross_decomposition
#
修復 修復了
cross_decomposition.CCA
中的回歸。#19646,由 Thomas Fan 貢獻。修復
cross_decomposition.PLSRegression
對於恆定的 y 殘差會發出警告,而不是StopIteration
錯誤。#19922,由 Thomas Fan 貢獻。
sklearn.decomposition
#
修復 修復了
decomposition.KernelPCA
的inverse_transform
中的錯誤。#19732,由 Kei Ishikawa 貢獻。
sklearn.ensemble
#
修復 修復了
ensemble.HistGradientBoostingRegressor
fit
中使用sample_weight
參數和least_absolute_deviation
損失函數的錯誤。#19407,由 Vadim Ushtanit 貢獻。
sklearn.feature_extraction
#
修復 修復了當
feature_extraction.DictVectorizer
中的sparse=False
時,支援多個類別字串的錯誤。#19982,由 Guillaume Lemaitre 貢獻。
sklearn.gaussian_process
#
修復 在設定輸出標準差時,避免在
gaussian_process.GaussianProcessRegressor
中明確形成反共變異數矩陣。使用某些共變異數矩陣時,此反矩陣的計算是不穩定的。呼叫 Cholesky 解算器可以減輕計算中的這個問題。#19939,由 Ian Halvic 貢獻。修復 在
gaussian_process.GaussianProcessRegressor
中縮放恆定目標時,避免除以零。這是由於標準差等於 0 所造成的。現在,會偵測到這種情況,並且標準差會設為 1,以避免除以零,進而避免正規化目標中出現 NaN 值。#19703,由 @sobkevich、Boris Villazón-Terrazas 和 Alexandr Fonari 貢獻。
sklearn.linear_model
#
修復:修復了
linear_model.LogisticRegression
中的錯誤:不再修改 sample_weight 物件。#19182,由 Yosuke KOBAYASHI 貢獻。
sklearn.metrics
#
修復
metrics.top_k_accuracy_score
現在支援多類別問題,其中只有兩個類別出現在y_true
中,並且所有類別都指定在labels
中。#19721,由 Joris Clement 貢獻。
sklearn.model_selection
#
修復
model_selection.RandomizedSearchCV
和model_selection.GridSearchCV
現在可以正確顯示單一指標的分數,並且詳細程度 > 2。#19659,由 Thomas Fan 貢獻。修復
model_selection.HalvingRandomSearchCV
和model_selection.HalvingGridSearchCV
的cv_results_
屬性中的某些值沒有正確轉換為 numpy 陣列。#19211,由 Nicolas Hug 貢獻。修復 連續減半參數搜尋(
model_selection.HalvingGridSearchCV
和model_selection.HalvingRandomSearchCV
)的fit
方法現在可以正確處理groups
參數。#19847,由 Xiaoyu Chai 貢獻。
sklearn.multioutput
#
修復
multioutput.MultiOutputRegressor
現在可以與在擬合過程中動態定義predict
的估計器一起使用,例如ensemble.StackingRegressor
。 #19308,由 Thomas Fan 提供。
sklearn.preprocessing
#
修復 驗證
preprocessing.OrdinalEncoder
中的建構函式參數handle_unknown
,僅允許'error'
和'use_encoded_value'
策略。 #19234,由Guillaume Lemaitre <glemaitre>
提供。修復 修復編碼器類別具有 dtype=’S’ 的問題,影響
preprocessing.OneHotEncoder
和preprocessing.OrdinalEncoder
。#19727,由 Andrew Delong 提供。修復
preprocessing.OrdinalEncoder.transform
可以正確處理字串 dtype 的未知值。 #19888,由 Thomas Fan 提供。修復
preprocessing.OneHotEncoder.fit
不再修改drop
參數。 #19924,由 Thomas Fan 提供。
sklearn.semi_supervised
#
修復 避免在
LabelPropagation
中進行標籤傳播時出現 NaN。 #19271,由 Zhaowei Wang 提供。
sklearn.tree
#
修復 修復
tree.BaseDecisionTree
的fit
中的錯誤,該錯誤在某些情況下會導致區段錯誤。fit
現在會深層複製Criterion
物件,以防止共享的並發存取。 #19580,由 Samuel Brice 和 Alex Adamson 和 Wil Yegelwel 提供。
sklearn.utils
#
修復 透過為 HTML 表示提供 CSS ID,更好地包含
utils.estimator_html_repr
提供的 CSS。 #19417,由 Thomas Fan 提供。
版本 0.24.1#
2021 年 1 月
封裝#
由於 libomp
,0.24.0 scikit-learn wheel 無法與 MacOS <1.15 一起使用。 用於建構 wheel 的 libomp
版本對於較舊的 macOS 版本來說太新了。 此問題已在 0.24.1 scikit-learn wheel 中修復。 在 PyPI.org 上發佈的 Scikit-learn wheel 現在正式支援 macOS 10.13 和更新版本。
變更日誌#
sklearn.metrics
#
修復 修復在使用 NumPy 1.20+ 時可能在
metrics.adjusted_mutual_info_score
和metrics.mutual_info_score
中發生的數值穩定性錯誤。 #19179,由 Thomas Fan 提供。
sklearn.semi_supervised
#
修復
semi_supervised.SelfTrainingClassifier
現在接受 meta-estimator(例如ensemble.StackingClassifier
)。此估計器的驗證是在已擬合的估計器上進行的,一旦我們知道方法predict_proba
的存在。 #19126,由 Guillaume Lemaitre 提供。
版本 0.24.0#
2020 年 12 月
已變更的模型#
以下估計器和函數,當使用相同的資料和參數進行擬合時,可能會產生與先前版本不同的模型。 這通常是因為建模邏輯(錯誤修復或增強)或隨機抽樣程序中的變更而發生。
修復 當核心具有小的正特徵值時,
decomposition.KernelPCA
的行為在 32 位元和 64 位元資料之間現在更加一致。修復 透過公開
random_state
參數,decomposition.TruncatedSVD
變為確定性。修復
penalty='elasticnet'
時的linear_model.Perceptron
。修復
cluster.KMeans
中心初始化隨機抽樣程序中的變更。
詳細資訊列於下方的變更日誌中。
(雖然我們嘗試透過提供此資訊來更好地通知使用者,但我們無法保證此清單完整。)
變更日誌#
sklearn.base
#
修復 如果無法作為實例屬性檢索參數,
base.BaseEstimator.get_params
現在將會引發AttributeError
。 之前它會傳回None
。 #17448,由 Juan Carlos Alfaro Jiménez 提供。
sklearn.calibration
#
效率
calibration.CalibratedClassifierCV.fit
現在透過使用n_jobs
參數的joblib.Parallel
支援平行化。 #17107,由 Julien Jerphanion 提供。增強 允許
calibration.CalibratedClassifierCV
與預先擬合的pipeline.Pipeline
一起使用,其中資料在開始時不是類陣列、稀疏矩陣或資料框。 #17546,由 Lucy Liu 提供。增強 在
calibration.CalibratedClassifierCV
中新增ensemble
參數,此參數可讓校準透過校準器的集成(目前方法)或僅使用所有資料的一個校準器(類似於sklearn.svm
估算器中帶有probabilities=True
參數的內建功能)來實現。#17856 由 Lucy Liu 和 Andrea Esuli 貢獻。
sklearn.cluster
#
增強
cluster.AgglomerativeClustering
有一個新的參數compute_distances
。當設定為True
時,即使未使用distance_threshold
參數,也會計算群集之間的距離並將其儲存在distances_
屬性中。這個新參數對於產生樹狀圖視覺化很有用,但會引入計算和記憶體的開銷。#17984 由 Michael Riedmann、Emilie Delattre 和 Francesco Casalegno 貢獻。增強
cluster.SpectralClustering
和cluster.spectral_clustering
有一個新的關鍵字參數verbose
。當設定為True
時,將會顯示有助於除錯的額外訊息。#18052 由 Sean O. Stalley 貢獻。增強 新增
cluster.kmeans_plusplus
作為公共函式。現在可以單獨呼叫 KMeans++ 進行初始化,以產生初始群集質心。#17937 由 @g-walsh 貢獻API 變更
cluster.MiniBatchKMeans
的屬性counts_
和init_size_
已被棄用,並將在 1.1 版中移除(0.26 版的重新命名)。#17864 由 Jérémie du Boisberranger 貢獻。
sklearn.compose
#
修正
compose.ColumnTransformer
將會跳過欄位選擇器為 False 布林值列表的轉換器。#17616 由 Thomas Fan 貢獻。修正
compose.ColumnTransformer
現在會在圖表顯示中顯示剩餘部分。#18167 由 Thomas Fan 貢獻。修正
compose.ColumnTransformer
會強制執行fit
和transform
之間欄名稱的嚴格計數和順序,會引發錯誤而非警告,遵循棄用週期。#18256 由 Madhura Jayratne 貢獻。
sklearn.covariance
#
API 變更 棄用
covariance.GraphicalLassoCV
中的cv_alphas_
,改用cv_results_['alphas']
,並棄用grid_scores_
,改用cv_results_
中的分割分數。cv_alphas_
和grid_scores_
將在 1.1 版中移除(0.26 版的重新命名)。#16392 由 Thomas Fan 貢獻。
sklearn.cross_decomposition
#
修正 修正了
cross_decomposition.PLSSVD
中的一個錯誤,該錯誤有時會返回重要性順序相反的組件。#17095 由 Nicolas Hug 貢獻。修正 修正了
cross_decomposition.PLSSVD
、cross_decomposition.CCA
和cross_decomposition.PLSCanonical
中的一個錯誤,當訓練資料為單一目標時,該錯誤會導致est.transform(Y)
的預測不正確。#17095 由 Nicolas Hug 貢獻。修正 提高了
cross_decomposition.CCA
的穩定性。#18746 由 Thomas Fan 貢獻。API 變更 現在限制了
n_components
參數的範圍為
[1, min(n_samples, n_features, n_targets)]
,適用於cross_decomposition.PLSSVD
、cross_decomposition.CCA
和cross_decomposition.PLSCanonical
。為
[1, n_features]
,適用於cross_decomposition.PLSRegression
。
將會在 1.1 版中引發錯誤(0.26 版的重新命名)。#17095 由 Nicolas Hug 貢獻。
API 變更 對於
cross_decomposition.PLSSVD
、cross_decomposition.CCA
和cross_decomposition.PLSCanonical
,x_scores_
和y_scores_
屬性已被棄用,將在 1.1 版本(重新命名為 0.26)中移除。它們可以透過在訓練資料上呼叫transform
來取得。norm_y_weights
屬性也將被移除。#17095 由 Nicolas Hug 貢獻。API 變更 對於
cross_decomposition.PLSRegression
、cross_decomposition.PLSCanonical
、cross_decomposition.CCA
和cross_decomposition.PLSSVD
,x_mean_
、y_mean_
、x_std_
和y_std_
屬性已被棄用,將在 1.1 版本(重新命名為 0.26)中移除。#18768 由 Maren Westermann 貢獻。修復
decomposition.TruncatedSVD
透過使用random_state
變成確定性的。它控制底層 ARPACK 解算器的權重初始化。:pr:` #18302` 由 Gaurav Desai 和 Ivan Panico 貢獻。
sklearn.datasets
#
新功能
datasets.fetch_openml
現在會驗證下載或快取的 arff 檔案的 md5 總和檢查碼,以確保資料完整性。#14800 由 Shashank Singh 和 Joel Nothman 貢獻。增強
datasets.fetch_openml
現在允許引數as_frame
為 ‘auto’,它會嘗試將回傳的資料轉換為 pandas DataFrame,除非資料是稀疏的。#17396 由 Jiaxiang 貢獻。增強
datasets.fetch_covtype
現在支援可選引數as_frame
;當設定為 True 時,回傳的 Bunch 物件的data
和frame
成員會是 pandas DataFrames,而target
成員會是 pandas Series。#17491 由 Alex Liang 貢獻。增強
datasets.fetch_kddcup99
現在支援可選引數as_frame
;當設定為 True 時,回傳的 Bunch 物件的data
和frame
成員會是 pandas DataFrames,而target
成員會是 pandas Series。#18280 由 Alex Liang 和 Guillaume Lemaitre 貢獻。增強
datasets.fetch_20newsgroups_vectorized
現在支援透過設定as_frame=True
來載入為 pandasDataFrame
。#17499 由 Brigitta Sipőcz 和 Guillaume Lemaitre 貢獻。API 變更
datasets.fetch_openml
中as_frame
的預設值從 False 變更為 ‘auto’。#17610 由 Jiaxiang 貢獻。
sklearn.decomposition
#
API 變更 對於
decomposition.NMF
,當 'init=None' 且 n_components <= min(n_samples, n_features) 時,init
的值將在 1.1 版本(重新命名為 0.26)中從'nndsvd'
變更為'nndsvda'
。#18525 由 Chiara Marmo 貢獻。增強
decomposition.FactorAnalysis
現在支援可選引數rotation
,它可以採用None
、'varimax'
或'quartimax'
的值。#11064 由 Jona Sassenhagen 貢獻。增強
decomposition.NMF
現在支援可選參數regularization
,它可以採用None
、’components’、’transformation’ 或 ‘both’ 的值,與decomposition.NMF.non_negative_factorization
一致。#17414 由 Bharat Raghunathan 貢獻。修復 當核心具有小的正特徵值時,
decomposition.KernelPCA
的行為在 32 位元和 64 位元資料輸入之間現在更加一致。小的正特徵值在 32 位元資料中未被正確捨棄。#18149 由 Sylvain Marié 貢獻。修復 修復
decomposition.SparseCoder
,使其遵循 scikit-learn API 並支援複製。屬性components_
已在 0.24 版本中棄用,將在 1.1 版本(重新命名為 0.26)中移除。此屬性與dictionary
屬性和建構函式參數是冗餘的。#17679 由 Xavier Dupré 貢獻。修復
decomposition.TruncatedSVD.fit_transform
回傳的結果與decomposition.TruncatedSVD.fit
後接decomposition.TruncatedSVD.transform
的結果一致。#18528 由 Albert Villanova del Moral 和 Ruifeng Zheng 貢獻。
sklearn.discriminant_analysis
#
增強功能
discriminant_analysis.LinearDiscriminantAnalysis
現在可以透過設定covariance_estimator
參數來使用自訂的共變異數估計。#14446 由 Hugo Richard 貢獻。
sklearn.ensemble
#
主要功能
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
現在透過categorical_features
參數原生支援類別特徵。#18394 由 Nicolas Hug 和 Thomas Fan 貢獻。功能
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
現在支援staged_predict
方法,可監控每個階段。#16985 由 Hao Chun Chang 貢獻。效率 在
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
內部使用的樹狀節點中,打破循環參考,以便及時回收大型中間資料結構的垃圾,並改善fit
中的記憶體使用量。#18334 由 Olivier Grisel、Nicolas Hug、Thomas Fan 和 Andreas Müller 貢獻。效率 現在在
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
中平行完成直方圖初始化,這可以加速在多核心機器上建構大量節點的問題。#18341 由 Olivier Grisel、Nicolas Hug、Thomas Fan 和 Egor Smirnov 貢獻。修正 修正了
ensemble.HistGradientBoostingRegressor
和ensemble.HistGradientBoostingClassifier
中的一個錯誤,現在可以在predict
中接受uint8
dtype 的資料。#18410 由 Nicolas Hug 貢獻。API 變更
n_classes_
參數在ensemble.GradientBoostingRegressor
中已棄用,並回傳1
。#17702 由 Simona Maggio 貢獻。API 變更 平均絕對誤差 ('mae') 現在在
ensemble.GradientBoostingRegressor
和ensemble.GradientBoostingClassifier
中已棄用作為criterion
參數的選項。#18326 由 Madhura Jayaratne 貢獻。
sklearn.exceptions
#
API 變更
exceptions.ChangedBehaviorWarning
和exceptions.NonBLASDotWarning
已棄用,並將在 1.1 版中移除(重新命名為 0.26)。#17804 由 Adrin Jalali 貢獻。
sklearn.feature_extraction
#
增強功能
feature_extraction.DictVectorizer
接受一個類別特徵的多個值。#17367 由 Peng Yu 和 Chiara Marmo 貢獻。修正 如果提供了捕獲多個群組的自訂 Token 模式,
feature_extraction.text.CountVectorizer
會引發問題。#15427 由 Gangesh Gudmalwar 和 Erin R Hoffman 貢獻。
sklearn.feature_selection
#
功能 新增了
feature_selection.SequentialFeatureSelector
,它實現了前向和後向循序特徵選擇。#6545 由 Sebastian Raschka 貢獻 和 #17159 由 Nicolas Hug 貢獻。功能 在
feature_selection.RFE
、feature_selection.RFECV
和feature_selection.SelectFromModel
中新增了一個新的參數importance_getter
,允許使用者指定屬性名稱/路徑或callable
,以從估算器中提取特徵重要性。#15361 由 Venkatachalam N 貢獻。效率 透過呼叫
neighbors.KDTree
來計算最近鄰居,減少feature_selection.mutual_info_classif
和feature_selection.mutual_info_regression
的記憶體佔用量。#17878 由 Noel Rogers 貢獻。增強
feature_selection.RFE
支援將n_features_to_select
選項設定為浮點數,代表要選取的特徵百分比。#17090 由 Lisa Schwetlick 和 Marija Vlajic Wheeler 貢獻。
sklearn.gaussian_process
#
增強 在擬合高斯過程後,新增一個方法
gaussian_process.kernel._check_bounds_params
,如果超參數的邊界太緊,將會引發ConvergenceWarning
。#12638 由 Sylvain Lannuzel 貢獻。
sklearn.impute
#
功能 當
strategy='most_frequent'
或strategy='constant'
時,impute.SimpleImputer
現在支援字串列表。#17526 由 Ayako YAGI 和 Juan Carlos Alfaro Jiménez 貢獻。功能 當使用
add_indicator=True
實例化時,新增方法impute.SimpleImputer.inverse_transform
以將填補的資料還原為原始資料。#17612 由 Srimukh Sripada 貢獻。修正 將
impute.IterativeImputer
中min_value
和max_value
參數的預設值分別替換為-np.inf
和np.inf
,而不是None
。然而,由於None
已經預設為這些值,因此類別的行為不會改變。#16493 由 Darshan N 貢獻。修正
impute.IterativeImputer
將不會嘗試設定估算器的random_state
屬性,允許與更多外部類別一起使用。#15636 由 David Cortes 貢獻。效率 當
SimpleImputer
中strategy='most_frequent'
時,impute.SimpleImputer
現在使用object
dtype 陣列的速度更快。#18987 由 David Katz 貢獻。
sklearn.inspection
#
功能
inspection.partial_dependence
和inspection.plot_partial_dependence
現在支援計算和繪製 Individual Conditional Expectation (ICE) 曲線,可透過kind
參數控制。#16619 由 Madhura Jayratne 貢獻。功能 將
sample_weight
參數新增至inspection.permutation_importance
。#16906 由 Roei Kahny 貢獻。API 變更
inspection.PartialDependenceDisplay.plot
中位置引數已被棄用,將在 1.1 版 (重新命名為 0.26) 中產生錯誤。#18293 由 Thomas Fan 貢獻。
sklearn.isotonic
#
功能 公開擬合的屬性
X_thresholds_
和y_thresholds_
,其中包含isotonic.IsotonicRegression
實例的反覆運算內插閾值,以供模型檢查之用。#16289 由 Masashi Kishimoto 和 Olivier Grisel 貢獻。增強
isotonic.IsotonicRegression
現在接受具有 1 個特徵的二維陣列作為輸入陣列。#17379 由 Jiaxiang 貢獻。修正 在判斷重複的 X 值時新增容差,以防止
isotonic.IsotonicRegression
預測出無限值。#18639 由 Lucy Liu 貢獻。
sklearn.kernel_approximation
#
功能 新增類別
kernel_approximation.PolynomialCountSketch
,該類別實作多項式核特徵圖近似的張量草圖演算法。#13003 由 Daniel López Sánchez 貢獻。效率
kernel_approximation.Nystroem
現在支援透過n_jobs
引數使用joblib.Parallel
進行平行化處理。#18545 由 Laurenz Reitsam 貢獻。
sklearn.linear_model
#
功能 當
positive
設定為True
時,linear_model.LinearRegression
現在會強制所有係數為正數。#17578 由 Joseph Knox、Nelle Varoquaux 和 Chiara Marmo 貢獻。增強
linear_model.RidgeCV
現在支援透過設定alpha_per_target=True
,為每個目標分別尋找最佳正規化值alpha
。這僅在使用預設的有效率留一交叉驗證方案cv=None
時支援。#6624 由 Marijn van Vliet 貢獻。修正 修正
linear_model.TheilSenRegressor
中的錯誤,當fit_intercept=False
且擬合期間只有一個特徵時,predict
和score
會失敗。#18121 由 Thomas Fan 貢獻。修正 修正了
linear_model.ARDRegression
中的一個錯誤,當normalize=True
且return_std=True
時,predict
會引發錯誤,因為X_offset_
和X_scale_
未定義。 #18607 由 fhaselbeck 貢獻。修正 在
linear_model.Perceptron
中新增了遺失的l1_ratio
參數,當penalty='elasticnet'
時使用。這將預設值從 0 變更為 0.15。 #18622 由 Haesun Park 貢獻。
sklearn.manifold
#
效率提升 修正了 #10493。改進了局部線性嵌入 (Local Linear Embedding, LLE),當使用大型輸入時會引發
MemoryError
例外。 #17997 由 Bertrand Maisonneuve 貢獻。增強功能 在
manifold.TSNE
中新增了square_distances
參數,以便在舊有平方行為棄用期間提供回溯相容性。距離將在 1.1 版本(重新命名為 0.26)中預設平方,此參數將在 1.3 版本中移除。 #17662 由 Joshua Newton 貢獻。修正
manifold.MDS
現在可以正確設定其_pairwise
屬性。 #18278 由 Thomas Fan 貢獻。
sklearn.metrics
#
新功能 新增了
metrics.cluster.pair_confusion_matrix
,用於實作由兩個集群中成對元素產生的混淆矩陣。 #17412 由 Uwe F Mayer 貢獻。新功能 新增了度量
metrics.top_k_accuracy_score
。它是metrics.top_k_accuracy_score
的一般化版本,差別在於當真實標籤與k
個最高預測分數中的一個相關聯時,該預測即被視為正確。metrics.accuracy_score
是k = 1
的特例。 #16625 由 Geoffrey Bolmier 貢獻。新功能 新增了
metrics.det_curve
以計算偵測錯誤權衡曲線分類度量。 #10591 由 Jeremy Karnowski 和 Daniel Mohns 貢獻。新功能 新增了
metrics.plot_det_curve
和metrics.DetCurveDisplay
以簡化 DET 曲線的繪製。 #18176 由 Guillaume Lemaitre 貢獻。新功能 新增了
metrics.mean_absolute_percentage_error
度量和相關的迴歸問題評分器。 #10708,透過 PR #15007 由 Ashutosh Hathidara 修正。評分器和一些實際測試案例取自 PR #10711 由 Mohamed Ali Jamaoui 貢獻。新功能 新增了
metrics.rand_score
,用於實作(未調整的)Rand 指數。 #17412 由 Uwe F Mayer 貢獻。新功能
metrics.plot_confusion_matrix
現在支援在 matplotlib 圖表中使顏色條可選,只需設定colorbar=False
即可。 #17192 由 Avi Gupta 貢獻。增強功能 在
metrics.median_absolute_error
中新增了sample_weight
參數。 #17225 由 Lucy Liu 貢獻。增強功能 在
metrics.plot_precision_recall_curve
中新增了pos_label
參數,以指定在計算精確度和召回率統計數據時要使用的正類別。 #17569 由 Guillaume Lemaitre 貢獻。增強功能 在
metrics.plot_roc_curve
中新增了pos_label
參數,以指定在計算 roc auc 統計數據時要使用的正類別。 #17651 由 Clara Matos 貢獻。修正 修正了
metrics.classification_report
中的一個錯誤,當使用 0 長度的值呼叫output_dict=True
時,會引發 AttributeError。 #17777 由 Shubhanshu Mishra 貢獻。修正 修正了
metrics.classification_report
中的一個錯誤,當使用 0 長度的值呼叫output_dict=True
時,會引發 AttributeError。 #17777 由 Shubhanshu Mishra 貢獻。修正 修正了
metrics.jaccard_score
中的一個錯誤,當在沒有真實或預測樣本的情況下呼叫時,會推薦zero_division
參數。 #17826 由 Richard Decal 和 Joseph Willard 貢獻。修正 修正了
metrics.hinge_loss
中的一個錯誤,當y_true
遺失一些在labels
參數中明確提供的標籤時,會發生錯誤。 #17935 由 Cary Goltermann 貢獻。修正 修正了接受 pos_label 參數並從
decision_function
或predict_proba
返回的值計算其度量的評分器。先前,當 pos_label 與classifier.classes_[1]
不對應時,它們會返回錯誤的值。當直接使用字串標記的目標類別訓練分類器時,這一點尤其重要。 #18114 由 Guillaume Lemaitre 貢獻。修正 修正了
metrics.plot_confusion_matrix
中的一個錯誤,當y_true
包含分類器先前未見過的標籤,同時labels
和display_labels
參數設定為None
時,會發生錯誤。 #18405 由 Thomas J. Fan 和 Yakov Pchelintsev 貢獻。
sklearn.model_selection
#
主要功能 新增 (實驗性) 參數搜尋估算器
model_selection.HalvingRandomSearchCV
和model_selection.HalvingGridSearchCV
,它們實作了 Successive Halving 演算法,並且可以作為model_selection.RandomizedSearchCV
和model_selection.GridSearchCV
的直接替換。#13900 由 Nicolas Hug, Joel Nothman 和 Andreas Müller 貢獻。功能
model_selection.RandomizedSearchCV
和model_selection.GridSearchCV
現在具有score_samples
方法 #17478 由 Teon Brooks 和 Mohamed Maskani 貢獻。增強
model_selection.TimeSeriesSplit
有兩個新的關鍵字參數test_size
和gap
。test_size
允許為所有折疊固定樣本外時間序列的長度。gap
移除每個折疊中訓練集和測試集之間固定數量的樣本。#13204 由 Kyle Kosic 貢獻。增強
model_selection.permutation_test_score
和model_selection.validation_curve
現在接受 fit_params 以傳遞額外的估算器參數。 #18527 由 Gaurav Dhingra, Julien Jerphanion 和 Amanda Dsouza 貢獻。增強
model_selection.cross_val_score
,model_selection.cross_validate
,model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
允許估算器評分失敗,並將分數替換為error_score
。如果error_score="raise"
,則會引發錯誤。#18343 由 Guillaume Lemaitre 和 Devi Sandeep 貢獻。增強
model_selection.learning_curve
現在接受 fit_params 以傳遞額外的估算器參數。 #18595 由 Amanda Dsouza 貢獻。修正 修正當所有分佈都是列表,且
n_iter
大於唯一參數組合的數量時,model_selection.ParameterSampler
的len
錯誤。 #18222 由 Nicolas Hug 貢獻。修正 修正當
model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
的一個或多個 CV 分割產生非有限分數時,會發出警告。 #18266 由 Subrat Sahu, Nirvan 和 Arthur Book 貢獻。增強
model_selection.GridSearchCV
,model_selection.RandomizedSearchCV
和model_selection.cross_validate
支援scoring
作為可呼叫物件,返回多個指標名稱/數值關聯的字典。 #15126 由 Thomas Fan 貢獻。
sklearn.multiclass
#
增強
multiclass.OneVsOneClassifier
現在接受具有遺失值的輸入。因此,可以處理遺失值的估算器(可能是帶有插補步驟的管線)可以用作多類別包裝器的估算器。 #17987 由 Venkatachalam N 貢獻。修正 修正允許
multiclass.OutputCodeClassifier
在其fit
和predict
方法中接受稀疏輸入數據。現在,輸入有效性的檢查已委派給基礎估算器。 #17233 由 Zolisa Bleki 貢獻。
sklearn.multioutput
#
增強
multioutput.MultiOutputClassifier
和multioutput.MultiOutputRegressor
現在接受具有遺失值的輸入。因此,可以處理遺失值的估算器(可能是帶有插補步驟的管線、HistGradientBoosting 估算器)可以用作多類別包裝器的估算器。 #17987 由 Venkatachalam N 貢獻。修正 修正接受
multioutput.ClassifierChain
中order
參數的元組。 #18124 由 Gus Brocchini 和 Amanda Dsouza 貢獻。
sklearn.naive_bayes
#
增強 向
naive_bayes.CategoricalNB
添加參數min_categories
,允許指定每個特徵的最小類別數量。這允許將訓練期間未看到的類別納入考慮。#16326 由 George Armstrong 貢獻。API 變更
naive_bayes.MultinomialNB
,naive_bayes.ComplementNB
,naive_bayes.BernoulliNB
和naive_bayes.CategoricalNB
中的屬性coef_
和intercept_
現在已棄用,並將在 v1.1 (重新命名為 0.26) 中移除。#17427 由 Juan Carlos Alfaro Jiménez 貢獻。
sklearn.neighbors
#
效率提升 在
neighbors.DistanceMetric
中,當在neighbors.KNeighborsClassifier
、neighbors.KNeighborsRegressor
、neighbors.RadiusNeighborsClassifier
、neighbors.RadiusNeighborsRegressor
、metrics.pairwise_distances
中設定n_jobs>1
時,透過避免在 Cython 中意外取得 GIL,加速seuclidean
、wminkowski
、mahalanobis
和haversine
度量,並在迴圈外驗證資料。#17038 by Wenbo Zhao。效率提升
neighbors.NeighborsBase
受益於改進的algorithm = 'auto'
啟發式演算法。除了先前的規則之外,現在,當特徵數量超過 15 時,會選擇brute
,假設資料的固有維度對於基於樹狀結構的方法來說太高。#17148 by Geoffrey Bolmier。修正 當在具有不同維度點的資料陣列上擬合時,
neighbors.BinaryTree
將會引發ValueError
。#18691 by Chiara Marmo。修正 當在所有常數特徵的資料上擬合時,具有數值
shrink_threshold
的neighbors.NearestCentroid
將會引發ValueError
。#18370 by Trevor Waite。修正 在
neighbors.NearestNeighbors
、neighbors.RadiusNeighborsClassifier
、neighbors.RadiusNeighborsRegressor
和neighbors.RadiusNeighborsTransformer
的radius_neighbors
和radius_neighbors_graph
方法中,使用sort_results=True
現在即使使用「brute」演算法進行擬合也能正確排序結果。#18612 by Tom Dupre la Tour。
sklearn.neural_network
#
效率提升 神經網路的訓練和預測現在稍微快了一些。#17603, #17604, #17606, #17608, #17609, #17633, #17661, #17932 by Alex Henrie。
增強 避免在
neural_network.BernoulliRBM
中將 float32 輸入轉換為 float64。#16352 by Arthur Imbert。增強 在
neural_network.MLPClassifier
和neural_network.MLPRegressor
中支援 32 位元的計算。#17759 by Srimukh Sripada。修正 修正方法
neural_network.MLPClassifier.fit
在 warm start 時沒有迭代到max_iter
。#18269 by Norbert Preining and Guillaume Lemaitre。
sklearn.pipeline
#
增強 透過
transformer_weights
傳遞到pipeline.FeatureUnion
且不存在於transformer_list
中的轉換器參考,將會引發ValueError
。#17876 by Cary Goltermann。修正
pipeline.Pipeline
的切片現在會繼承原始 pipeline 的參數(memory
和verbose
)。#18429 by Albert Villanova del Moral 和 Paweł Biernat。
sklearn.preprocessing
#
功能
preprocessing.OneHotEncoder
現在支援將遺失值視為類別來處理。#17317 by Thomas Fan。功能 在
preprocessing.OrdinalEncoder
中新增一個帶有use_encoded_value
選項的新handle_unknown
參數,以及一個新的unknown_value
參數,以允許在轉換過程中處理未知類別並設定未知類別的編碼值。#17406 by Felix Wick 和 #18406 by Nicolas Hug。功能 在
preprocessing.MinMaxScaler
中新增clip
參數,該參數將測試資料的轉換值剪切到feature_range
。#17833 by Yashika Sharma。功能 在
preprocessing.StandardScaler
中新增sample_weight
參數。允許為每個樣本設定個別權重。#18510 和 #18447 和 #16066 和 #18682 by Maria Telenczuk 和 Albert Villanova 和 @panpiort8 和 Alex Gramfort。增強
model_selection.GridSearchCV
的詳細輸出已改善,以提高可讀性。#16935 by Raghav Rajagopalan 和 Chiara Marmo。增強 在
preprocessing.RobustScaler
中新增unit_variance
參數,此參數可調整輸出資料的尺度,使常態分佈特徵的變異數為 1。 #17193 由 Lucy Liu 和 Mabel Villalba 貢獻。增強 在
preprocessing.KBinsDiscretizer
中新增dtype
參數。 #16335 由 Arthur Imbert 貢獻。修正 當
handle_unknown='error'
和drop=None
時,若樣本被編碼為全零,則在sklearn.preprocessing.OneHotEncoder.inverse_transform
中引發錯誤。 #14982 由 Kevin Winata 貢獻。
sklearn.semi_supervised
#
主要功能 新增
semi_supervised.SelfTrainingClassifier
,這是一個元分類器,可讓任何監督式分類器作為半監督式分類器運作,並從未標記的資料中學習。 #11682 由 Oliver Rausch 和 Patrice Becker 貢獻。修正 修正當在
preprocessing.OneHotEncoder
和preprocessing.OrdinalEncoder
中使用 unicode 字串資料類型時,編碼不正確的問題。 #15763 由 Thomas Fan 貢獻。
sklearn.svm
#
增強 在
svm.SVC
、svm.NuSVC
、svm.SVR
、svm.NuSVR
、svm.OneClassSVM
的fit
、predict
和相關方法中,調用 SciPy BLAS API 進行 SVM 核心函數的計算。 #16530 由 Shuhua Fan 貢獻。
sklearn.tree
#
功能
tree.DecisionTreeRegressor
現在支援新的分割標準'poisson'
,適用於建模計數資料。 #17386 由 Christian Lorentzen 貢獻。增強
tree.plot_tree
現在使用 matplotlib 設定中的顏色。 #17187 由 Andreas Müller 貢獻。API 變更 參數
X_idx_sorted
在tree.DecisionTreeClassifier.fit
和tree.DecisionTreeRegressor.fit
中已被棄用,且無任何作用。 #17614 由 Juan Carlos Alfaro Jiménez 貢獻。
sklearn.utils
#
增強 在
check_estimator
中新增check_methods_sample_order_invariance
,此功能會檢查估算器方法在應用於具有不同樣本順序的相同資料集時是否保持不變。 #17598 由 Jason Ngo 貢獻。增強 在
utils.sparse_func.incr_mean_variance_axis
中新增權重支援。由 Maria Telenczuk 和 Alex Gramfort 貢獻。修正 在
utils.check_array
中,針對具有混合類型的稀疏 DataFrames 引發帶有清晰錯誤訊息的 ValueError。 #17992 由 Thomas J. Fan 和 Alex Shacked 貢獻。修正 檢查當 axis=1 且維度不匹配時,在
utils.sparse_func.incr_mean_variance_axis
中是否引發正確的錯誤。由 Alex Gramfort 貢獻。
其他#
程式碼和文件貢獻者
感謝自 0.23 版以來為維護和改進專案做出貢獻的所有人,包括
Abo7atm、Adam Spannbauer、Adrin Jalali、adrinjalali、Agamemnon Krasoulis、Akshay Deodhar、Albert Villanova del Moral、Alessandro Gentile、Alex Henrie、Alex Itkes、Alex Liang、Alexander Lenail、alexandracraciun、Alexandre Gramfort、alexshacked、Allan D Butler、Amanda Dsouza、amy12xx、Anand Tiwari、Anderson Nelson、Andreas Mueller、Ankit Choraria、Archana Subramaniyan、Arthur Imbert、Ashutosh Hathidara、Ashutosh Kushwaha、Atsushi Nukariya、Aura Munoz、AutoViz 和 Auto_ViML、Avi Gupta、Avinash Anakal、Ayako YAGI、barankarakus、barberogaston、beatrizsmg、Ben Mainye、Benjamin Bossan、Benjamin Pedigo、Bharat Raghunathan、Bhavika Devnani、Biprateep Dey、bmaisonn、Bo Chang、Boris Villazón-Terrazas、brigi、Brigitta Sipőcz、Bruno Charron、Byron Smith、Cary Goltermann、Cat Chenal、CeeThinwa、chaitanyamogal、Charles Patel、Chiara Marmo、Christian Kastner、Christian Lorentzen、Christoph Deil、Christos Aridas、Clara Matos、clmbst、Coelhudo、crispinlogan、Cristina Mulas、Daniel López、Daniel Mohns、darioka、Darshan N、david-cortes、Declan O’Neill、Deeksha Madan、Elizabeth DuPre、Eric Fiegel、Eric Larson、Erich Schubert、Erin Khoo、Erin R Hoffman、eschibli、Felix Wick、fhaselbeck、Forrest Koch、Francesco Casalegno、Frans Larsson、Gael Varoquaux、Gaurav Desai、Gaurav Sheni、genvalen、Geoffrey Bolmier、George Armstrong、George Kiragu、Gesa Stupperich、Ghislain Antony Vaillant、Gim Seng、Gordon Walsh、Gregory R. Lee、Guillaume Chevalier、Guillaume Lemaitre、Haesun Park、Hannah Bohle、Hao Chun Chang、Harry Scholes、Harsh Soni、Henry、Hirofumi Suzuki、Hitesh Somani、Hoda1394、Hugo Le Moine、hugorichard、indecisiveuser、Isuru Fernando、Ivan Wiryadi、j0rd1smit、Jaehyun Ahn、Jake Tae、James Hoctor、Jan Vesely、Jeevan Anand Anne、JeroenPeterBos、JHayes、Jiaxiang、Jie Zheng、Jigna Panchal、jim0421、Jin Li、Joaquin Vanschoren、Joel Nothman、Jona Sassenhagen、Jonathan、Jorge Gorbe Moya、Joseph Lucas、Joshua Newton、Juan Carlos Alfaro Jiménez、Julien Jerphanion、Justin Huber、Jérémie du Boisberranger、Kartik Chugh、Katarina Slama、kaylani2、Kendrick Cetina、Kenny Huynh、Kevin Markham、Kevin Winata、Kiril Isakov、kishimoto、Koki Nishihara、Krum Arnaudov、Kyle Kosic、Lauren Oldja、Laurenz Reitsam、Lisa Schwetlick、Louis Douge、Louis Guitton、Lucy Liu、Madhura Jayaratne、maikia、Manimaran、Manuel López-Ibáñez、Maren Westermann、Maria Telenczuk、Mariam-ke、Marijn van Vliet、Markus Löning、Martin Scheubrein、Martina G. Vilas、Martina Megasari、Mateusz Górski、mathschy、mathurinm、Matthias Bussonnier、Max Del Giudice、Michael、Milan Straka、Muoki Caleb、N. Haiat、Nadia Tahiri, Ph. D、Naoki Hamada、Neil Botelho、Nicolas Hug、Nils Werner、noelano、Norbert Preining、oj_lappi、Oleh Kozynets、Olivier Grisel、Pankaj Jindal、Pardeep Singh、Parthiv Chigurupati、Patrice Becker、Pete Green、pgithubs、Poorna Kumar、Prabakaran Kumaresshan、Probinette4、pspachtholz、pwalchessen、Qi Zhang、rachel fischoff、Rachit Toshniwal、Rafey Iqbal Rahman、Rahul Jakhar、Ram Rachum、RamyaNP、rauwuckl、Ravi Kiran Boggavarapu、Ray Bell、Reshama Shaikh、Richard Decal、Rishi Advani、Rithvik Rao、Rob Romijnders、roei、Romain Tavenard、Roman Yurchak、Ruby Werman、Ryotaro Tsukada、sadak、Saket Khandelwal、Sam、Sam Ezebunandu、Sam Kimbinyi、Sarah Brown、Saurabh Jain、Sean O. Stalley、Sergio、Shail Shah、Shane Keller、Shao Yang Hong、Shashank Singh、Shooter23、Shubhanshu Mishra、simonamaggio、Soledad Galli、Srimukh Sripada、Stephan Steinfurt、subrat93、Sunitha Selvan、Swier、Sylvain Marié、SylvainLan、t-kusanagi2、Teon L Brooks、Terence Honles、Thijs van den Berg、Thomas J Fan、Thomas J. Fan、Thomas S Benjamin、Thomas9292、Thorben Jensen、tijanajovanovic、Timo Kaufmann、tnwei、Tom Dupré la Tour、Trevor Waite、ufmayer、Umberto Lupo、Venkatachalam N、Vikas Pandey、Vinicius Rios Fuck、Violeta、watchtheblur、Wenbo Zhao、willpeppo、xavier dupré、Xethan、Xue Qianming、xun-tang、yagi-3、Yakov Pchelintsev、Yashika Sharma、Yi-Yan Ge、Yue Wu、Yutaro Ikeda、Zaccharie Ramzi、zoj613、Zhao Feng。