簡體   English   中英

如何將分類器升級到最新版本的 scikit-learn

[英]How to upgrade the classifier to the latest version of scikit-learn

我有一個訓練有素的大 TfidfVectorizer 傾倒了joblib.dump 它是在我的筆記本電腦上使用 scikit-learn 0.18 版創建的。 當我嘗試將它放到安裝了最新版本 scikit-learn 0.18.1 的服務器上時,我收到以下警告:

/usr/local/lib/python2.7/dist-packages/sklearn/base.py:315: UserWarning: Trying to unpickle estimator TfidfTransformer from version 0.18 when using version 0.18.1. This might lead to breaking code or invalid results. Use at your own risk.
  UserWarning)
/usr/local/lib/python2.7/dist-packages/sklearn/base.py:315: UserWarning: Trying to unpickle estimator TfidfVectorizer from version 0.18 when using version 0.18.1. This might lead to breaking code or invalid results. Use at your own risk.
  UserWarning) 

有沒有一種自然的方法來升級我的 TfidfVectorizer 以防止出現任何問題?

我應該更好地卸載 scikit-learn 0.18.1 並將 0.18 版安裝到服務器上嗎?

是的,您應該在您的服務器上安裝與開發相同的版本,最佳實踐是使用requirements.txt來滿足您項目的所有要求,並使用condavirtualenv在您的服務器上安裝一個新環境,這將為您節省手動設置這些東西的問題。

鏈接為您提供有關如何升級的說明。

pip install -U scikit-learn

上面的命令應該將您當前版本的 scikit 升級到最新版本。 根據您使用 tfidf 向量化器的操作,您可能會或可能不會遇到問題; 我建議保持更新與新版本。 因此,最好確保您的服務器和計算機都運行最新的 sci-kit。

您應該能夠通過首先將 sklearn 更新到最新版本,然后使用 joblib.load 加載腌制對象並使用 joblib.dump 將其轉儲來規避此問題。 完成此操作后,我不再收到警告。

只需卸載並重新安裝最新的 Scikit(或升級到最新版本)。 然后再次訓練模型,這將生成一個新的 joblib 模型。 這肯定會奏效。

您應該安裝您的項目使用的 scikit 版本。

首先卸載scikit:

pip uninstall scikit-learn

然后安裝正確的版本:

pip install -v scikit-learn==0.18

暫無
暫無

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

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