main.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # -*- coding: utf-8 -*-
  2. """
  3. @author: zsc
  4. @time: 2024/11/18
  5. @desc: 存量运营平台-行为客户行为挖掘及监控
  6. """
  7. import time
  8. import random
  9. from collections import defaultdict
  10. import matplotlib.pyplot as plt
  11. # 主程序
  12. # main.py
  13. from data.collector import DataCollector
  14. from data.processor import DataProcessor
  15. from analyze import BehaviorAnalyzer
  16. from analyze import SegmentUsers
  17. from analyze import DetectAnomalies
  18. from monitor import Monitor
  19. from monitor import GenerateReport
  20. # 主函数
  21. def main():
  22. # 实例化数据收集模块
  23. collector = DataCollector.DataCollector()
  24. raw_data = collector.collect()
  25. # 实例化数据预处理模块
  26. preprocessor = DataProcessor.DataPreprocessor(raw_data)
  27. processed_data = preprocessor.preprocess()
  28. # 实例化行为分析模块
  29. analyzer = BehaviorAnalyzer.BehaviorAnalyzer(processed_data)
  30. behavior_data, action_stats = analyzer.analyze()
  31. # 实例化用户分群模块
  32. segmenter = SegmentUsers.UserSegmentation(behavior_data)
  33. user_segments = segmenter.segment()
  34. # 实例化异常检测模块
  35. detector = DetectAnomalies.AnomalyDetector(behavior_data)
  36. anomalies = detector.detect()
  37. # 实例化报告生成模块
  38. generator = GenerateReport.ReportGenerator(processed_data, anomalies, user_segments, action_stats)
  39. report = generator.generate()
  40. # 打印报告摘要
  41. print("Report Summary:")
  42. print(f"Total Users: {report['total_users']}")
  43. print(f"Total Actions: {report['total_actions']}")
  44. print(f"Anomalies: {report['anomalies']}")
  45. print(f"User Segments: {report['user_segments']}")
  46. # 实例化实时监控模块
  47. monitor = Monitor.RealTimeMonitor(processed_data)
  48. print("Starting real-time monitoring...")
  49. monitor.monitor()
  50. if __name__ == "__main__":
  51. main()