版本 0.21#

變更日誌圖例

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

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

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

  • 增強 各種小的改進。

  • 修復 之前無法按照文件記錄或按照合理預期運作的功能,現在應該可以運作了。

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

版本 0.21.3#

2019 年 7 月 30 日

已變更的模型#

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

  • v0.20.0 發行說明沒有提及 metrics.make_scorerneeds_proba=Truey_true 為二元時的向後不相容性。現在,評分函數應該接受 1D 的 y_pred (即正類別的機率,形狀為 (n_samples,)),而不是 2D 的 y_pred (即形狀為 (n_samples, 2))。

變更日誌#

sklearn.cluster#

sklearn.compose#

  • 修復 修復了 compose.ColumnTransformer 中的一個問題,其中使用在 :func:fit 和 :func:transform 之間欄位順序不同的 DataFrame 時,可能會默默地將不正確的欄位傳遞給 remainder 轉換器。 #14237Andreas Schuderer <schuderer> 提供。

sklearn.datasets#

sklearn.ensemble#

sklearn.impute#

sklearn.inspection#

  • 修復 修復了 inspection.plot_partial_dependence 中的一個錯誤,其中 target 參數在多類別問題中未被考慮。 #14393Guillem G. Subies 提供。

sklearn.linear_model#

sklearn.neighbors#

sklearn.tree#

  • 修正 修正了當樹只有一個特徵且傳入單個特徵名稱時,tree.export_text 中的錯誤。 #14053Thomas Fan 貢獻。

  • 修正 修正了 tree.plot_tree 中的一個問題,即使在 DecisionTreeClassifiers 中使用 gini 準則,它也會顯示熵計算。 #13947Frank Hoang 貢獻。

版本 0.21.2#

2019 年 5 月 24 日

變更日誌#

sklearn.decomposition#

sklearn.metrics#

sklearn.preprocessing#

sklearn.utils.sparsefuncs#

版本 0.21.1#

2019 年 5 月 17 日

這是一個錯誤修復版本,主要解決 0.21.0 版本中的一些封裝問題。它還包括了小的文件改進和一些錯誤修復。

變更日誌#

sklearn.inspection#

sklearn.metrics#

sklearn.neighbors#

版本 0.21.0#

2019 年 5 月

變更的模型#

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

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

(儘管我們正努力提供這些資訊來更好地通知使用者,但我們無法保證此列表是完整的。)

已知的主要錯誤#

  • 對於許多求解器來說,linear_model.LogisticRegression 的預設 max_iter 相對於預設的 tol 來說太小了。特別是,我們在 #3591 版本 0.16 中,不小心將 liblinear 求解器的預設 max_iter 從 1000 次迭代改為 100 次迭代。在未來的版本中,我們希望根據求解器,以啟發式方式選擇更好的預設 max_itertol(請參閱 #13317)。

變更日誌#

已正式放棄對 Python 3.4 和更早版本的支援。

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

sklearn.discriminant_analysis#

sklearn.dummy#

sklearn.ensemble#

sklearn.externals#

  • API 變更 已棄用 externals.six,因為我們已停止支援 Python 2.7。#12916Hanmin Qin 貢獻。

sklearn.feature_extraction#

sklearn.impute#

  • 主要功能 新增 impute.IterativeImputer,這是一種透過以循環方式將每個具有遺失值的特徵建模為其他特徵的函數來填補遺失值的策略。#8478#12177Sergey FeldmanBen Lawson 貢獻。

    IterativeImputer 的 API 仍在實驗階段,可能會在沒有任何棄用週期的情況下變更。要使用它們,您需要明確匯入 enable_iterative_imputer

    >>> from sklearn.experimental import enable_iterative_imputer  # noqa
    >>> # now you can import normally from sklearn.impute
    >>> from sklearn.impute import IterativeImputer
    
  • 功能 impute.SimpleImputerimpute.IterativeImputer 有一個新的參數 'add_indicator',它只是將 impute.MissingIndicator 轉換堆疊到 imputer 的轉換輸出中。這允許預測估計器將遺失值納入考量。#12583, #13601Danylo Baibak 貢獻。

  • 修正impute.MissingIndicator 中,如果輸入是稀疏的,且 missing_values 屬性設定為 0,則會透過引發例外狀況來避免隱式密集化。#13240Bartosz Telenczuk 貢獻。

  • 修正 修復了 impute.MissingIndicator 中的兩個錯誤。首先,當 X 是稀疏的時,所有非零的非遺失值都會在轉換後的資料中變成明確的 False。然後,當 features='missing-only' 時,如果根本沒有遺失值,則會保留所有特徵。#13562Jérémie du Boisberranger 貢獻。

