Files
forsetsystem/backend/services/cluster_service.py
2026-04-27 11:59:35 +08:00

23 lines
801 B
Python

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