Repository for Petra's work at ampli Jan-Feb 2019

predict.py 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from argparse import ArgumentParser, FileType
  2. import numpy as np
  3. import pandas as p
  4. import statsmodels.formula.api as smf
  5. import datetime as dt
  6. import pickle
  7. from pymodels import thirtyoffset, predweather, harmonic
  8. from pprint import pprint
  9. def main():
  10. parser = ArgumentParser(description=
  11. 'Predict from harmonic model of cluster')
  12. parser.add_argument("-m", "--model-file", dest="model_file",
  13. help="filename for models",
  14. default="../models/testmod.pkl",
  15. type=FileType('rb'))
  16. # parser.add_argument("-w", "--weather", dest="weather",
  17. # help="input weather pickle path",
  18. # metavar="PATH", required=True,
  19. # type=FileType('rb'))
  20. parser.add_argument("--weather-harmonics", dest="weather_harmonics",
  21. help="number of harmonics for weather; default: 2",
  22. type=int, default=2, metavar="NUM")
  23. parser.add_argument("--icp-harmonics", dest="icp_harmonics", nargs=3,
  24. help="harmonics for icp fitting, default 2 3 3",
  25. default=[2, 3, 3], type=int,
  26. metavar="NUM")
  27. args = parser.parse_args()
  28. print(args)
  29. mods = pickle.load(args.model_file)
  30. pprint(mods)
  31. print(mods["max_temp"].predict())
  32. print(predweather(mods["max_temp"], "2019-01-01", "2019-02-01", harmonics = mods["weather_harmonics"]))
  33. args.model_file.close()
  34. if __name__ == "__main__":
  35. main()