sklearn.inspection#

(新的子套件)

  • 功能 Partial dependence plots (inspection.plot_partial_dependence) 現在支援任何回歸器或分類器(前提是它們具有 predict_proba 方法)。#12599Trevor StephensNicolas Hug 貢獻。

sklearn.isotonic#

sklearn.linear_model#

sklearn.manifold#

  • 效率提升 使 manifold.trustworthiness 使用反向索引,而不是使用 np.where 查詢來查找輸入空間中鄰居的排名。這提高了效率,尤其是在使用大量鄰居和/或小型數據集進行計算時。 #9907,由 William de Vazelhes 貢獻。

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multiclass#

sklearn.multioutput#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

  • 修復 修復了當 decision_function_shape='ovr' 時,svm.SVC.decision_function 中的一個問題。由於 decision_function 中使用的縮放,單獨對樣本評估,或對包含相同樣本的批次評估時,特定樣本的 decision_function 值不同。#10440Jonathan Ohayon 貢獻。

sklearn.tree#

sklearn.utils#

多個模組#

  • 主要功能 所有估計器的 __repr__() 方法(在呼叫 print(estimator) 時使用)已被完全重寫,基於 Python 的美化列印標準函式庫。 預設情況下會列印所有參數,但是可以使用 sklearn.set_config 中的 print_changed_only 選項來變更此行為。 #11705Nicolas Hug 貢獻。

  • 主要功能 新增估計器標籤:這些是對估計器的註解,允許以程式方式檢查它們的功能,例如稀疏矩陣支援、支援的輸出類型和支援的方法。 當呼叫 check_estimator 時,估計器標籤還會決定在估計器上執行的測試。 請在 使用者指南 中閱讀更多資訊。 #8022Andreas Müller 貢獻。

  • 效率 在多個估計器中將陣列轉換為不同的 dtype 時,避免了記憶體複製。 #11973Roman Yurchak 貢獻。

  • 修正 修正了 our_rand_r 輔助函式實作中的一個錯誤,該錯誤在各個平台上的行為不一致。 #13422Madhura ParikhClément Doumouro 貢獻。

其他#

  • 增強 Joblib 不再捆綁在 scikit-learn 中,而是成為一個依賴項。 最低支援版本為 joblib 0.11,但強烈建議使用 >= 0.13 版本。 #13531Roman Yurchak 貢獻。

估計器檢查的變更#

這些變更主要影響函式庫開發人員。

  • check_fit_idempotent 新增至 check_estimator,它會檢查在對相同的資料呼叫兩次 fit 時,predictpredict_probatransformdecision_function 的輸出是否沒有變更。 #12328Nicolas Hug 貢獻。

  • 現在可以使用 估計器標籤 來停用或配置許多檢查。 #8022Andreas Müller 貢獻。

程式碼和文件貢獻者

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

