模型中的某些功能可能需要一些时间才能生成,因此要快速尝试多个功能和参数,最好将这些功能和参数保存到磁盘中供以后使用。
作为一个具体的例子(取自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)
,然后只有CountVectorizer
,MultinomialNB
需要重新计算,因为参数或转换在更改之前。< / p>
这可以以某种方式实施吗?
答案 0 :(得分:1)
我在使用Pachyderm做这类事情方面取得了一些成功。它有一些类似git的cli,可以让你存储你的工作流程。在回购中,请注意ML pipeline for Iris Classification示例,其中提供了有关如何创建和保存管道的详细信息。将数据训练成他们所谓的“推理管道”#34;这将允许您尝试的各种转换并应用推断的管道训练数据。