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()