Skip to content

InstrumentedPCA.fit() prints repetitive logs, specifically in _build_portfolio method #28

@TheephopWS

Description

@TheephopWS

Description

InstrumentedPCA.fit() prints repetitive logs, specifically in _build_portfolio method, when called repeatedly, which clutters notebook/terminal output.

Please also support quiet=True (or verbose=False) for _build_portfolio

Reproducible Code

from ipca import InstrumentedPCA

for k in range(1, 7):
    # unrestricted
    model_u = InstrumentedPCA(n_factors=k, intercept=True)
    model_u.fit(X=X, y=y)

    # restricted
    model_r = InstrumentedPCA(n_factors=k, intercept=False)
    model_r.fit(X=X, y=y)

Current Behavior

  • fit() prints verbose _build_portfolio progress/log output each time it is called.
  • Repeated fits produce large, noisy output.

Example Outputs

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

[========================================================================] 100%
The panel dimensions are:
n_samples: 23 , L: 37 , T: 142

Environment

  • OS: Windows
  • Python: 3.12.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions