train_data02.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from entity import *
  2. import random
  3. import numpy as np
  4. import gc
  5. from sklearn.externals import joblib
  6. def get_data():
  7. data = load("train_data_02.pkl")
  8. new_data = [[] for _ in range(144)]
  9. for d in data:
  10. for match in d:
  11. # if match.order.arrive_time >= match.order.order_time or match.order.order_time >= 142:
  12. new_data[match.order.order_time-1].append(match)
  13. del data
  14. for t in range(len(new_data)):
  15. if 69<=t<=78 or 105<=t<=114:
  16. for n in range(random.randint(16000,20000)):
  17. d_x = random.randint(25, 35)
  18. d_y = random.randint(25, 35)
  19. driver = Driver(id, d_x, d_y)
  20. to_x = random.randint(0, 49)
  21. to_y = random.randint(0, 49)
  22. juli = 1000
  23. while juli > 6:
  24. o_x = random.randint(d_x-6,d_x+6)
  25. o_y = random.randint(d_y-6,d_y+6)
  26. juli = abs(o_x - d_x) + abs(o_y - d_y)
  27. order = Order(0, o_x, o_y, to_x, to_y, t)
  28. match = Match(order, driver)
  29. new_data[t].append(match)
  30. print('\r' + str(t) + ' ' + str(n), end='')
  31. count = 0
  32. for i in new_data:
  33. count += 1
  34. print(str(count)+":",len(i))
  35. save(new_data,"train_data03.pkl")
  36. if __name__ == '__main__':
  37. get_data()