Versions
- Version 2.1.0 [url]
In classification problems now we can use 2 different categorial class labels (e.g., "active"/"inactive").
Changing the way of selecting the 10 first initial points in Bayesian Optimization (now using Latin Hypercube Sampling)
Deleting first the most correlated features in CURATE module
Sorting the columns and rows in the csv files to ensure reproducibility
Using only KNN imputer if you have more than 100 datapoints
Fixing RFECV (each model now has its own set of descriptors after feature selection)
Fixing bug in the AQME module when using --csv_test
Changing pkg_resources to importlib.resources to avoid deprecation warnings
Fixed bug when selecting test set datapoints with the EVEN option
Fixed bug in the name of extra_q1 and extra_q5 splitting methods
Updating packages versions in setup.py
Molssi databases link in easyROB GUI
Default split is 'RND' for classification problems
The sklearn-intelex accelerator was removed
- Version 2.0.2 [url]
Fixed bug in MAC and Linux OS from the GENERATE
Updating AQME version to 1.7.3
Fixing libgfortran library to version 14.2.0
- Version 2.0.1 [url]
The AQME and EVALUATE modules are now fully functional and have been reactivated in this version.
Fixed classification with external predictions
Fixed scores from VERIFY tests in clas
Fixed bug in the detection of automatic classification problems
Fixed bug in 'load_variables' where the model type and target value were not being saved
Fixed bug in 'sort_n_load' to ensure reproducibility of sorted CV across different operating systems
- Version 2.0.0 [url]
Adaptation of the code to avoid overfitting and to use with low-data problems - Fixed a bug in one-hot encoding in the one-hot test - Adding the possibility to disable the automatic standarization of descriptors (--std False) - Changing CV_test (now it standardizes the full database with sklearn functions) - Fixing a bug with the sklearn-intelex accelerator - Fixing a threading bug with matplotlib in SHAP - train:validation split was replaced by a repeated k-fold CV - The program always holds out a test set - The average results of the repeated k-fold CV are used to measure predictive ability and to predict new results - The BayesianOptimization() is used to find the bets model, using a combined metric that depends on interpolation and extrapolation of diferent types of CVs - This version does not work with classification problems and the AQME and EVALUATE modules were disabled until v2.0.1. - Updated ROBERT score, which is more robust towards small data problems
- Version 1.3.0 [url]
Fixing a bug in the KNN imputer (it was incorrectly placing values in the target variable)
Adding a new way of splitting data (stratified) to ensure that the validation points are taken throughout the range of the target values
Fixing bug to work with spaces in descriptor names
Changing the way of selecting the best model (now using a combined error metric, not only the validation error)
Fixing bug in GENERATE when plotting the models' heatmap in case the model had infinite values
Auto_test is now done by default if the database has more than 100 datapoints
90% training size disables for datasets with less than 100 datapoints and 80% for less than 50 datapoints
Changing models paramaters to avoid overgitting in small datasets
Fixing bug (ROBERT was not reading some CSV files correctly when saved as UTF-8)
Fixed bug in the report module when the Target_values had spaces
MVL is replaced with AdaB when ROBERT assigns automated classification problems
Adding automatic checks to ensure compatible classification problems
ROBERT score is printed in the section title in the report to save space
Kmeans clustering is applied individually to the different target values in classification problems to allow for a more compensated training selection
- Version 1.2.1 [url]
NN solver are now set to 'lbfgs' by default in the MLPRegressor to work with small datasets
Thres_x is now set to 0.7 by default in the CURATE module
Fixing bug in the PREDICT module when using EVALUATE module (it was not showing the linear model equation)
Adding linear model equation in the REPORT module
Changing the threshold for correlated features in predict_utils to adjust to the new thres_x
Changing the way missing values are treated (previously filled with 0s, now using KNN imputer)
Adding .csv in --csv_test in case the user forgets to add it
Adding ROBERT score number in the REPORT module
Creating --descp_lvl to select which descriptors to use in the AQME-ROBERT workflow (interpret/denovo/full)
The AQME-ROBERT workflow now uses interpretable descriptors by default (--descp_lvl interpret)
- Version 1.2.0 [url]
Changing cross-validation (CV) in VERIFY to LOOCV for datasets with less than 50 points
Changing MAPIE in PREDICT to LOOCV for datasets with less than 50 points
By default, RFECV uses LOOCV for small datasets and 5-fold CV for larger datasets
The external test set is chosen more evenly along the range of y values (not fully random)
Changing the format of the VERIFY plot, from donut to bar plots
Automatic KN data splitting for databases with less than 250 datapoints
Change CV_test from ShuffleSplit to Kfold
Predictions from CV are now represented in a graph and stored in a CSV
Changing the ROBERT score to depend more heavily on results from CV
Fixing auto_test (now it works as specified in the documentation)
Adding clas predictions to report PDF
Adding new pytests that cover the ROBERT score section from the report PDF
Adding the EVALUATE module to evaluate linear models with user-defined descriptors and partitions
Adding Pearson heatmap in PREDICT for the two models, with individual variable correlation analysis
Adding y-distribution graphs and analysis of uniformity
Major changes to the report PDF file to include sections rather than modules
Improving explanation of the ROBERT score on Read The Docs
Printing coefficients in MVL models inside PREDICT.dat
Fixing bug in RFECV for classification problems, now it uses RandomForestClassifier()
Automatic recognition of classification problems
- Version 1.1.2 [url]
Fixing conda-forge install and making pip install the preferred installation method in ReadtheDocs
- Version 1.1.1 [url]
Hotfix of 1.1.0 in the installation
Add documentation of AQME with versions >=1.6.0, in which SMILES workflows are fully reproducible
- Version 1.1.0 [url]
Adding RFECV in CURATE to fix the maximum number of descriptors to 1/3 of datapoints
Added the possibility to use more than 1 SMILES column in the AQME module
Change the scoring criteria in the PFI workflow (from R2 to RMSE)
Fixing models where R2 in validation is much better than in training (if the validation set is very small or unrepresentative, the model may appear to perform excellently simply by chance)
Fixing PFI_plot bug (now takes all the features into account)
Fixing a bad allocation memory issue in GENERATE
Fixing bug in classification models when more than 2 classes of the target variable are present
Fixing reproducibility when using a specific seed in GENERATE module
Change CV_test from Kfold to ShuffleSplit and adding a random_state to ensure reproducibility
Allows CSV inputs that use ; as separator
Fixing CV_test bug in VERIFY (now it uses equal test size to the model tested)
Adding variability in the prediction with MAPIE python library
Adding sd in the predictions table when using external test set
Fixing error_type bug for classification models
MCC as default metric for classification models (better to check performance in unbalanced datasets)
PFI workflow now uses the same metric as error_type
- Version 1.0.5 [url]
Fixing some overfitted models with train and validation R2 0.99-1
Including the easyROB graphical user interface (GUI)
- Version 1.0.4 [url]
Fixing outlier bug for negative t-values
csv_test is treated separately from the test set from GENERATE
Table of score thresholds in ROBERT_report.pdf
Showing predictions at the end of the PREDICT section of ROBERT_report.pdf
Adding --csv_test to AQME workflows
Adding the --crest option to AQME workflows
Auto adjusting the convergence criteria and xTB accuracy of QDESCP based on number of datapoints
- Version 1.0.3 [url]
Changing default split to RND
Adding the scikit-learn-intelex accelerator (now it's compatible for scikit-learn 1.3)
Changing the thres_test default value to 0.25 (before: 0.20)
Automatic KN data splitting for databases with less than 100 datapoints
Droping 90% and 80% training sizes for small databases (less than 50 and 30 datapoints)
Better print for command lines (more reproducible commands)
Adding more information in the --help option
Introducing SCORE and REPRODUBILITY to ROBERT_report.pdf
Added the auto_test option
Fixed empty spaces in heatmaps from GENERATE
Mantain the ordering of GENERATE heatmaps across No_PFI and PFI
Added pytest to full workflows with classification and tests
Fixed " separators in command lines with options that had more than one word (i.e. --qdescp_keywords)
Fixed length of outlier names for long words
- Version 1.0.2 [url]
Adding the REPORT module
Adding the ReadTheDocs documentation
- Version 1.0.0 [url]
First estable version of the program