簡體   English   中英

sklearn.tree.tree 模塊在 0.22 版中已棄用,並將在 0.24 版中刪除

[英]The sklearn.tree.tree module is deprecated in version 0.22 and will be removed in version 0.24

我正在使用 scikit-learn ( https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html ) 中的 DecisionTreeClassifier 並收到以下警告:

FutureWarning:sklearn.tree.tree 模塊在 0.22 版中已棄用,並將在 0.24 版中刪除。 相應的類/函數應該從 sklearn.tree 導入。 任何不能從 sklearn.tree 導入的東西現在都是私有 API 的一部分。

我對為什么收到此警告感到有些困惑,因為我沒有在任何地方使用sklearn.tree.tree 我正在使用sklearn.tree作為警告建議,但仍然收到此警告。 事實上,我正在使用以下形式的代碼:

from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier(<params>)
tree.fit(training_data, training_labels)

根據https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html 中給出的示例代碼,但仍然收到此警告。

我已經搜索了 scikit 文檔和在線,但找不到如何根據警告中的建議內聯更新我的代碼。 有誰知道我需要更改什么來修復警告?

  • 您可以忽略棄用警告,這只是一個警告(如果您的代碼沒有引用該子包,我不會擔心,sklearn 內部的某個地方可能有一個導入。)

  • 您可以取消所有 FutureWarnings ,但是您可能會錯過另一個更重要的,在 sklearn 或其他包上。 所以我暫時忽略它。 但如果你想:

     import warnings warnings.simplefilter('ignore', FutureWarning) from sklearn.tree import ... # ... Then turn warnings back on for other packages warnings.filterwarnings('module') # or 'once', or 'always'

請參閱文檔,或如何抑制來自導入的未來警告? ,雖然很明顯你用你自己的導入語句替換了import pandas

同類問題的鏈接

這只是一個警告,目前 - 在您將 scikit/sklearn 升級到 0.24 版本之前,您需要更新您的 scikit/sklearn 版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM