threshold.py¶
Utilities for thresholding matrices based on different criteria
author: Stefan McCabe (stefanmccabe at gmail dot com)
Submitted as part of the 2019 NetSI Collabathon.
-
netrd.utilities.threshold.
threshold
(mat, rule, **kwargs)[source]¶ A flexible interface to other thresholding functions.
- Parameters:
- mat (np.ndarray)
A numpy array.
- rule (str)
A string indicating which thresholding function to invoke.
- kwargs (dict)
Named arguments to pass to the underlying threshold function.
- Returns:
- thresholded_mat
the thresholded numpy array
-
netrd.utilities.threshold.
threshold_in_range
(mat, **kwargs)[source]¶ Threshold by setting values not within a list of ranges to zero.
- Parameters:
- mat (np.ndarray)
A numpy array.
- cutoffs (list of tuples)
When thresholding, include only edges whose correlations fall within a given range or set of ranges. The lower value must come first in each tuple. For example, to keep those values whose absolute value is between \(0.5\) and \(1\), pass
cutoffs=[(-1, -0.5), (0.5, 1)]
.
- Returns:
- thresholded_mat (np.ndarray)
the thresholded numpy array
-
netrd.utilities.threshold.
threshold_on_degree
(mat, **kwargs)[source]¶ Threshold by setting values below a given quantile to zero.
- Parameters:
- mat (np.ndarray)
A numpy array.
- avg_k (float)
The average degree to target when thresholding the matrix.
- Returns:
- thresholded_mat
the thresholded numpy array
-
netrd.utilities.threshold.
threshold_on_quantile
(mat, **kwargs)[source]¶ Threshold by setting values below a given quantile to zero.
- Parameters:
- mat (np.ndarray)
A numpy array.
- quantile (float)
The threshold above which to keep an element of the array, e.g., set to zero elements below the 90th quantile of the array.
- Returns:
- thresholded_mat
the thresholded numpy array