comparison predict_tool_usage.py @ 3:5b3c08710e47 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/recommendation_training/tools/tool_recommendation_model commit c635df659fe1835679438589ded43136b0e515c6"
author bgruening
date Sat, 09 May 2020 05:38:23 -0400
parents 9bf25dbe00ad
children 4f7e6612906b
comparison
equal deleted inserted replaced
2:76251d1ccdcc 3:5b3c08710e47
19 main_path = os.getcwd() 19 main_path = os.getcwd()
20 20
21 21
22 class ToolPopularity: 22 class ToolPopularity:
23 23
24 @classmethod
25 def __init__(self): 24 def __init__(self):
26 """ Init method. """ 25 """ Init method. """
27 26
28 @classmethod
29 def extract_tool_usage(self, tool_usage_file, cutoff_date, dictionary): 27 def extract_tool_usage(self, tool_usage_file, cutoff_date, dictionary):
30 """ 28 """
31 Extract the tool usage over time for each tool 29 Extract the tool usage over time for each tool
32 """ 30 """
33 tool_usage_dict = dict() 31 tool_usage_dict = dict()
61 tool_usage_dict[tool][dt] = 0 59 tool_usage_dict[tool][dt] = 0
62 # sort the usage list by date 60 # sort the usage list by date
63 tool_usage_dict[tool] = collections.OrderedDict(sorted(usage.items())) 61 tool_usage_dict[tool] = collections.OrderedDict(sorted(usage.items()))
64 return tool_usage_dict 62 return tool_usage_dict
65 63
66 @classmethod
67 def learn_tool_popularity(self, x_reshaped, y_reshaped): 64 def learn_tool_popularity(self, x_reshaped, y_reshaped):
68 """ 65 """
69 Fit a curve for the tool usage over time to predict future tool usage 66 Fit a curve for the tool usage over time to predict future tool usage
70 """ 67 """
71 epsilon = 0.0 68 epsilon = 0.0
91 prediction = [epsilon] 88 prediction = [epsilon]
92 return prediction[0] 89 return prediction[0]
93 except Exception: 90 except Exception:
94 return epsilon 91 return epsilon
95 92
96 @classmethod
97 def get_pupularity_prediction(self, tools_usage): 93 def get_pupularity_prediction(self, tools_usage):
98 """ 94 """
99 Get the popularity prediction for each tool 95 Get the popularity prediction for each tool
100 """ 96 """
101 usage_prediction = dict() 97 usage_prediction = dict()