Releases: ndphillips/FFTrees
FFTrees v2.0.0
FFTrees version 2.0.0 was released on CRAN [on 2023-06-06].
This version adds functionality, improves consistency, and increases robustness.
Changes since last release:
Major changes
- Enabled conversions between tree definition formats and manipulating FFT definitions:
- tree definition and conversion functions:
get_fft_df,read_fft_df,write_fft_df,add_fft_df - tree trimming functions:
add_nodes,drop_nodes,edit_nodes,flip_exits,reorder_nodes,select_nodes
- tree definition and conversion functions:
- Growing FFTs:
- enabled
stopping.rule = "statdelta" - fixed a bug in
fftrees_grow_fan()that preventedifanalgorithm from stopping
when finding a perfect FFT (given the currentgoal.chaseparameter)
- enabled
- Handling missing inputs (
NAvalues) in data:NAvalues in categorical (i.e., character/factor/logical) predictors are treated as<NA>factor levelsNAvalues in numeric predictors are either ignored (by default) or
imputed (as the mean of the corresponding predictor) when creating and using FFTs to decide/predict (if possible)NAvalues in the criterion variable are yet to be dealt with
Minor changes
-
Added utility functions (and corresponding verification functions):
get_best_tree()retrieves the ID of the best tree in anFFTreesobject (givengoal)get_exit_type()converts a vector of exit descriptions into FFT exits (givenexit_types)get_fft_df()retrieves the tree definitions of anFFTreesobject
-
Added cost information when printing FFTs (with
print.FFTrees()). -
Improved user feedback (by making
quieta list with four options). -
Increased vocabulary for interpreting verbal FFT descriptions (using
my.tree). -
Improved documentation of included data (e.g., in
FFTrees.guide()).
Details
- Added global constants and utility functions.
- Added progress bar of cli package (removing dependency on progress).
- Added
exit_typesas global constant. - Improved data cleaning (consistent for training and test data).
- Revised documentation, vignettes, and tests.
The current development version of FFTrees is available at https://github.com/ndphillips/FFTrees.
[FFTrees version 2.0.0 was released on CRAN on 2023-06-06.]
FFTrees v1.9.0
FFTrees version 1.9.0 was released on CRAN [on 2023-02-08].
Apart from adding functionality and fixing minor bugs, this version improves consistency, robustness, and transparency.
Changes since last release:
Major changes
- Enabled optimizing for a user-defined
my.goalon cue and tree levels (as defined bymy.goal.fun). - Enabled optimizing for
dprimeon cue and tree levels (by using"dprime"asgoal.threshold,goal.chase, orgoalvalues). - Increased vocabulary for interpreting verbal FFT descriptions (using
my.tree). - Improved
summary.FFTrees()function:- Included current goal and cost values (if
"cost"occurs in goals). - Included criterion base rates (in performance statistics on train and test data).
- Included current goal and cost values (if
Minor changes
- Included
dprimevalues in cue level statistics (x$cues$thresholdsandx$cues$stats). - Included
dprimevalues in competition statistics (x$competition$trainandx$competition$test). - Improved user feedback on combinations of goal and cost values.
- Prepared for modular tree translation and editing functions (
util_gfft.R). - Prepared for global tree notation separator (
fft_node_sep). - Added decision outcome and cue costs to
asif_results(infftrees_grow_fan()).
Details
- Added verification functions (for checking integrity of objects and validity of inputs).
- Deprecated the
roundingargument ofFFTrees(). - Re-arranged arguments of key functions (
FFTrees()andfftrees_create()) by functionality. - Re-arranged and cleaned code (in main and helper functions).
- Re-defined local constants as global constants (in
util_const.R). - Revised status badges in
README. - Tweaked plotting parameters.
- Fixed bugs and revised vignettes.
The current development version of FFTrees is available at https://github.com/ndphillips/FFTrees.
FFTrees v1.8.0
FFTrees version 1.8.0 was released on CRAN [on 2023-01-06].
This version mostly extends and improves existing functionality.
Changes since last release:
Major changes
-
Enabled manually defining FFTs with
tree.definitionsor using FFTs ofobjectinFFTrees(). -
Enabled setting
goal = 'dprime'to select FFTs inFFTrees(). -
Added and improved user feedback (when
quiet = FALSE).
Minor changes
-
Plotting FFTs with
plot.FFTrees():- Show
n.per.iconlegend whenwhat = 'icontree'. - Bug fix: Removed clipping of titles and labels.
- Tweaked spacing parameters.
- Show
-
Trimmed white space from elements in tree definitions (in
fftrees_apply.R). -
Added check that cues occur in current data (in
verify_all_cues_in_data()).
Details
- Removed
anovafrom stats imports. - Replaced
expect_is()by more precise testthat inheritance functions. - Replaced crayon package by cli package.
- Revised documentation and vignettes.
- Fixed bugs and revised code to increase robustness.
The current development version of FFTrees is available at https://github.com/ndphillips/FFTrees.
FFTrees v1.7.5
FFTrees version 1.7.5 was released on CRAN [on 2022-09-15].
This version contains mostly bug fixes, but also improves and revises existing functionality.
Changes since last release:
Major changes
-
Added distinctions between FFTs that "decide" vs. "predict" by using corresponding labels in plots and verbal descriptions.
-
Improved plotting and printing FFTs (with
plot.FFTrees()andprint.FFTrees()):- Added new plotting options (e.g.,
what = 'all'vs.what = 'tree'andwhat = 'icontree'). - Added distinction in header of icon guide between FFTs that "decide" (for training data) vs. "predict" (for test data).
- Enabled applying a tree to new test data when providing a data frame as
data. - Enabled passing some graphical parameters (e.g.,
col,font,adj) to text of panel titles. - Return an invisible
FFTreesobjectx(to allow re-assigning to globalxwhen using new test data).
- Added new plotting options (e.g.,
Minor changes
-
Added
waccto measures computed for competing algorithms. -
Plotting with
plot.FFTrees():- Adjusted space for title to width of
mainargument. - Deprecated
statsargument. - Moved utility functions to
helper_plot.R.
- Adjusted space for title to width of
Details
- Revised documentation and vignettes.
- Renamed internal functions and variables.
The current development version of FFTrees is available at https://github.com/ndphillips/FFTrees.
FFTrees v1.7.0
FFTrees version 1.7.0 was released on CRAN [on 2022-08-31].
This version contains numerous bug fixes and improves or revises existing functionality.
Changes since last release:
Major changes
- Improved functionality of
print.FFTrees():- Added
dataargument to print an FFT's training performance (by default) or prediction performance (when test data is available). - Enabled setting
treeto"best.train"or"best.test"(as when plotting FFTs). - Reporting
baccorwaccin Accuracy section (andsens.w, if deviating from the default of 0.50). - Improved readability of 2x2 confusion table (by right-justifying digits).
- Moved expected cost information from Accuracy to Speed, Frugality, and Cost section.
- Added
- Fixed bugs and improved functionality of
plot.FFTrees():- Improved plot for
what = 'ROC'analogous towhat = 'cues'. - Reporting
baccorwaccin Accuracy section (andsens.wvalue, if deviating from the default of 0.50). - Fixed bug to re-enable setting
treeto"best.train"or"best.test". - Fixed bug to show correct point labels in ROC curve panel.
- Improved plot for
- Fixed bugs and improved functionality of
showcues():- Using current goal of object
xas cue ranking criterion (rather than always usingwacc). - Subtitle now shows
sens.wvalue whengoal == 'wacc'. - Cue legend now accommodates 0 <
top< 10. - Removed redundant
dataargument (asFFTreesobjects only contain cue training data). - Added
alt.goalargument (to allow ranking cue accuracies by alternative goals). - Added
quietargument (to hide feedback messages). - Added subtitle (to signal current cue accuracy ranking criterion).
- Using current goal of object
- Improved version of
summary.FFTrees():- Print tree performance summary and goal information (on the console).
- Return tree
definitionsandstats(as a list).
- Fixed a bug that forced reversals of final exits in the final node when manually creating FFTs with
my.treeorfftrees_wordstofftrees().
Minor changes
- Changed tree statistics for test data from data frames to tibbles.
- Improved feedback on missing decision labels when creating FFTs from descriptions with
my.treeorfftrees_wordstofftrees(). - Deprecated
store.dataargument inFFTrees().
Details
- Changed primary package maintainer to Hansjoerg Neth, but Nathaniel Phillips is still on board.
- Revised text, examples, and links in vignettes.
- Reduced clutter by recycling code and combining files.
- Cleanup of code and documentation.
The current development version is available at https://github.com/ndphillips/FFTrees.
v1.6.6
- Fixed bug causing
plot.FFTrees()to not display plots properly.
v1.6.5
Internal updates to get package back on CRAN
v1.6.3
1.6.3
- Additional cleanup to get package back on CRAN after failed submission on July 12, 2022
v1.6.1
plot.FFTreesno longer saves graphic params changed inpar()plot.FFTRrees: Whentest = 'best.test'and no test data are provided, the information text is no returned withmessage()rather thanprint()- Deprecation notes in
plot.FFTreesare now returned as warnings, not messages