View source on GitHub |
Computes Pearson correlation coefficient between predictions
, labels
.
tf.contrib.metrics.streaming_pearson_correlation(
predictions, labels, weights=None, metrics_collections=None,
updates_collections=None, name=None
)
The streaming_pearson_correlation
function delegates to
streaming_covariance
the tracking of three [co]variances:
streaming_covariance(predictions, labels)
, i.e. covariancestreaming_covariance(predictions, predictions)
, i.e. variancestreaming_covariance(labels, labels)
, i.e. variance
The product-moment correlation ultimately returned is an idempotent operation
cov(predictions, labels) / sqrt(var(predictions) * var(labels))
. To
facilitate correlation computation across multiple batches, the function
groups the update_op
s of the underlying streaming_covariance and returns an
update_op
.
If weights
is not None, then it is used to compute a weighted correlation.
NOTE: these weights are treated as "frequency weights", as opposed to
"reliability weights". See discussion of the difference on
https://wikipedia.org/wiki/Weighted_arithmetic_mean#Weighted_sample_variance
Args | |
---|---|
predictions
|
A Tensor of arbitrary size.
|
labels
|
A Tensor of the same size as predictions.
|
weights
|
Optional Tensor indicating the frequency with which an example is
sampled. Rank must be 0, or the same rank as labels , and must be
broadcastable to labels (i.e., all dimensions must be either 1 , or the
same as the corresponding labels dimension).
|
metrics_collections
|
An optional list of collections that the metric value variable should be added to. |
updates_collections
|
An optional list of collections that the metric update ops should be added to. |
name
|
An optional variable_scope name. |
Returns | |
---|---|
pearson_r
|
A Tensor representing the current Pearson product-moment
correlation coefficient, the value of
cov(predictions, labels) / sqrt(var(predictions) * var(labels)) .
|
update_op
|
An operation that updates the underlying variables appropriately. |
Raises | |
---|---|
ValueError
|
If labels and predictions are of different sizes, or if
weights is the wrong size, or if either metrics_collections or
updates_collections are not a list or tuple .
|