Skip to content

Commit

Permalink
Merge pull request #81 from Marco-Congedo/dev
Browse files Browse the repository at this point in the history
Version 0.4.4
  • Loading branch information
Marco-Congedo authored Jan 2, 2021
2 parents 61ee7ff + 86537d2 commit 139ab0b
Show file tree
Hide file tree
Showing 13 changed files with 165 additions and 146 deletions.
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 <[email protected]>"]
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

0 comments on commit 139ab0b

Please sign in to comment.