使程序只学习一次数据集

时间:2017-03-27 19:26:54

标签: python machine-learning scikit-learn

我正在制作一个基于机器学习的项目,它使用参数列表作为输入。大约有3000个这样的输入。每次执行代码时,算法都会学习数据集。

有没有办法,所以,我只运行一次学习数据集的程序,并在每次再次运行代码时使用它的参数?

2 个答案:

答案 0 :(得分:0)

这在很大程度上取决于你的框架,但我所知道的所有内容都会保存那些训练有素的权重,供你用作训练有素的模型。您需要在文档中查找您正在使用的框架。使用模型预测新数据的术语是预测推理评分

例如,在Caffe中,你使用训练有素的模型:

./build/tools/caffe test -model models/alexnet/train_val.prototxt 
    -weights alex_trained_iter_500000.caffemodel -iterations 1000

这里的关键部分是用于权重的 caffemodel 文件。

这有帮助吗?

答案 1 :(得分:0)

我认为你正在寻找的是酸洗,你可以通过做这样的事来实现这个目标

将分类器保存到磁盘(训练后)

from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl') 

加载分类器

clf = joblib.load('filename.pkl')

您可以运行一次程序,保存pickle然后从那里继续。或者每次程序运行时检查pickle文件是否存在,如果模型不存在则训练模型。

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():

参考文献:

http://scikit-learn.org/stable/modules/model_persistence.html

How do I check whether a file exists using Python?

相关问题