New version ETA: January 2024.
v2.16.1
February 21st, 2023Bug fixes
- Program still getting slow and unresponsive for large number of rows.
- Interface errors not updated after loading formulas from a file with the search paused.
v2.16
February 3rd, 2023Changes
- Implement dataset normalization option (Advanced > Normalize the dataset). This speeds up the search when the input values are large.
- Optimize the program for very large numbers of rows/columns. The interface should be much more responsive now and files with many columns should also load faster.
- When cross-validation is enabled, only show the corresponding points (train or test sample) in the plot.
- Reduce the minimum value of "Maximum formula size" from 10 to 1.
- Add the input file filename to the "Statistical summary" box.
- Make periodic output save immediately when the periodic output option is first set.
- Use >= instead of > for upper bound search, and <= instead of < for lower bound search.
- Stop the elapsed time counter from elapsing if the program is paused.
Bug fixes
- Make "recent files" work in the file selection dialogues.
- Fix bug where not all moving average lengths up to "Maximum history size" are used.
v2.14
November 17th, 2022Changes
- F-score: the F1-score metric has been replaced by the more general F-score metric with a customizable beta parameter. Lower values of beta favor precision over recall. Useful for stock market applications.
- log10(x) base function has been added.
- Random seed for random train/test split generation can now be manually set. When left at the default value (-1), a random seed will be used each time.
- ~30% faster performance after optimizations.
- Customizable interface size: the interface size can now be adjusted under menu > interface scale. By default, this scale is now set to 90%.
- Folder memory: the last used folders for exporting and loading files are now remembered even if the program is closed and launched again.
- Negative predictive value metric has been added to the "Solution info" box for completeness of the confusion matrix.
- Safe saving: whenever an output file is generated, it is now first saved with a _tmp extension and then renamed. This prevents the creation of partially written files in the event of power outages or crashes.
- Select/deselect all: history functions are no longer toggled on by this button and must now be toggled manually.
- macOS version: no longer requires manual dependency installations using brew. Feedback from macOS users as to whether TuringBot is working as expected would be highly appreciated.
- Input dialog: on Windows and macOS, the system dialog for selecting the input file has been replaced by a more practical internal dialog.
- Command-line improvements: it is now possible to load seed formulas from the command line with --formulas-file FILENAME and export formulas+predictions periodically with --predictions-file FILENAME.
- Python improvements: the same options above have been added to the start_process method: predictions_file=None, formulas_file=None.
Bug fixes
- Large formulas are not shown if more than 60 formulas with decreasing error are on display.
- Broken "output type" button under the "set periodic output" window on Windows 10.
v2.12
May 20th, 2022Changes
- macOS version: a native macOS version of the program is now available. Feedback from Mac users would be highly appreciated.
- Analysis tab: this new tab contains a customizable "Error vs Size" plot as well as statistical information about the input data. It replaces the old Prediction tab, which most users did not consider useful.
- Binary cross-entropy: new search metric. Solves binary classification problems in terms of probabilities between 0 and 1. To use this metric, the target variable must contain two (and only two) classes represented by the numbers 0 and 1.
- Matthews Correlation Coefficient: new search metric. Regarded to be one of the best classification metrics, it combines true positives, true negatives, false positives and false negatives into a single number between -1 and 1. See the documentation for details.
- Precision, Recall, and Sensitivity: these metrics have been added to the "Solution info" box in the main tab of the interface. They allow solutions obtained with F1 score/MCC metrics to be much better interpreted and analyzed.
- min(x, y) and max(x, y): new base formulas.
- Export data+predictions: this option has been added to the menu, allowing data and predictions to be manually exported at any time.
- Interface improvements: menus have been made more user friendly (no more overflowing menus with white space) and the interface colors have been made slightly more readable.
- Periodic output: outputs are now only saved if new solutions have been found, preventing unnecessary disk usage.
- File reading: input files are now read 30% faster.
Bug fixes
- Broken interface on the latest Ubuntu versions.
- Optimization considers y = 1e-200 to be a perfect fit when the correlation coefficient metric is used.
v2.10
February 18th, 2022Changes
- Observed vs predicted plot: you can now see your predictions as a function of the target variable by clicking on Plot x axis > Observed.
- Symlog plot: when selecting log y or log x in the "Plot scale" menu, the behavior is now to calculate the "symlog" of the data just like in Python's Matplotlib, allowing negative numbers to be visualized nicely.
- Folder memory: if you select a file in a menu, and then open that same menu later, the folder shown is now remembered.
- Update frequency: the interface now updates more frequently.
- Input file reading: now 30% faster, more robust, and with error handling: if the file is empty or unreadable, the program now shows an error message instead of crashing.
- Special characters: the program now supports reading/saving files with UTF-8 filenames (including accented characters and non-Latin alphabets like Chinese and Russian).
- Decimal places: when exporting solutions as text/Python/C or exporting data, constants are now written with more decimal places to avoid loss of accuracy.
- Error comments: when exporting solutions as Python/C, a comment is now shown above each solution with its corresponding error.
- Cross-validation error exporting: when saving solutions as text, the cross-validation error is now also saved (if cross-validation is enabled).
- Cross-validation optimization: optimizations with cross-validation enabled are now much faster, especially for large input files.
- Command-line help: running turingbot (or TuringBot.exe) with --help flag now shows a help message.
Bug fixes
- Fix bug that caused the program to randomly crash after running for several hours.
- Fix "Plot x axis" and "Plot scale" menus extending beyond the program window and looking weird.
- Fix ghost solutions appearing in the Log messages.
- Fix "Set periodic output" dialog disappearing after being closed once.
- Fix broken function declarations when exporting as C/Python in Advanced mode.
- log2(x) is now correctly read when typed into Advanced mode.
- R^2 is now 1 and not 0 for perfect fits.