-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Playlists from multiple tracks (#72)
* Enable playlists based on multiple songs This commit introduces functionality for generating playlist based on a set of songs. For good performance, I also introduce a new distance measure, extended isolation distance. While the previous distance metrics, euclidean distance and cosine distance, could be made to measure distance to a set of songs, the performance will not be as good. * Remove *_by_key family of functions Remove code duplication by making these functions generic over AsRef<Song> instead of having separate versions. * Get rid of circular dependency between playlist and song The playlist module depends on the song module, which in turn depends on the playlist module. This is confusing, and in this case also completely unecessary. * Unify distance metrics Allow euclidean distance and cosine distance to handle a set of songs as input. In doing so, we can also remove the ability to generate playlists from a single song, as that is just a special case of generating a playlist from many songs anyway. * Review comment: Improve documentation for single song use case * Add test for ForestOption as DistanceMetricBuilder. * Remove unecessary double-reference * Add missing test assertion. * Remove comment that is no longer relevant. * Fix extended isolation forest test case * Document suggestions and limitations for distance metric * cargo fmt
- Loading branch information
1 parent
9df0f12
commit 4171464
Showing
11 changed files
with
653 additions
and
642 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.