Spaces:
Running
Running
github-actions[bot]
commited on
Commit
·
7cf4785
1
Parent(s):
7566ac3
Auto-sync from demo at Fri Dec 26 09:19:50 UTC 2025
Browse files
graphgen/models/evaluator/kg/structure_evaluator.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
from typing import Any, Dict, Optional
|
| 2 |
|
| 3 |
import numpy as np
|
|
@@ -81,14 +82,22 @@ class StructureEvaluator:
|
|
| 81 |
return None
|
| 82 |
|
| 83 |
try:
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
|
| 90 |
# Linear regression on log-log scale
|
| 91 |
-
r_value, *_ = stats.linregress(
|
| 92 |
r2 = r_value**2
|
| 93 |
|
| 94 |
return float(r2)
|
|
|
|
| 1 |
+
from collections import Counter
|
| 2 |
from typing import Any, Dict, Optional
|
| 3 |
|
| 4 |
import numpy as np
|
|
|
|
| 82 |
return None
|
| 83 |
|
| 84 |
try:
|
| 85 |
+
degree_counts = Counter(degrees)
|
| 86 |
+
degree_values, frequencies = zip(*sorted(degree_counts.items()))
|
| 87 |
+
|
| 88 |
+
if len(degree_values) < 3:
|
| 89 |
+
logger.warning(
|
| 90 |
+
f"Insufficient unique degrees ({len(degree_values)}) for power law fitting. "
|
| 91 |
+
f"Graph may be too uniform."
|
| 92 |
+
)
|
| 93 |
+
return None
|
| 94 |
+
|
| 95 |
+
# Fit power law: log(frequency) = a * log(degree) + b
|
| 96 |
+
log_degrees = np.log(degree_values)
|
| 97 |
+
log_frequencies = np.log(frequencies)
|
| 98 |
|
| 99 |
# Linear regression on log-log scale
|
| 100 |
+
r_value, *_ = stats.linregress(log_degrees, log_frequencies)
|
| 101 |
r2 = r_value**2
|
| 102 |
|
| 103 |
return float(r2)
|