Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
154
Issues
154
List
Board
Labels
Milestones
Merge Requests
12
Merge Requests
12
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
haskell-gargantext
Commits
a3c7c18b
Commit
a3c7c18b
authored
Jun 15, 2023
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FIX] Order 2
parent
fa5c63fb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
20 deletions
+22
-20
gargantext.cabal
gargantext.cabal
+1
-1
Similarities.hs
src/Gargantext/Core/Methods/Similarities.hs
+10
-6
Distributional.hs
...xt/Core/Methods/Similarities/Accelerate/Distributional.hs
+8
-8
Tools.hs
src/Gargantext/Core/Viz/Graph/Tools.hs
+3
-5
No files found.
gargantext.cabal
View file @
a3c7c18b
...
...
@@ -5,7 +5,7 @@ cabal-version: 1.12
-- see: https://github.com/sol/hpack
name: gargantext
version: 0.0.6.9.9.6.4
version:
0.0.6.9.9.6.4
synopsis: Search, map, share
description: Please see README.md
category: Data
...
...
src/Gargantext/Core/Methods/Similarities.hs
View file @
a3c7c18b
...
...
@@ -31,20 +31,24 @@ import Test.QuickCheck.Arbitrary
import
qualified
Data.Text
as
Text
------------------------------------------------------------------------
data
Similarity
=
Conditional
|
Distributional
data
Similarity
=
Conditional
|
Distributional
_A
|
Distributional_B
deriving
(
Show
,
Eq
)
measure
::
Similarity
->
Matrix
Int
->
Matrix
Double
measure
Conditional
x
=
measureConditional
x
measure
Distributional
x
=
logDistributional2
x
measure
Conditional
x
=
measureConditional
x
measure
Distributional_A
x
=
logDistributional2
1
x
measure
Distributional_B
x
=
logDistributional2
0
x
------------------------------------------------------------------------
withMetric
::
GraphMetric
->
Similarity
withMetric
Order1
=
Conditional
withMetric
Order2
=
Distributional
withMetric
Order1
=
Conditional
withMetric
Order2_A
=
Distributional_A
withMetric
_
=
Distributional_B
------------------------------------------------------------------------
data
GraphMetric
=
Order1
|
Order2
-- Order2 type is for keeping Database json compatibility
-- it is supposed to be removed in the future
data
GraphMetric
=
Order1
|
Order2
|
Order2_A
|
Order2_B
deriving
(
Generic
,
Eq
,
Ord
,
Enum
,
Bounded
,
Show
)
instance
FromJSON
GraphMetric
...
...
src/Gargantext/Core/Methods/Similarities/Accelerate/Distributional.hs
View file @
a3c7c18b
...
...
@@ -168,16 +168,16 @@ distributional m' = run $ result
result
=
termDivNan
z_1
z_2
logDistributional2
::
Matrix
Int
->
Matrix
Double
logDistributional2
m
=
trace
(
"logDistributional2, dim="
`
mappend
`
show
n
)
.
run
$
diagNull
n
$
matMaxMini
$
logDistributional'
n
m
logDistributional2
::
Exp
Double
->
Matrix
Int
->
Matrix
Double
logDistributional2
o
m
=
trace
(
"logDistributional2, dim="
`
mappend
`
show
n
)
.
run
$
diagNull
n
$
matMaxMini
$
logDistributional'
o
n
m
where
n
=
dim
m
logDistributional'
::
Int
->
Matrix
Int
->
Acc
(
Matrix
Double
)
logDistributional'
n
m'
=
trace
(
"logDistributional'"
)
result
logDistributional'
::
Exp
Double
->
Int
->
Matrix
Int
->
Acc
(
Matrix
Double
)
logDistributional'
o
n
m'
=
trace
(
"logDistributional'"
)
result
where
-- From Matrix Int to Matrix Double, i.e :
-- m :: Matrix Int -> Matrix Double
...
...
@@ -204,7 +204,7 @@ logDistributional' n m' = trace ("logDistributional'") result
-- m_{i,j} = 0 if n_{i,j} = 0 or i = j,
-- m_{i,j} = log(to * n_{i,j} / s_{i,j}) otherwise.
mi
=
(
.*
)
(
matrixEye
n
)
(
map
(
lift1
(
\
x
->
cond
(
x
==
0
)
0
(
log
(
1
+
x
*
to
))))
((
./
)
m
ss
))
(
map
(
lift1
(
\
x
->
cond
(
x
==
0
)
0
(
log
(
o
+
x
*
to
))))
((
./
)
m
ss
))
-- mi_nnz :: Int
-- mi_nnz = flip indexArray Z . run $
-- foldAll (+) 0 $ map (\a -> ifThenElse (abs a < 10^(-6 :: Exp Int)) 0 1) mi
...
...
src/Gargantext/Core/Viz/Graph/Tools.hs
View file @
a3c7c18b
...
...
@@ -73,7 +73,6 @@ defaultClustering x = spinglass 1 x
-------------------------------------------------------------
type
Threshold
=
Double
cooc2graph'
::
Ord
t
=>
Similarity
->
Double
->
Map
(
t
,
t
)
Int
...
...
@@ -84,7 +83,7 @@ cooc2graph' distance threshold myCooc
$
measure
distance
$
case
distance
of
Conditional
->
map2mat
Triangle
0
tiSize
Distributional
->
map2mat
Square
0
tiSize
_
->
map2mat
Square
0
tiSize
$
Map
.
filter
(
>
1
)
myCooc'
where
...
...
@@ -93,7 +92,6 @@ cooc2graph' distance threshold myCooc
myCooc'
=
toIndex
ti
myCooc
-- coocurrences graph computation
cooc2graphWith
::
PartitionMethod
->
BridgenessMethod
...
...
@@ -197,7 +195,7 @@ doSimilarityMap Conditional threshold strength myCooc = (distanceMap, toIndex ti
$
Map
.
filter
(
>
threshold
)
$
similarities
`
seq
`
mat2map
similarities
doSimilarityMap
Distributional
threshold
strength
myCooc
=
(
distanceMap
,
toIndex
ti
diag
,
ti
)
doSimilarityMap
distriType
threshold
strength
myCooc
=
(
distanceMap
,
toIndex
ti
diag
,
ti
)
where
-- TODO remove below
(
diag
,
theMatrix
)
=
Map
.
partitionWithKey
(
\
(
x
,
y
)
_
->
x
==
y
)
...
...
@@ -208,7 +206,7 @@ doSimilarityMap Distributional threshold strength myCooc = (distanceMap, toIndex
tiSize
=
Map
.
size
ti
similarities
=
(
\
m
->
m
`
seq
`
m
)
$
(
\
m
->
m
`
seq
`
measure
Distributional
m
)
$
(
\
m
->
m
`
seq
`
measure
distriType
m
)
$
(
\
m
->
m
`
seq
`
map2mat
Square
0
tiSize
m
)
$
theMatrix
`
seq
`
toIndex
ti
theMatrix
...
...
Write
Preview
Markdown
is supported
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