更新时间:2022-11-25 来源:黑马程序员 浏览量:
除了pickle方法,sklearn的externals.Joblib模块同样提供了读写持久化数据对象的方法。示例如下。
from sklearn.externals import joblib # ① # 读取数据对象 sklearn_data = joblib.load('sklearn_pickle.gz') # ② print(sklearn_data) # ③ # 对象持久化 joblib.dump(sklearn_data, 'sklearn_pickle_output.gz', compress=3, protocol=4) # ④
代码①导入sklearn.externals模块。
代码②调用joblib.load方法读取sklearn_pickle.gz的文件。
代码③打印sklearn_data。
代码④调用joblib.dump方法将sklearn_data保存为sklearn_pickle_output.gz文件,同时设置压缩率为3,protocol为4。
(1)compress设置文件的压缩级别,可设置为[0,9]的整数值、布尔型或二元数组:当设置为布尔型且值为True时,默认压缩级别为3;设置为二元数组时,第1个值必须是支持压缩的格式,如zlib、gzip、bz2、lzma等,第2个值是压缩级别,压缩级别越高,压缩率越高,同时需要执行的时间越长。
(2)protocol是pickle.dump中的参数,这里与pickle.coad设置的参数是相同的调用方法,可设置为[0,4]的任意值,默认为3。该值越高,读取生成的pickle所需的Python版本就越新。
在实际应用时,sklearn.externals相对于pickle在大数据量下拥有更好的性能。NumPy数据(sklearn的默认数据格式)要优于pickle原生的持久化方法,尤其是其支持多种压缩级别和格式的设置,这将大大提高持久化的可操作空间。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19