RuleMiner v0.7.0
Breaking Changes
The breaking changes this release largely have to do with the pretty-printing of Txns
objects. There is also a new package dependency. There were no breaking changes to mining functions.
- Changed truncation behavior of
Txns
pretty-printing to truncate horizontally at item boundaries instead of potentially in the middle of an item name - Set default
Base.show(::IO, Txns)
method to beBase.show(::IO, MIME("text/plain"), Txns)
. This matches the behavior of DataFrames and means thatprintln(Txns)
will now display the pretty-printed output - Added
OhMyThreads
package dependency
Internal/Non-breaking changes
- Optimized Txns file-reading constructor helper functions.
- Use OhMyThreads channels for thread-local data storage to keep in line with best practices and prepare for Julia 1.12
- This affected the internal implementation of the
apriori
function - This affected the
fast_convert
helper function that underpins all of the tabular mining functions - This affected the
FPTree
constructor which underpins all of the FP mining functions - In my testing, I saw no significant performance differences between the old and new implementations.
- This affected the internal implementation of the
Other updates
New docs site made with DocumenterVitepress.jl
is now live! This means a big visual refresh, and I also took the time to reorganize and rewrite a bunch of the information as well. There's now an extensive quick start guide, as well as reference pages with a little more information about association rule and itemset mining themselves. Highly encourage you to check it out!
Merged pull requests:
- Bump codecov/codecov-action from 4 to 5 (#51) (@dependabot[bot])
- Txns enhancements (#54) (@JaredSchwartz)
- Move to DocumenterViteress.jl for docs (#55) (@JaredSchwartz)
- Add pretty printing format (MIME"text/plain") to println() output (#57) (@JaredSchwartz)
- Fix improper thread local storage (#58) (@JaredSchwartz)
- Rework readme (#59) (@JaredSchwartz)
Closed issues:
- Likely erroneous use of
Threads.nthreads
andThreads.threadid
(#56)