-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorganize codebase #130
Reorganize codebase #130
Conversation
@joshday I know this PR has a lot of changes to review, but I appreciate if you can take a quick look at it before we can proceed with additional improvements. Below I summarize the changes in a high level language so that you don't waste too much time reading the code. I can guarantee that the tests are passing locally as before, and that this is mainly a reorganization of the source code. ReorganizationPreviously the source file My changes consisted of splitting this file into various small files of digestible size for the different aggregation modes. I've also eliminated docstrings that were repeated for different methods of the same function. The plan is to move these docstrings to the LearnBase.jl interface package. Upcoming changesThis present PR is self-contained. After it is merged I have a few more changes planned in LearnBase.jl according to JuliaML/LearnBase.jl#35 before I can keep working in LossFunctions.jl I've started reorganizing LearnBase.jl to facilitate future contributions. The new codebase will be split into small files for different concepts. In this case, I've already created a file for the
|
The documentation failure can be fixed by removing |
Thanks, will take a look at it today. Basically I need to update Manifest.toml to look at the parent folder in dev version ( |
This PR is finally ready after a great amount of refactoring in LearnBase.jl and here. There are a number of code simplifications that I would like to share with you before we proceed and merge. Improvements
Breaking
Other functions that could perhaps be deprecated are the mutating versions I've also updated the documentation to reflect the latest version of the code. In order to build it successfully, you need to get the master version of LearnBase.jl from inside the docs folder: ] add LearnBase#master
] instantiate
include("make.jl") Appreciate if you can take a second look at this PR. The plan is to merge it by the end of the weekend. Meanwhile I will be working on adding support for CategoricalArrays.jl, which is the last item necessary for this paper I am working on. |
This PR moves source code around to improve the organization of concepts in the package. This exercise has already helped me understand various points of improvement such as the implementation of meta losses "scaled", "ordinal" and "weightedbinary".
There is a single breaking change here, which is the removal of the
OrdinalHingeLoss
type alias. I don't think we should export this specific combination. Users can still constructOrdinalMarginLoss{HingeLoss}
like with other losses.