Mercurial > repos > bgruening > create_tool_recommendation_model
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() |