【问题标题】:Profiling custom sklearn pipeline分析自定义 sklearn 管道
【发布时间】:2020-08-04 18:39:56
【问题描述】:

我为我的项目创建了一个 sklearn 管道,其中包含两个组件,即 data_transformmodel,如下所示。

model = Pipeline([
    ('data_transform', XYZ(p1=arg1, p2=arg2)),
    ('model', LogisticRegressionCV(solver='sag', multi_class='multinomial', class_weight='balanced', max_iter=5000))])

我将 fit 方法称为model.fit(X_train, y_train)。因为,我的代码花费了很多时间,所以我想检查每个组件所花费的时间,即 data_transformmodel。有什么方法可以查到所用的时间吗?

【问题讨论】:

    标签: python scikit-learn profiling pipeline


    【解决方案1】:

    为您的Pipeline 设置verbose=True,当应用 fit 方法时,您将看到管道的每个步骤所花费的时间。

    方法如下:

    model = Pipeline(steps=[
        ('data_transform', XYZ(p1=arg1, p2=arg2)),
        ('model', LogisticRegressionCV(solver='sag', multi_class='multinomial', class_weight='balanced', max_iter=5000))],
                     verbose=True)
    

    当你这样做时:

    model.fit(your_data)
    

    你会看到类似的输出(我在这里粘贴我的管道输出)

    【讨论】:

    • 有趣。如果可行,我将检查并标记接受:)
    猜你喜欢
    • 2021-12-20
    • 2015-09-24
    • 2018-01-02
    • 2020-11-30
    • 2019-10-26
    • 2021-06-12
    • 2016-07-06
    • 2018-03-18
    • 1970-01-01
    相关资源
    最近更新 更多