def logprob(self, rows, evidence=None):
"""Compute non-normalized log probabilies of many rows of data.
If evidence is specified, compute conditional log probability;
otherwise compute unconditional log probability.
Args:
data: A list of rows of data, where each row is a sparse dict
mapping feature name to feature value.
evidence: An optional row of conditioning data, as a sparse dict
mapping feature name to feature value.
Returns:
An [len(rows)]-shaped numpy array of log probabilities.
"""
data = import_rows(self._schema, rows)
if evidence is None:
return self._server.logprob(data)
else:
ragged_evidence = import_rows(self._schema, [evidence])
return (self._server.logprob(data + ragged_evidence) -
self._server.logprob(data + evidence))
评论列表
文章目录