adanhawth, Aditya Vyas, Adrin Jalali, Agamemnon Krasoulis, Albert Thomas, Alberto Torres, Alexandre Gramfort, amourav, Andrea Navarrete, Andreas Mueller, Andrew Nystrom, assiaben, Aurélien Bellet, Bartosz Michałowski, Bartosz Telenczuk, bauks, BenjaStudio, bertrandhaut, Bharat Raghunathan, brentfagan, Bryan Woods, Cat Chenal, Cheuk Ting Ho, Chris Choe, Christos Aridas, Clément Doumouro, Cole Smith, Connossor, Corey Levinson, Dan Ellis, Dan Stine, Danylo Baibak, daten-kieker, Denis Kataev, Didi Bar-Zev, Dillon Gardner, Dmitry Mottl, Dmitry Vukolov, Dougal J. Sutherland, Dowon, drewmjohnston, Dror Atariah, Edward J Brown, Ekaterina Krivich, Elizabeth Sander, Emmanuel Arias, Eric Chang, Eric Larson, Erich Schubert, esvhd, Falak, Feda Curic, Federico Caselli, Frank Hoang, Fibinse Xavier`, Finn O’Shea, Gabriel Marzinotto, Gabriel Vacaliuc, Gabriele Calvo, Gael Varoquaux, GauravAhlawat, Giuseppe Vettigli, Greg Gandenberger, Guillaume Fournier, Guillaume Lemaitre, Gustavo De Mari Pereira, Hanmin Qin, haroldfox, hhu-luqi, Hunter McGushion, Ian Sanders, JackLangerman, Jacopo Notarstefano, jakirkham, James Bourbeau, Jan Koch, Jan S, janvanrijn, Jarrod Millman, jdethurens, jeremiedbb, JF, joaak, Joan Massich, Joel Nothman, Jonathan Ohayon, Joris Van den Bossche, josephsalmon, Jérémie Méhault, Katrin Leinweber, ken, kms15, Koen, Kossori Aruku, Krishna Sangeeth, Kuai Yu, Kulbear, Kushal Chauhan, Kyle Jackson, Lakshya KD, Leandro Hermida, Lee Yi Jie Joel, Lily Xiong, Lisa Sarah Thomas, Loic Esteve, louib, luk-f-a, maikia, mail-liam, Manimaran, Manuel López-Ibáñez, Marc Torrellas, Marco Gaido, Marco Gorelli, MarcoGorelli, marineLM, Mark Hannel, Martin Gubri, Masstran, mathurinm, Matthew Roeschke, Max Copeland, melsyt, mferrari3, Mickaël Schoentgen, Ming Li, Mitar, Mohammad Aftab, Mohammed AbdelAal, Mohammed Ibraheem, Muhammad Hassaan Rafique, mwestt, Naoya Iijima, Nicholas Smith, Nicolas Goix, Nicolas Hug, Nikolay Shebanov, Oleksandr Pavlyk, Oliver Rausch, Olivier Grisel, Orestis, Osman, Owen Flanagan, Paul Paczuski, Pavel Soriano, pavlos kallis, Pawel Sendyk, peay, Peter, Peter Cock, Peter Hausamann, Peter Marko, Pierre Glaser, pierretallotte, Pim de Haan, Piotr Szymański, Prabakaran Kumaresshan, Pradeep Reddy Raamana, Prathmesh Savale, Pulkit Maloo, Quentin Batista, Radostin Stoyanov, Raf Baluyot, Rajdeep Dua, Ramil Nugmanov, Raúl García Calvo, Rebekah Kim, Reshama Shaikh, Rohan Lekhwani, Rohan Singh, Rohan Varma, Rohit Kapoor, Roman Feldbauer, Roman Yurchak, Romuald M, Roopam Sharma, Ryan, Rüdiger Busche, Sam Waterbury, Samuel O. Ronsin, SandroCasagrande, Scott Cole, Scott Lowe, Sebastian Raschka, Shangwu Yao, Shivam Kotwalia, Shiyu Duan, smarie, Sriharsha Hatwar, Stephen Hoover, Stephen Tierney, Stéphane Couvreur, surgan12, SylvainLan, TakingItCasual, Tashay Green, thibsej, Thomas Fan, Thomas J Fan, Thomas Moreau, Tom Dupré la Tour, Tommy, Tulio Casagrande, Umar Farouk Umar, Utkarsh Upadhyay, Vinayak Mehta, Vishaal Kapoor, Vivek Kumar, Vlad Niculae, vqean3, Wenhao Zhang, William de Vazelhes, xhan, Xing Han Lu, xinyuliu12, Yaroslav Halchenko, Zach Griffith, Zach Miller, Zayd Hammoudeh, Zhuyi Xue, Zijie (ZJ) Poh, ^__^