python储存模型时报错,cannot import name ‘joblib’ from ‘sklearn.externals’ (C:\anaconda\lib\site-packages\sklearn\externals_init_.py)

原因:

使用的anaconda 而不是自己下载的python

解决:

删除:from sklearn.externals import joblib
更改为:import joblib




-------------------------------------------------------
拓展
sklearn

Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库 [1] 。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学库NumPy和SciPy联合使用。

Joblib

Joblib是一个可以简单地将Python代码转换为并行计算模式的软件包,它可非常简单并行我们的程序,从而提高计算速度。

Joblib是一组用于在Python中提供轻量级流水线的工具。 它具有以下功能:

透明的磁盘缓存功能和“懒惰”执行模式,简单的并行计算
Joblib对numpy大型数组进行了特定的优化,简单,快速。

Joblib还具有以下功能:
快速磁盘缓存:Python函数的memoize或make-like功能,适用于任意Python对象,包括大型numpy数组。
快速压缩:替代pickle,使用joblib.dump和joblib.load可以提高大数据的读取和存储效率。

来源:https://zhuanlan.zhihu.com/p/392280022

使用
from joblib import dump, load

start = time.time()

# 文件名称
joblib_file = 'train_features.joblib'

with open(path + joblib_file, 'wb') as f:
    dump(data, f)

# 计算总时间
simple_joblib_duration = time.time() - start
print("Dump 消耗的时间: %0.3fs" % simple_joblib_duration)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