graspologic
graspologic copied to clipboard
Bug fix for SBM estimator with some size-one block and loops=False
Reference Issues/PRs
See Issue #1055
What does this implement/fix? Briefly explain your changes.
Expected Behavior
Any size-1 block should just have zero probability.
Actual Behavior
In sbm_estimators.py, _calculate_block_p calls _calculate_p, which divides zero when block.size = 0.
This can happen when some block has size one and loops=False is used.
Adding
if block.size == 0:
continue
before Line 519 of graspologic/graspologic/models/sbm_estimators.py should do the trick.