BaseProtocol.add_salvia_data
now also accepts absolute saliva sample times as argument by settingsample_times_absolute=True
.bp.protocols.plotting.saliva_plot
: removed hardcoded number of plotting colors (2) when plotting data with multiple conditions (> 2)
biopsykit.classification.model_selection.SklearnPipelinePermuter
: fixed bug that lead to the incorrect flattening of numpy arrays not due to a newer numpy version
biopsykit.classification.model_selection.SklearnPipelinePermuter
:- renamed method
best_pipeline
tobest_hyperparameter_pipeline
. WARNING: This is a breaking change! - added new method to fit classification pipelines and save intermediate results to disk
(
fit_and_save_intermediate
). - all arguments passed to
fit
andfit_and_save_intermediate
(except forX
andy
) are from now on keyword-only arguments to avoid confusion. WARNING: This is a breaking change! merge_permuter_instances
is now a class method that accepts a list ofSklearnPipelinePermuter
instances or a list of file paths as argument instead of a method that merges oneSklearnPipelinePermuter
instance with the current instance. WARNING: This is a breaking change!- added new method
update_permuter
to update anSklearnPipelinePermuter
instance with new model and parameter dictionaries that can then be used to fit new pipeline permutations.
- renamed method
- removed
biopsykit.carwatch_logs
module for processing CARWatch log data (moved to owncarwatch
package)
biopsykit.classification.model_selection.SklearnPipelinePermuter
: some bugfixes and improvements when computing additional classification metrics- additional bugfixes in other functions
- code changes after switching to ruff as new linter
biopsykit.classification.analysis
: Added functions to analyze classification resultsbiopsykit.classification.model_selection.SklearnPipelinePermuter
: Added methods to export classification metrics as latex tables, to merge to differentSklearnPipelinePermuter
instances, and to compute additional classification metrics.- various new util functions
biopsykit.classification.model_selection.SklearnPipelinePermuter
: fixing random state now works as intended and produces reproducible results for real!biopsykit.stats.StatsPipeline
: Improved behaviorbiopsykit.plotting
: Improved layout- minor bugfixes
bp.io.biopac
:wrong index name for dataframe export when setting parameter"index = None"
biopsykit.io
:- Added functions to directly load aTimeLogger files (
biopsykit.io.load_atimelogger_file
) and to convert time log files into a dictionary with start/end times (biopsykit.io.convert_time_log_dict
) - Added support for loading data acquired from the Biopac system (
biopsykit.io.biopac
)
- Added functions to directly load aTimeLogger files (
biopsykit.plotting
: Added function to conveniently plot feature pairs (biopsykit.plotting.feature_pairplot
), which is a wrapper function forseaborn.pairplot
- Adapted code to don't show pandas future warnings anymore
biopsykit.plotting.hr_ensemble_plot
: Added "is_relative" argument to style y-axis accordinglybiopsykit.stats.StatsPipeline
: Improved latex export for different effect sizesbiopsykit.io.nilspod
: Improved handling of loading NilsPods filesbiopsykit.utils.data_processing
: Added support for data dicts with tuples instead of strings as keys
- some small bugfixes
biopsykit.signals.ecg.EcgProcessor
: improved handling of errors occurring during ECG processingbiopsykit.plotting
: Improved boxplot behavior due to the use of the new light palettes offau-colors
. See theStatsPipeline & Plotting Example
for further information.
biopsykit.signals.imu.ActivityCounts
: added timezone support (PR 31)biopsykit.signals.imu.RestPeriods
: fixed bug in computing resting periods (old implementation could lead to classifying a long period of activity as the main rest period.) (PR 32)biopsykit.signals.imu.ActivityCounts
: fixed bug(s) in computing activity counts (PR 33)biopsykit.stats.StatsPipeline
: fixed bugs in LaTeX export of result tables
biopsykit.classification
:SklearnPipelinePermuter
now supports regression
- further small bugfixes
biopsykit.stats
: Added new statistic features:biopsykit.stats.multicoll
: Functions to handle multicollinearity in databiopsykit.stats.regression
: Functions for performing more "complex" regression analysis (currently: stepwise backward multiple linear regression)
biopsykit.classification
:SklearnPipelinePermuter
instances can now be saved as pickle files and imported again
_ biopsykit.utils.time
: Renamed time_to_datetime
to time_to_timedelta
(wrong function name)
biopsykit.stats.StatsPipeline
: Fixed bug of failing to generate significance brackets from within-subjects stats databiopsykit.protocols.plotting.saliva_plot
: Fixed wrong plot styling
biopsykit.plotting.feature_boxplot
: Addedlegend_title
parameterbiopsykit.classification.model_selection.nested_cv
: Train and test indices are now saved for each fold of the nested cvbiopsykit.classification.model_selection.SklearnPipelinePermuter
:- Updated "scoring" and "refit" behavior
- Added confusion matrix, true labels, predicted labels, train and test indices per fold and flattened
biopsykit.signals.imu.static_moment_detection
: Now returning an empty dataframe with correct column names when detecting no static momentsbiopsykit.classification.model_selection.SkleanPipelinePermuter
: Pipelines are now correctly sorted by their mean test scoresbiopsykit.protocols.plotting.saliva_plot
: Fixed bug when attempting to plot saliva data without sample times _biopsykit.plotting.feature_boxplots
: Updated plotting color configuration: If an alpha value smaller than 1.0 is passed, the saturation is by default set to 1.0 to still have a nice color shading despite the transparencybiopsykit.protocols.TSST
: Changed default TSST test time from 20 to 15 min
biopsykit.stats.StatsPipeline
:- added new functions
StatsPipeline.results_to_latex_table
andStatsPipeline.stats_to_latex
to convert statistical analysis results to LaTeX tables and to inline LaTeX code, respectively. - changed argument
stats_type
tostats_effect_type
.
WARNING: This is a breaking change! The use ofstats_type
is deprecated and will be removed in0.5.0
!
- added new functions
biopsykit.colors
: Removedbiopsykit.colors
module and replaced it with colors from the newfau_colors
package.
WARNING: This is a breaking change!
biopsykit.signals.imu.static_moment_detection
: end indices of static moments are inclusive instead of exclusive
biopsykit.utils.array_handling
: ifoverlap_percent
> 1 it is converted to a fraction [0.0, 1.0]
- Updated dependencies: now using scikit-learn
>=1.0
biopsykit.io.ecg
: Added functions to write a dictionary of dataframes to a series of csv files (and vice versa).biopsykit.classification.model_selection
: Model selection now also supports to perform randomized-search instead of grid-search for hyperparameter optimization of machine learning pipelines
biopsykit.questionnaires.psqi
: Fixed bug in computing Pittsburgh Sleep Quality Index (PSQI)
- further bugfixes (incorrect handling of duplicate index values) for Sleep Analyzer import data using
biopsykit.io.sleep_analyzer.load_withings_sleep_analyzer_raw_file()
- added function
biopsykit.utils.time.extract_time_from_filename()
that can parse time information from a filename - added function
biopsykit.metadata.gender_counts()
- fixed bug when importing Sleep Analyzer data using
biopsykit.io.sleep_analyzer.load_withings_sleep_analyzer_raw_file()
biopsykit.io.load_time_log()
: time log dataframes imported using this function will now have "phase" as column name
- updated the minimum version of the
pingouin
dependency to 0.5.0 because it's strongly recommended from the authors ofpingouin
(https://pingouin-stats.org/changelog.html#v0-5-0-october-2021) - switched from
doit
topoethepoet
as task runner.
- final version of BioPsyKit for submission to the Journal of Open Source Software.
- improved documentation (e.g., included Example Gallery)
biopsykit.utils.file_handling.get_subject_dirs()
: replacedglob
-style matching of regex strings byre
-style matching. This allows more flexibility when filtering for directories that match a specific pattern.biopsykit.questionnaires
:- fixed wrong implementation of ASQ (
biopsykit.questionnaires.asq
) - added modified version of the ASQ (ASQ_MOD,
biopsykit.questionnaires.asq_mod
) according to (Kramer et al., 2019)
- fixed wrong implementation of ASQ (
- implemented changes as result of JOSS submission, including:
- improved handling of example data
- improved interface for multi-test comparison in
StatsPipeline
- improved colormap handling
- new function to load dataframes in long-format (
biopsykit.io.load_long_format_csv
)
- initial commit