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

Version 0.4.4 #81

Merged
merged 2 commits into from
Jan 2, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
78 changes: 44 additions & 34 deletions Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,37 @@ git-tree-sha1 = "e214a9b9bd1b4e1b4f15b22c0994862b66af7ff7"
uuid = "68821587-b530-5797-8361-c406ea357684"
version = "3.5.0+3"

[[Artifacts]]
deps = ["Pkg"]
git-tree-sha1 = "c30985d8821e0cd73870b17b0ed0ce6dc44cb744"
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
version = "1.3.0"

[[Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

[[Compat]]
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
git-tree-sha1 = "0198d18b28c093bef39872a22f1a897218a925f5"
git-tree-sha1 = "919c7f3151e79ff196add81d7f4e45d91bbf420b"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "3.8.0"
version = "3.25.0"

[[CompilerSupportLibraries_jll]]
deps = ["Libdl", "Pkg"]
git-tree-sha1 = "7c4f882c41faa72118841185afc58a2eb00ef612"
deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
git-tree-sha1 = "8e695f735fca77e9708e795eda62afdb869cbb70"
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
version = "0.3.3+0"
version = "0.3.4+0"

[[DataAPI]]
git-tree-sha1 = "674b67f344687a88310213ddfa8a2b3c76cc4252"
git-tree-sha1 = "ad84f52c0b8f05aa20839484dbaf01690b41ff84"
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
version = "1.1.0"
version = "1.4.0"

[[DataStructures]]
deps = ["InteractiveUtils", "OrderedCollections"]
git-tree-sha1 = "73eb18320fe3ba58790c8b8f6f89420f0a622773"
git-tree-sha1 = "88d48e133e6d3dd68183309877eac74393daa7eb"
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
version = "0.17.11"
version = "0.17.20"

[[Dates]]
deps = ["Printf"]
Expand All @@ -58,20 +64,25 @@ version = "0.22.6"

[[FillArrays]]
deps = ["LinearAlgebra", "Random", "SparseArrays"]
git-tree-sha1 = "3eb5253af6186eada40de3df524a1c10f0c6bfa2"
git-tree-sha1 = "4863cbb7910079369e258dee4add9d06ead5063a"
uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
version = "0.8.6"
version = "0.8.14"

[[GLMNet]]
deps = ["Distributed", "Distributions", "Printf", "Random", "SparseArrays", "StatsBase", "glmnet_jll"]
git-tree-sha1 = "bd82e0cc37f5061d1ce29a8376a774fba759cd68"
git-tree-sha1 = "7b2fd9b16e415f721d72b56f8b057e6919414762"
uuid = "8d5ece8b-de18-5317-b113-243142960cc6"
version = "0.5.1"
version = "0.5.2"

[[InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"

[[JLLWrappers]]
git-tree-sha1 = "04b49c556240b62d5a799e94c63d5fc14d3c07cd"
uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
version = "1.1.4"

[[LIBLINEAR]]
deps = ["DelimitedFiles", "Libdl", "SparseArrays", "Test"]
git-tree-sha1 = "42cacc29d9b4ae77b6702c181bbfa58f14d8ef7a"
Expand Down Expand Up @@ -104,30 +115,29 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"

[[Missings]]
deps = ["DataAPI"]
git-tree-sha1 = "de0a5ce9e5289f27df672ffabef4d1e5861247d5"
git-tree-sha1 = "ed61674a0864832495ffe0a7e889c0da76b0f4c8"
uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
version = "0.4.3"
version = "0.4.4"

[[Mmap]]
uuid = "a63ad114-7e13-5084-954f-fe012c677804"

[[OpenBLAS_jll]]
deps = ["Libdl", "Pkg"]
git-tree-sha1 = "72163ef83570d258af87ed91f301c5b51a5e08e9"
deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
git-tree-sha1 = "0c922fd9634e358622e333fc58de61f05a048492"
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
version = "0.3.9+0"
version = "0.3.9+5"

[[OpenSpecFun_jll]]
deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
git-tree-sha1 = "d51c416559217d974a1113522d5919235ae67a87"
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"]
git-tree-sha1 = "9db77584158d0ab52307f8c04f8e7c08ca76b5b3"
uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
version = "0.5.3+3"
version = "0.5.3+4"

[[OrderedCollections]]
deps = ["Random", "Serialization", "Test"]
git-tree-sha1 = "c4c13474d23c60d20a67b217f1d7f22a40edf8f1"
git-tree-sha1 = "cf59cfed2e2c12e8a2ff0a4f1e9b2cd8650da6db"
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
version = "1.1.0"
version = "1.3.2"

[[PDMats]]
deps = ["Arpack", "LinearAlgebra", "SparseArrays", "SuiteSparse", "Test"]
Expand All @@ -141,19 +151,19 @@ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

[[PosDefManifold]]
deps = ["LinearAlgebra", "Statistics"]
git-tree-sha1 = "47e697630cb91f4e27faab613361d67f47d4a5fd"
git-tree-sha1 = "9d2e1da251012e519228a386a39fe2aa32eee12e"
uuid = "f45a3650-5c51-11e9-1e9a-133aa5e309cf"
version = "0.4.7"
version = "0.4.8"

[[Printf]]
deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"

[[QuadGK]]
deps = ["DataStructures", "LinearAlgebra"]
git-tree-sha1 = "dc84e810393cfc6294248c9032a9cdacc14a3db4"
git-tree-sha1 = "12fbe86da16df6679be7521dfb39fbc861e1dc7b"
uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
version = "2.3.1"
version = "2.4.1"

[[REPL]]
deps = ["InteractiveUtils", "Markdown", "Sockets"]
Expand All @@ -171,9 +181,9 @@ version = "0.6.1"

[[Rmath_jll]]
deps = ["Libdl", "Pkg"]
git-tree-sha1 = "1660f8fefbf5ab9c67560513131d4e933012fc4b"
git-tree-sha1 = "d76185aa1f421306dec73c057aa384bad74188f0"
uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f"
version = "0.2.2+0"
version = "0.2.2+1"

[[SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
Expand Down Expand Up @@ -206,9 +216,9 @@ uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[[SpecialFunctions]]
deps = ["OpenSpecFun_jll"]
git-tree-sha1 = "e19b98acb182567bcb7b75bb5d9eedf3a3b5ec6c"
git-tree-sha1 = "d8d8b8a9f4119829410ecd706da4cc8594a1e020"
uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
version = "0.10.0"
version = "0.10.3"

[[Statistics]]
deps = ["LinearAlgebra", "SparseArrays"]
Expand All @@ -222,9 +232,9 @@ version = "0.32.2"

[[StatsFuns]]
deps = ["Rmath", "SpecialFunctions"]
git-tree-sha1 = "f290ddd5fdedeadd10e961eb3f4d3340f09d030a"
git-tree-sha1 = "3b9f665c70712af3264b61c27a7e1d62055dafd1"
uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
version = "0.9.4"
version = "0.9.6"

[[SuiteSparse]]
deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
Expand Down
10 changes: 5 additions & 5 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "PosDefManifoldML"
uuid = "a07f4532-e2c9-11e9-2ea2-6d98fe4a1f21"
authors = ["Marco-Congedo <marco.congedo@gmail.com>"]
version = "0.4.3"
version = "0.4.4"

[deps]
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
Expand All @@ -15,11 +15,11 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"

[compat]
Distributions = "0.22"
Distributions = "0.22.6"
GLMNet = "0.5.2"
LIBSVM = "0.4.0"
PosDefManifold = "0.4.7"
StatsBase = "0.32"
GLMNet = "0.5.1"
PosDefManifold = "0.4.8"
StatsBase = "0.32.2"
julia = "1"

[extras]
Expand Down
26 changes: 16 additions & 10 deletions docs/Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,31 @@ uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"

[[DocStringExtensions]]
deps = ["LibGit2", "Markdown", "Pkg", "Test"]
git-tree-sha1 = "88bb0edb352b16608036faadcc071adda068582a"
git-tree-sha1 = "50ddf44c53698f5e784bbebb3f4b21c5807401b1"
uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
version = "0.8.1"
version = "0.8.3"

[[Documenter]]
deps = ["Base64", "Dates", "DocStringExtensions", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"]
git-tree-sha1 = "646ebc3db49889ffeb4c36f89e5d82c6a26295ff"
deps = ["Base64", "Dates", "DocStringExtensions", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"]
git-tree-sha1 = "a4875e0763112d6d017126f3944f4133abb342ae"
uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
version = "0.24.7"
version = "0.25.5"

[[IOCapture]]
deps = ["Logging"]
git-tree-sha1 = "377252859f740c217b936cebcd918a44f9b53b59"
uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
version = "0.1.1"

[[InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"

[[JSON]]
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
git-tree-sha1 = "b34d7cef7b337321e97d22242c3c2b91f476748e"
git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4"
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
version = "0.21.0"
version = "0.21.1"

[[LibGit2]]
deps = ["Printf"]
Expand All @@ -51,10 +57,10 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
uuid = "a63ad114-7e13-5084-954f-fe012c677804"

[[Parsers]]
deps = ["Dates", "Test"]
git-tree-sha1 = "75d07cb840c300084634b4991761886d0d762724"
deps = ["Dates"]
git-tree-sha1 = "50c9a9ed8c714945e01cd53a21007ed3865ed714"
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
version = "1.0.1"
version = "1.0.15"

[[Pkg]]
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
Expand Down
4 changes: 2 additions & 2 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
authors = ["Marco Congedo, Saloni Jain, Anton Andreev"]
version = "0.4.2"
version = "0.4.4"

[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"

[compat]
Documenter = "~0.24"
Documenter = "~0.25"
10 changes: 5 additions & 5 deletions docs/src/MainModule.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,21 @@ The main module does not contain functions.

As typical in machine learning packages, a type is created (a `struct` in Julia) to specify a ML model. *Supertype*

```
```julia
abstract type MLmodel end
```

is the abstract type for all machine learning
models. *Supertype*

```
```julia
abstract type PDmodel<:MLmodel end
```

is the abstract type for all machine learning
models acting on the positive definite (PD) **manifold** (for example, see [`MDM`](@ref)). *Supertype*

```
```julia
abstract type TSmodel<:MLmodel end
```

Expand All @@ -46,7 +46,7 @@ models acting on the **tangent space** (for example, see [`ENLR`](@ref)).
In all concerned functions *class labels* are given as a vector of integers,
of type

```
```julia
IntVector=Vector{Int}
```

Expand All @@ -57,7 +57,7 @@ of classes.

### working with metrics

In order to work with metrics for the manifold of positive definite matrices, make sure you install the *PosDefManifold* package.
In order to work with metrics for the manifold of positive definite matrices, make sure you install the *PosDefManifold* package.

### the ℍVector type

Expand Down
20 changes: 10 additions & 10 deletions docs/src/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,21 @@ Implementing your `ABC` model entails the following five steps:

if your model acts on the manifold of PSD matrices, this will be

```
```julia
abstract type ABCmodel<:PDmodel end
```

if your model act on the tangent space, this will be

```
```julia
abstract type ABCmodel<:TSmodel end
```

**2) Declare the struct to hold the model and its default creator**

This will look like:

```
```julia
mutable struct ABC <: ABCmodel
metric :: Metric
defaultkwarg1 :: Type_of_defaultkwarg1
Expand Down Expand Up @@ -67,7 +67,7 @@ if the `ABC` model has hyperparameters.

Your `fit` function declaration will look like:

```
```julia
function fit( model :: ABCmodel,
𝐏Tr :: ℍVector,
# if the model acts on the tangent space use:
Expand All @@ -84,13 +84,13 @@ Here you can use as many `kwarg` arguments as you wish.
Currently, all ML models have a `verbose` argument.
Your `fit` function should starts with:

```
```julia
⌚=now() # time in milliseconds
ℳ=deepcopy(model) # output model
```
and ends with

```
```julia
verbose && println(defaultFont, "Done in ", now()-⌚,".")
return ℳ
```
Expand All @@ -110,7 +110,7 @@ which should be given as options to the user, as done for these models. See how

Once you have finished, a call such as

```
```julia
m1 = fit(ABC(), PTr, yTr)
```

Expand All @@ -123,7 +123,7 @@ to the `predict` function and return the model.

Your `predict` function declaration will look like:

```
```julia
function predict(model :: ABCmodel,
𝐏Te :: Union{ℍVector, Matrix{Float64}},
# if the model acts on the tangent space use:
Expand All @@ -139,13 +139,13 @@ where in general here you will not need `kwarg` arguments.

Your `predict` function should starts with:

```
```julia
⌚=now() # time in milliseconds
```

and ends with

```
```julia
verbose && println(defaultFont, "Done in ", now()-⌚,".")
verbose && println(titleFont, "\nPredicted ",_what2Str(what),":", defaultFont)
return 🃏
Expand Down
Loading