Skip to content

Releases: ndphillips/FFTrees

FFTrees v2.0.0

06 Jun 04:24
fde1f58
Compare
Choose a tag to compare

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
  • Growing FFTs:
    • enabled stopping.rule = "statdelta"
    • fixed a bug in fftrees_grow_fan() that prevented ifan algorithm from stopping
      when finding a perfect FFT (given the current goal.chase parameter)
  • Handling missing inputs (NA values) in data:
    • NA values in categorical (i.e., character/factor/logical) predictors are treated as <NA> factor levels
    • NA values 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)
    • NA values 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 an FFTrees object (given goal)
    • get_exit_type() converts a vector of exit descriptions into FFT exits (given exit_types)
    • get_fft_df() retrieves the tree definitions of an FFTrees object
  • Added cost information when printing FFTs (with print.FFTrees()).

  • Improved user feedback (by making quiet a 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_types as 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

08 Feb 12:32
a9ba89e
Compare
Choose a tag to compare

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.goal on cue and tree levels (as defined by my.goal.fun).
  • Enabled optimizing for dprime on cue and tree levels (by using "dprime" as goal.threshold, goal.chase, or goal values).
  • 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).

Minor changes

  • Included dprime values in cue level statistics (x$cues$thresholds and x$cues$stats).
  • Included dprime values in competition statistics (x$competition$train and x$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 (in fftrees_grow_fan()).

Details

  • Added verification functions (for checking integrity of objects and validity of inputs).
  • Deprecated the rounding argument of FFTrees().
  • Re-arranged arguments of key functions (FFTrees() and fftrees_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

06 Jan 09:26
4bc0670
Compare
Choose a tag to compare

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.definitions or using FFTs of object in FFTrees().

  • Enabled setting goal = 'dprime' to select FFTs in FFTrees().

  • Added and improved user feedback (when quiet = FALSE).

Minor changes

  • Plotting FFTs with plot.FFTrees():

    • Show n.per.icon legend when what = 'icontree'.
    • Bug fix: Removed clipping of titles and labels.
    • Tweaked spacing parameters.
  • 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 anova from 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

15 Sep 09:30
60a758d
Compare
Choose a tag to compare

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() and print.FFTrees()):

    • Added new plotting options (e.g., what = 'all' vs. what = 'tree' and what = '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 FFTrees object x (to allow re-assigning to global x when using new test data).

Minor changes

  • Added wacc to measures computed for competing algorithms.

  • Plotting with plot.FFTrees():

    • Adjusted space for title to width of main argument.
    • Deprecated stats argument.
    • Moved utility functions to helper_plot.R.

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

31 Aug 11:29
0e71aea
Compare
Choose a tag to compare

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 data argument to print an FFT's training performance (by default) or prediction performance (when test data is available).
    • Enabled setting tree to "best.train" or "best.test" (as when plotting FFTs).
    • Reporting bacc or wacc in Accuracy section (and sens.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.
  • Fixed bugs and improved functionality of plot.FFTrees():
    • Improved plot for what = 'ROC' analogous to what = 'cues'.
    • Reporting bacc or wacc in Accuracy section (and sens.w value, if deviating from the default of 0.50).
    • Fixed bug to re-enable setting tree to "best.train" or "best.test".
    • Fixed bug to show correct point labels in ROC curve panel.
  • Fixed bugs and improved functionality of showcues():
    • Using current goal of object x as cue ranking criterion (rather than always using wacc).
    • Subtitle now shows sens.w value when goal == 'wacc'.
    • Cue legend now accommodates 0 < top < 10.
    • Removed redundant data argument (as FFTrees objects only contain cue training data).
    • Added alt.goal argument (to allow ranking cue accuracies by alternative goals).
    • Added quiet argument (to hide feedback messages).
    • Added subtitle (to signal current cue accuracy ranking criterion).
  • Improved version of summary.FFTrees():
    • Print tree performance summary and goal information (on the console).
    • Return tree definitions and stats (as a list).
  • Fixed a bug that forced reversals of final exits in the final node when manually creating FFTs with my.tree or fftrees_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.tree or fftrees_wordstofftrees().
  • Deprecated store.data argument in FFTrees().

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

18 Jul 11:58
Compare
Choose a tag to compare
  • Fixed bug causing plot.FFTrees() to not display plots properly.

v1.6.5

18 Jul 11:36
Compare
Choose a tag to compare

Internal updates to get package back on CRAN

v1.6.3

16 Jul 18:04
Compare
Choose a tag to compare

1.6.3

  • Additional cleanup to get package back on CRAN after failed submission on July 12, 2022

v1.6.1

24 Oct 16:26
d688578
Compare
Choose a tag to compare
  • plot.FFTrees no longer saves graphic params changed in par()
  • plot.FFTRrees: When test = 'best.test' and no test data are provided, the information text is no returned with message() rather than print()
  • Deprecation notes in plot.FFTrees are now returned as warnings, not messages