即使给我一个折旧警告,我也可以使用.pkl文件吗?

2024-04-29 07:43:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究其他人的文档记录很差的代码(它使用tf-idf来查找文档集群),我发现:

from sklearn.externals import joblib

#joblib.dump(km,  'doc_cluster.pkl')
km = joblib.load('doc_cluster.pkl')
clusters = km.labels_.tolist()

它应该能解开医生的伤口_群集.pkl,但当我运行它时,会收到一个decivalionwarning,它说该文件是用低于0.10的joblib版本生成的,它要求我重新生成该文件。但是,我不能这样做,因为我没有创建doc_群集.pkl. 那么,向前看,无视警告,还是会把事情搞得一团糟呢?你知道吗


Tags: 文件代码from文档doctf记录集群
2条回答

弃用警告只是一个警告,加载成功。pickle文件仍在加载和支持中,至少在sklearn的这个版本中是这样(它捆绑了第三方^{} project)。未来版本的joblib可能会停止支持这种特定格式,但这还没有发生。你知道吗

只需将同一对象转储回磁盘,即可使用当前版本重新创建pickle文件:

km = joblib.load('doc_cluster.pkl')
joblib.dump(km, 'doc_cluster.pkl', compress=True)

另请参见^{} persistence documentation。你知道吗

或者,可以通过使用警告过滤器来抑制警告。您可以在^{} environment variable中使用^{} command-lne switch(我会使用字符串ignore::DeprecationWarning:sklearn.externals.joblib),或者直接使用^{} module设置过滤器:

import warnings
warnings.filterwarnings(
    "ignore", category=DeprecationWarning,
    module=r'sklearn\.externals\.joblib'
)

不推荐使用警告只是告诉您使用的代码已在包中更新,并且有更好/更有效的方法编写程序的警告。包仍然支持它,只需知道在包的未来更新中,旧函数现在可能会被支持。你知道吗

相关问题 更多 >