【问题标题】:How to save an n-gram model with custom lambda analyzer?如何使用自定义 lambda 分析器保存 n-gram 模型?
【发布时间】:2020-10-19 06:15:15
【问题描述】:

我有一个 n-gram 模型,它使用由 lambda 函数定义的自定义分析器。

n=3
vect = CountVectorizer(analyzer=lambda x: (x[-i-1:] for i in range(0,min(n,len(x)))))
vect.fit(df.firstname)

我尝试使用 pickle 保存此模型,但出现以下错误:

PicklingError                             Traceback (most recent call last)
<ipython-input-123-1bf65fd467e6> in <module>()
----> 1 pickle.dump(vect, open(n_gram_pickle_file, 'wb'))

PicklingError: Can't pickle <function <lambda> at 0x7f6d3f7ae6a8>: attribute lookup <lambda> on 
__main__ failed

有人可以帮我怎么做吗?除了酸洗还有其他方法可以保存模型吗?

【问题讨论】:

标签: python machine-learning nlp pickle n-gram


【解决方案1】:

Python 不能pickle lambda 函数,这已经解释过了in this post

一个简单的解决方案是让一个适当的函数做同样的事情。

【讨论】:

    猜你喜欢
    • 2019-05-14
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 2021-02-19
    • 2020-09-28
    相关资源
    最近更新 更多