formula.py 869 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # time: 2023/9/27 9:54
  4. # file: formula.py
  5. # author: David
  6. # company: shenyang JY
  7. import math
  8. def get_mse(records_real, records_predict):
  9. """
  10. 均方误差
  11. """
  12. if len(records_real) == len(records_predict):
  13. return sum([(x - y) ** 2 for x, y in zip(records_real, records_predict)]) / len(records_real)
  14. else:
  15. return None
  16. def get_rmse(records_real, records_predict):
  17. """
  18. 均方根误差
  19. """
  20. mse = get_mse(records_real, records_predict)
  21. if mse:
  22. return math.sqrt(mse)
  23. else:
  24. return None
  25. def get_mae(records_real, records_predict):
  26. """
  27. 平均绝对误差
  28. """
  29. if len(records_real) == len(records_predict):
  30. return sum([abs(x - y) for x, y in zip(records_real, records_predict)]) / len(records_real)
  31. else:
  32. return None