Cheutils 2.7.22
Full Changelog: https://github.com/chewitty/cheutils/commits/v2.7.22
- Managing properties files or project configuration, based on jproperties. The application configuration is expected to be available in a properties file named app-config.properties, which can be placed anywhere in the project root or any project subfolder.
- Convenience methods such as get_estimator() to get a handle on any configured estimator with a specified hyperparameters dictionary, get_params_grid() or get_param_defaults() relating to obtaining model hyperparameters in the app-config.properties file.
- Convenience methods for conducting hyperparameter optimization such as params_optimization(), promising_params_grid() for obtaining a set of promising hyperparameters using RandomSearchCV and a set of broadly specified or configured hyperparameters in the app-config.properties; a combination of promising_params_grid() followed by params_optimization() constitutes a coarse-to-fine search.
- Convenience methods for accessing the project tree folders - e.g., get_data_dir() for accessing the configured data and get_output_dir() for the output folders, load_dataset() for loading, save_excel() and save_csv() for savings Excel in the project output folder and CSV respectively; you can also save any plotted figure using save_current_fig() (note that this must be called before plt.show().
- Convenience methods to support common programming tasks, such as renaming or tagging file names- e.g., label(file_name, label='some_label')) or tagging and date-stamping files (e.g., datestamp(file_name, fmt='%Y-%m-%d')).
- A debug or logging, timer, and singleton decorators - for enabling logging and method timing, as well as creating singleton instances.
- Convenience methods available via the DSWrapper for managing datasource configuration or properties files - e.g. ds-config.properties - offering a set of generic datasource access methods such as apply_to_datasource() to persist data to any configured datasource or read_from_datasource() to read data from any configured datasources.
- A set of custom scikit-learn transformers for preprocessing data such as DataPrepTransformer which can be added to a data pipeline for pre-process dataset - e.g., handling date conversions, type casting of columns, clipping data, generating special features from rows of text strings, generating calculated features, masking columns, dropping correlated or potential data leakage columns, and generating target variables from other features as needed (separet from target encoding). A GeospatialTransformer for generating geohash features from latitude and longitudes; a SelectiveFunctionTransformer and SelectiveColumnTransformer for selectively transforming dataframe columns; a DateFeaturesTransformer for generating date-related features for feature engineering, and FeatureSelectionTransformer for feature selection using configured estimators such as Lasso or LinearRegression
- A set of generic or common utilities for summarizing dataframes and others - e.g., using summarize() or to winsorize using winsorize_it()
- A set of convenience properties handlers to accessing generic configured properties relating to the project tree, data preparation, or model development and execution such as ProjectTreeProperties, DataPrepProperties, and ModelProperties. These handlers offer a convenient feature for reloading properties as needed, thereby refreshing properties without having to re-start the running VM (really only useful in development). However you may access any configured properties in the usual way via the AppProperties object.
Full Changelog: https://github.com/chewitty/cheutils/commits/v2.7.22