【问题标题】:How to see the progress of vectorizer.fit (sklearn)?如何查看vectorizer.fit(sklearn)的进度?
【发布时间】:2022-02-11 19:36:44
【问题描述】:

考虑以下代码:

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()
vectorizer.fit(documents)

fit 函数在有很多文档时需要很长时间才能运行(在我的例子中是 100k)。如何查看进度(即进度条或计数)?没有verbose 选项。

【问题讨论】:

标签: python scikit-learn verbose


【解决方案1】:

你是对的,没有详细的选项,但有一个可能的解决方法。

CountVectorizer 类执行一些预处理步骤,例如 strip_accents(默认情况下为无),然后是 lowercasetokenizer(默认情况下为真,因为您的情况都是如此,因为您正在使用带有默认参数的word 分析器)。

考虑到您不关心预处理步骤的进度,获取有关方法进度的信息的唯一方法是创建您自己的analyser 作为可调用,这是一个简单的函数,它可以做同样的事情,但每 10% 打印一次进度(例如)。

但是,如果您只是想要一种友好的方式来了解需要多长时间,因为 CountVectorizer 的计算时间与输入大小呈线性相关,您可以只选择数据的一小部分(随机采样),例如 10%,处理它并计时。然后您知道处理所有内容需要大约 10 倍以上的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    相关资源
    最近更新 更多