main.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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, process_stats, action_stats, product_stats, channel_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, process_stats, action_stats, product_stats,
  39. channel_stats)
  40. report = generator.generate()
  41. # 实时监控
  42. monitor = Monitor.RealTimeMonitor(processed_data)
  43. print("\nStarting real-time monitoring...")
  44. monitor.monitor()
  45. if __name__ == "__main__":
  46. main()