Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Metric MDS #180

Merged
merged 9 commits into from
May 27, 2022
Merged

Metric MDS #180

merged 9 commits into from
May 27, 2022

Conversation

wildart
Copy link
Collaborator

@wildart wildart commented Feb 6, 2022

Implementation of weighted (non)metric MDS with transformed proximities.

@wildart wildart requested a review from timholy February 9, 2022 15:37
@wildart wildart merged commit f424438 into JuliaStats:master May 27, 2022
@wildart wildart deleted the mmds branch May 27, 2022 21:40
Copy link
Collaborator

@timholy timholy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I didn't notice your review request earlier! Belated review below. Thanks for adding this, it looks like it may be useful!


An arbitrary transformation function can be provided to `metric` parameter to
perform metric MDS with transformed proximities. The function has to accept two parameters,
a vector of proximities and a vector of distances, in order to calculate disparities
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do the vectors represent? I.e., if p is a proximity vector, what is the meaning of p[i]? Likewise, what is the meaning of d[i]?

Copy link
Collaborator Author

@wildart wildart Aug 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proximity and distance vectors are compact (1D) representations of upper triangular part of proximity and distance matrices correspondingly. I'll add more information to the docs about this.


Calculate a symmetric Euclidean (L2) distance matrix.
"""
L2distance(X::AbstractMatrix{T}) where {T<:Real} = L2distance!(zeros(T,size(X,2),size(X,2)), X)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably we could use Matrix{T}(undef, size(X, 2), size(X, 3)) but the performance gain is unlikely to be observable in practice.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants