/pearson.py (7a6cc1ce0ca8ab13c12325ce4ac45044544ed9a1) (1575 bytes) (mode 100644) (type blob)

import redis as rd
import numpy as np
from scipy.stats import pearsonr

metrics  = ['clustering_coefficient',
            'degree',
            'average_neighbor_degree',
            'iterated_average_neighbor_degree',
            'betweenness_centrality',
            'eccentricity',
            'average_shortest_path_length',
            'corrected_clustering_coefficient',
            'corrected_average_neighbor_degree',
            'corrected_iterated_average_neighbor_degree']

rdb = rd.StrictRedis(host='localhost', port=6379, db=0)


correlations = {}
for metric1 in metrics:
  correlations[metric1] = {}
  for metric2 in metrics:
    correlations[metric1][metric2] = (0,0)
    if metric1 == metric2:
      correlations[metric1][metric2] = (1,0)
      continue

    dict_metric1 = dict(rdb.zrange(metric1, 0, -1, withscores=True, score_cast_func=float))
    dict_metric2 = dict(rdb.zrange(metric2, 0, -1, withscores=True, score_cast_func=float))

    values_metric1 = []
    values_metric2 = []

    for key in sorted(dict_metric1.iterkeys()):
      values_metric1.append(dict_metric1[key])

    for key in sorted(dict_metric2.iterkeys()):
      values_metric2.append(dict_metric2[key])

    correlations[metric1][metric2] = pearsonr(values_metric1,values_metric2)

for source in correlations:
  for target in correlations[source]:
    rdb.hset("correlations:"+source+":"+target, "correlation", correlations[source][target][0])
    rdb.hset("correlations:"+source+":"+target, "confidence", correlations[source][target][1])

Mode Type Size Ref File
100644 blob 6 0d20b6487c61e7d1bde93acf4a14b7a89083a16d .gitignore
100644 blob 103 924a1df9f7338af770d3cf3d4b0ce2673f10d1b0 README.md
100644 blob 0 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 __init__.py
100644 blob 1256 489636a0073e3dfe2bfd04ee893d609d304a8490 advancedscores.py
100644 blob 4841 c18bb46d148ccb4e04370864e7352cae635f865d config.py
040000 tree - 1eae5e19b1eff05e464e361e3f50f3df23f1b754 data
100644 blob 4728 68b7ae967b6cb349e54a32d6d00528321f1825b3 file_importer.py
100644 blob 2132 b09bec79c503afa1126d86335d1372443e207773 graph tool test.py
100644 blob 716 359eb7179fa58d67044228556f7d9c38b5caec85 indexing.py
100644 blob 33232205 7ca601d1ca32abf3244359ce3ad85ea6a1b60010 log
100644 blob 6361 888c63bb17693deb49d9ae367ed7a3b9cdbeebe0 metric_calculator.py
100644 blob 8308 6673fc89a71f9a87f57997fbd96c7ed3c36fb7ff metrics.py
100644 blob 1665 a959a8cc528f486a80a84e2ab233457870d255a1 normalizations.py
100644 blob 1575 7a6cc1ce0ca8ab13c12325ce4ac45044544ed9a1 pearson.py
100644 blob 1696 26df05e3ec9f549013f400a6f5f5df7fdb617c2e start.py
100644 blob 2144 fb03eaa1cd8eb0d6c17b2019fe4c877a32bb7059 statistics.py
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/coria/coria-backend

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/coria/coria-backend

Clone this repository using git:
git clone git://git.rocketgit.com/user/coria/coria-backend

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main