Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jonathan Juhl
SortEM
Commits
210888a9
Commit
210888a9
authored
Dec 01, 2021
by
Jonathan Juhl
Browse files
Delete metrics_sortem.py
parent
87f24eea
Changes
1
Hide whitespace changes
Inline
Side-by-side
metrics_sortem.py
deleted
100644 → 0
View file @
87f24eea
import
numpy
as
np
nmi
=
normalized_mutual_info_score
ari
=
adjusted_rand_score
def
cos_grad
(
grad1
,
grad2
):
grad1_list
=
[]
grad2_list
=
[]
for
i
in
range
(
len
(
grad1
)):
grad1_list
.
append
(
grad1
[
i
][
0
].
flatten
())
grad2_list
.
append
(
grad2
[
i
][
0
].
flatten
())
grad1_vector
=
np
.
concatenate
(
grad1_list
)
grad2_vector
=
np
.
concatenate
(
grad2_list
)
return
np
.
matmul
(
grad1_vector
,
grad2_vector
)
/
((
np
.
linalg
.
norm
(
grad1_vector
))
*
(
np
.
linalg
.
norm
(
grad2_vector
)))
def
acc
(
y_true
,
y_pred
):
"""
Calculate clustering accuracy. Require scikit-learn installed
# Arguments
y: true labels, numpy.array with shape `(n_samples,)`
y_pred: predicted labels, numpy.array with shape `(n_samples,)`
# Return
accuracy, in [0,1]
"""
assert
y_pred
.
size
==
y_true
.
size
D
=
max
(
y_pred
.
max
(),
y_true
.
max
())
+
1
w
=
np
.
zeros
((
D
,
D
),
dtype
=
np
.
int64
)
for
i
in
range
(
y_pred
.
size
):
w
[
y_pred
[
i
],
y_true
[
i
]]
+=
1
#from sklearn.utils.linear_assignment_ import linear_assignment
from
scipy.optimize
import
linear_sum_assignment
row_ind
,
col_ind
=
linear_sum_assignment
(
w
.
max
()
-
w
)
return
sum
([
w
[
i
,
j
]
for
i
,
j
in
zip
(
row_ind
,
col_ind
)])
*
1.0
/
y_pred
.
size
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment