Logger
Logging transformer, writes data to logging, and otherwise leaves it unchanged.
In methods, logs X and y to logger. The logger can us as logger_backend a python logging instance, primarily for printing, with data logged as extra, or a custom DataLog instance to retrieve full objects and not just printouts.
Quickstart
from sktime.transformations.compose import Logger
estimator = Logger(logger='sktime', logger_backend='logging', log_methods='all', level=None, log_fitted_params=False)Tags
Capabilities
- Multivariate
- Inverse transform: Supported
- Missing values
- Unequal-length series
- Removes missing values: Not supported
- Equalizes series length: Not supported
Properties
- Input typescitype:transform-input
- Series
- Output typescitype:transform-output
- Series
- Label typescitype:transform-labels
- None
- Fit is emptyfit_is_empty
- No
- Keeps the time indextransform-returns-same-time-index
- Yes
- Requires Xrequires_X
- Yes
- Requires yrequires_y
- No
- X and y need the same indexX-y-must-have-same-index
- No
Parameters(5)
- loggerstr optional, default=”sktime”
logger name to use, passed to
logger_backendto identify the unique logger instance referenced byget_logger.- logger_backendstr, one of “logging” (default), “datalog”
Backend to use for logging.
“logging”: uses the standard Python logging module, logs to
logging.getLogger(logger)“datalog”: uses a multiton logger class for easy retrieval of data, logs to
DataLog(logger), withDataLogfrom thetransformations.composemodule.
In either case, a reference to the logger can be retrieved by calling
obj.get_logger, whereobjis an instance ofLogger.- log_methodsstr or list of str, default=``”transform”``
if
"all", will logfit,transform,inverse_transform; if str or list of str, all strings must be from among the above, and will log exactly the methods that are passed as str; can also be"off""to disable logging entirely.- levellogging level, optional, default=logging.INFO
logging level, one of
logging.INFO,logging.DEBUG,logging.WARNING,logging.ERROR- log_fitted_paramsbool, optional, default=False
if True, will also write
Xandyseen infittoselfasX_andy_, these can be retrieved by callingget_fitted_params. If False,get_fitted_paramswill return an empty dict.
Examples
>>> from sktime.transformations.compose import DataLog, Logger
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.naive import NaiveForecaster
>>> from sktime.transformations.detrend import Detrender
>>>
>>> # create a logger
>>> logger = Logger (logger = "foo", log_methods = "all", logger_backend = "datalog")
>>> # create a pipeline that logs after detrending and before forecasting
>>> pipe = Detrender () * logger * NaiveForecaster (sp = 12)
>>> pipe. fit (load_airline (), fh = [1, 2, 3 ]) TransformedTargetForecaster(
... )
>>> # get the log
>>> log = DataLog ("foo"). get_log ()