保存sklearn管道的部分

时间:2015-08-09 15:13:01

标签: python scikit-learn

模型中的某些功能可能需要一些时间才能生成,因此要快速尝试多个功能和参数,最好将这些功能和参数保存到磁盘中供以后使用。

作为一个具体的例子(取自here),假设我有以下管道:

pipeline = Pipeline([
  ('extract_essays', EssayExractor()),
  ('features', FeatureUnion([
    ('ngram_tf_idf', Pipeline([
      ('counts', CountVectorizer()),
      ('tf_idf', TfidfTransformer())
    ])),
    ('essay_length', LengthTransformer()),
    ('misspellings', MispellingCountTransformer())
  ])),
  ('classifier', MultinomialNB())
])

我想将CountVectorizer()更改为CountVectorizer(max_features=1000),然后只有CountVectorizerMultinomialNB需要重新计算,因为参数或转换在更改之前。< / p>

这可以以某种方式实施吗?

1 个答案:

答案 0 :(得分:1)

我在使用Pachyderm做这类事情方面取得了一些成功。它有一些类似git的cli,可以让你存储你的工作流程。在回购中,请注意ML pipeline for Iris Classification示例,其中提供了有关如何创建和保存管道的详细信息。将数据训练成他们所谓的“推理管道”#34;这将允许您尝试的各种转换并应用推断的管道训练数据。