tsfel.utils package

Submodules

tsfel.utils.add_personal_features module

tsfel.utils.add_personal_features.add_feature_json(features_path, json_path)[source]

Adds new feature to features.json.

Parameters:
  • features_path (string) – Personal Python module directory containing new features implementation.

  • json_path (string) – Personal .json file directory containing existing features from TSFEL. New customised features will be added to file in this directory.

tsfel.utils.calculate_complexity module

tsfel.utils.calculate_complexity.compute_complexity(feature, domain, json_path, **kwargs)[source]

Computes the feature complexity.

Parameters:
  • feature (string) – Feature name

  • domain (string) – Feature domain

  • json_path (json) – Features json file

  • **kwargs

  • below (See) –

    • features_path (string) –

      Directory of script with personal features

Returns:

  • int – Feature complexity

  • Writes complexity in json file

tsfel.utils.calculate_complexity.find_best_curve(t, signal)[source]

Finds the best curve.

Parameters:
  • t (nd-array) – Log space

  • signal (nd-array) – Mean execution time array

Returns:

Best fit curve name

Return type:

str

tsfel.utils.calculate_complexity.n_constant(x, no)[source]

The model function.

tsfel.utils.calculate_complexity.n_linear(x, no)[source]

The model function.

tsfel.utils.calculate_complexity.n_log(x, no)[source]

The model function.

tsfel.utils.calculate_complexity.n_nlog(x, no)[source]

The model function.

tsfel.utils.calculate_complexity.n_squared(x, no)[source]

The model function.

tsfel.utils.progress_bar module

tsfel.utils.progress_bar.display_progress_bar(iteration, total, out)[source]

Displays progress bar according to python interface.

Parameters:
  • iteration (int) – current iteration

  • total (int) – total iterations

  • out (progress bar notebook output)

tsfel.utils.progress_bar.progress_bar_notebook(iteration, total=100)[source]

Progress bar for notebooks.

Parameters:
  • iteration (int) – current iteration

  • total (int) – total iterations

Return type:

Progress bar for notebooks

tsfel.utils.progress_bar.progress_bar_terminal(iteration, total, prefix='', suffix='', decimals=0, length=100, fill='█', printend='\r')[source]

Call in a loop to create terminal progress bar.

iteration: int

current iteration

total: int

total iterations

prefix: str

prefix string

suffix: str

suffix string

decimals: int

positive number of decimals in percent complete

length: int

character length of bar

fill: str

bar fill character

printend: str

end character (e.g. “

“, ” “)

tsfel.utils.signal_processing module

tsfel.utils.signal_processing.correlated_features(features: DataFrame, threshold: float = 0.95, method: str = 'pearson', drop_correlated: bool = False) List[str] | Tuple[List[str], DataFrame][source]

Identify and optionally remove highly correlated features from a DataFrame.

This function computes the pairwise Pearson correlation of features using pandas.corr() and identifies features that have an absolute value of the correlation coefficient higher than the specified threshold. Different correlation methods supported by such as ‘pearson’, ‘spearman’, or ‘kendall’.

Deprecated since version 0.1.11: tsfel.correlated_features will be deprecated in tsfel 0.1.11 and will be removed in other upcoming releases. It will be replaced by a future DropCorrelated feature class using fit and transform logic.

Parameters:
  • features (pd.DataFrame) – A DataFrame containing the feature data.

  • threshold (float) – The correlation value for removing highly correlated features.

  • method (str) – Method to compute correlation. Must be one of {‘pearson’, ‘kendall’, ‘spearman’}

  • drop_correlated (bool:) – If True, drop the highly correlated features from the DataFrame.

Returns:

  • A list of names of highly correlated features.

  • If drop_correlated is True, a tuple containing the list of dropped feature names and the updated DataFrame with those features removed.

Return type:

Union[List[str], Tuple[List[str], pd.DataFrame]]

tsfel.utils.signal_processing.merge_time_series(data, fs_resample, time_unit)[source]

Time series data interpolation.

Parameters:
  • data (dict) – data to interpolate

  • fs_resample – resample sampling frequency

  • time_unit – time unit in seconds

Returns:

Interpolated data

Return type:

DataFrame

tsfel.utils.signal_processing.signal_window_splitter(signal, window_size, overlap=0)[source]

Splits the signal into windows.

Parameters:
  • signal (nd-array or pandas DataFrame) – input signal

  • window_size (int) – number of points of window size

  • overlap (float) – percentage of overlap, value between 0 and 1 (exclusive) Default: 0

Returns:

list of signal windows

Return type:

list

Module contents