Polish absence analysis demo experience

This commit is contained in:
shuo
2026-04-27 11:59:35 +08:00
parent 27c394fd8c
commit 304441c888
14 changed files with 1257 additions and 257 deletions

View File

@@ -2,17 +2,21 @@ from core.clustering import KMeansAnalyzer
class ClusterService:
def __init__(self):
self.analyzer = KMeansAnalyzer()
def _create_analyzer(self):
# 聚类接口会被前端并发调用,避免复用同一个可变分析器实例导致结果串线。
return KMeansAnalyzer()
def get_cluster_result(self, n_clusters=3):
return self.analyzer.get_cluster_results(n_clusters)
analyzer = self._create_analyzer()
return analyzer.get_cluster_results(n_clusters)
def get_cluster_profile(self, n_clusters=3):
return self.analyzer.get_cluster_profile(n_clusters)
analyzer = self._create_analyzer()
return analyzer.get_cluster_profile(n_clusters)
def get_scatter_data(self, n_clusters=3, x_axis='月均加班时长', y_axis='缺勤时长(小时)'):
return self.analyzer.get_scatter_data(n_clusters, x_axis, y_axis)
analyzer = self._create_analyzer()
return analyzer.get_scatter_data(n_clusters, x_axis, y_axis)
cluster_service = ClusterService()