Skip to content
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

Major revision to simplify; in particular, to remove obsfit, obspredict, obstransform #30

Merged
merged 27 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b60fc22
simplify, removing in particular, obsfit, obspredict, obstransform
ablaom May 19, 2024
d47cabe
rm redundant pkg from [extras]
ablaom May 19, 2024
f0c68d5
fix typos
ablaom May 19, 2024
3252e09
more doc tweaks
ablaom May 20, 2024
69bd859
fix table of contents for the docs
ablaom May 28, 2024
f4b0fdd
tweak
ablaom May 28, 2024
acac24f
doc tweak
ablaom May 28, 2024
3b289f5
tweak
ablaom May 28, 2024
d6c320f
whitespace fixes
ablaom May 28, 2024
54a5f9b
fix whitespace
ablaom May 28, 2024
0af5476
clarify importance of constructor over type in traits and docstrings
ablaom May 30, 2024
4b7c09c
add Expectile and Quantile target proxy types
ablaom Jun 13, 2024
82ade40
add target_observation_scitype
ablaom Sep 8, 2024
7a781a0
more doc updates
ablaom Sep 24, 2024
31c42c6
add fallbacks to reduce need to overload some convenience methods
ablaom Sep 26, 2024
79c67e3
add fallbacks to rm need for overloading predict convenience fn
ablaom Sep 26, 2024
d270229
add some forgotten files
ablaom Sep 26, 2024
6e721c8
doc updates and some small re-organziation of code
ablaom Sep 26, 2024
729e0d7
complete addition of update methods + other tweaks
ablaom Oct 1, 2024
20b4bff
rename fit.* -> fit_update.* and descriptors -> tags
ablaom Oct 1, 2024
1a92f47
tweak
ablaom Oct 1, 2024
d1f3259
teak target_observation_scitype
ablaom Oct 1, 2024
d69c5b0
purge a bunch of traits related to predict/transform input/output
ablaom Oct 1, 2024
11b38cf
rename LiteralTarget -> Point
ablaom Oct 1, 2024
8fd02c9
fix typos
ablaom Oct 2, 2024
60f8b6c
fix syntax error in test
ablaom Oct 2, 2024
e25e4e7
add julia 1.10 testing to matrix
ablaom Oct 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ jobs:
fail-fast: false
matrix:
version:
- '1.6'
- '1.6' # previous LTS release
- '1.10' # new LTS release
- '1' # automatically expands to the latest stable 1.x release of Julia.
os:
- ubuntu-latest
Expand Down Expand Up @@ -65,4 +66,4 @@ jobs:
using Documenter: DocMeta, doctest
using LearnAPI
DocMeta.setdocmeta!(LearnAPI, :DocTestSetup, :(using LearnAPI); recursive=true)
doctest(LearnAPI)'
doctest(LearnAPI)'
3 changes: 1 addition & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MLUtils = "f1d291b0-491e-4a28-83b9-f70985020b54"
Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["DataFrames", "LinearAlgebra", "MLUtils", "Serialization", "SparseArrays", "Tables", "Test"]
test = ["DataFrames", "LinearAlgebra", "MLUtils", "Serialization", "Tables", "Test"]
1 change: 1 addition & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
LearnAPI = "92ad9a40-7767-427a-9ee6-6e577f1266cb"
MLUtils = "f1d291b0-491e-4a28-83b9-f70985020b54"
ScientificTypesBase = "30f210dd-8aff-4c5f-94ba-8e64358c1161"
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
Expand Down
24 changes: 15 additions & 9 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,24 @@ const REPO = Remotes.GitHub("JuliaAI", "LearnAPI.jl")

makedocs(
modules=[LearnAPI,],
format=Documenter.HTML(prettyurls = get(ENV, "CI", nothing) == "true"),
format=Documenter.HTML(
prettyurls = get(ENV, "CI", nothing) == "true",
collapselevel = 1,
),
pages=[
"Home" => "index.md",
"Anatomy of an Implementation" => "anatomy_of_an_implementation.md",
"Reference" => "reference.md",
"Kinds of Target Proxy" => "kinds_of_target_proxy.md",
"fit" => "fit.md",
"predict, transform, and relatives" => "predict_transform.md",
"minimize" => "minimize.md",
"obs" => "obs.md",
"Accessor Functions" => "accessor_functions.md",
"Algorithm Traits" => "traits.md",
"Reference" => [
"Overview" => "reference.md",
"fit/update" => "fit_update.md",
"predict/transform" => "predict_transform.md",
"Kinds of Target Proxy" => "kinds_of_target_proxy.md",
"minimize" => "minimize.md",
"target/weights/features" => "target_weights_features.md",
"obs" => "obs.md",
"Accessor Functions" => "accessor_functions.md",
"Algorithm Traits" => "traits.md",
],
"Common Implementation Patterns" => "common_implementation_patterns.md",
"Testing an Implementation" => "testing_an_implementation.md",
],
Expand Down
9 changes: 7 additions & 2 deletions docs/src/accessor_functions.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# [Accessor Functions](@id accessor_functions)

The sole argument of an accessor function is the output, `model`, of [`fit`](@ref) or
[`obsfit`](@ref).
The sole argument of an accessor function is the output, `model`, of
[`fit`](@ref). Algorithms are free to implement any number of these, or none of them.

- [`LearnAPI.algorithm(model)`](@ref)
- [`LearnAPI.extras(model)`](@ref)
Expand All @@ -12,9 +12,13 @@ The sole argument of an accessor function is the output, `model`, of [`fit`](@re
- [`LearnAPI.feature_importances(model)`](@ref)
- [`LearnAPI.training_labels(model)`](@ref)
- [`LearnAPI.training_losses(model)`](@ref)
- [`LearnAPI.training_predictions(model)`](@ref)
- [`LearnAPI.training_scores(model)`](@ref)
- [`LearnAPI.components(model)`](@ref)

Algorithm-specific accessor functions may also be implemented. The names of all accessor
functions are included in the list returned by [`LearnAPI.functions(algorithm)`](@ref).

## Implementation guide

All new implementations must implement [`LearnAPI.algorithm`](@ref). While, all others are
Expand All @@ -33,6 +37,7 @@ LearnAPI.tree
LearnAPI.trees
LearnAPI.feature_importances
LearnAPI.training_losses
LearnAPI.training_predictions
LearnAPI.training_scores
LearnAPI.training_labels
LearnAPI.components
Expand Down
Loading
Loading