Skip to content

Commit b3bdb42

Browse files
committed
Adding __str__ for OpenMLRun
1 parent 893295c commit b3bdb42

3 files changed

Lines changed: 41 additions & 6 deletions

File tree

openml/evaluations/evaluation.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,23 @@ def __str__(self):
5656
run = '%15s: %d\n' % ('Run ID', object_dict['run_id'])
5757
run = run + '%15s: %s\n\n' % ('OpenML Run URL',
5858
base_url + 'r/' + str(object_dict['run_id']))
59+
5960
task = '%15s: %d\n' % ('Task ID', object_dict['task_id'])
6061
task = task + '%15s: %s\n\n' % ('OpenML Task URL',
6162
base_url + 't/' + str(object_dict['task_id']))
63+
6264
flow = '%15s: %d\n' % ('Flow ID', object_dict['flow_id'])
6365
flow = flow + '%15s: %s\n' % ('Flow Name', object_dict['flow_name'])
6466
flow = flow + '%15s: %s\n\n' % ('OpenML Flow URL',
6567
base_url + 'f/' + str(object_dict['flow_id']))
68+
6669
setup = '%15s: %d\n\n' % ('Setup ID', object_dict['setup_id'])
70+
6771
data = '%15s: %d\n' % ('Data ID', int(object_dict['data_id']))
6872
data = data + '%15s: %s\n' % ('Data Name', object_dict['data_name'])
6973
data = data + '%15s: %s\n\n' % ('OpenML Data URL',
7074
base_url + 'd/' + str(object_dict['data_id']))
75+
7176
metric = '%15s: %s\n' % ('Metric Used', object_dict['function'])
7277
value = '%15s: %f\n' % ('Result', object_dict['value'])
7378
output_str = upload + run + task + flow + setup + data + metric + value

openml/flows/flow.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,11 @@ def __str__(self):
140140
url = '%16s: %s\n' % ('Flow URL', 'https://www.openml.org/f/' + str(object_dict['flow_id']))
141141
name = '%16s: %s\n' % ('Flow Name', object_dict['name'])
142142
description = '%16s: %s\n\n' % ('Flow Description', object_dict['description'])
143+
143144
binary = ''
144145
if object_dict['binary_url'] is not None:
145146
binary = '%16s: %s\n\n' % ('Binary URL', object_dict['binary_url'])
147+
146148
upload = '%16s: %s\n' % ('Upload Date', object_dict['upload_date'].replace('T', ' '))
147149
language = '%16s: %s\n' % ('Language', object_dict['language'])
148150
dependencies = '%16s: %s\n' % ('Dependencies', object_dict['dependencies'])

openml/runs/run.py

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,40 @@ def __init__(self, task_id, flow_id, dataset_id, setup_string=None,
6464
self.predictions_url = predictions_url
6565

6666
def __str__(self):
67-
flow_name = self.flow_name
68-
if flow_name is not None and len(flow_name) > 26:
69-
# long enough to show sklearn.pipeline.Pipeline
70-
flow_name = flow_name[:26] + "..."
71-
return "[run id: {}, task id: {}, flow id: {}, flow name: {}]".format(
72-
self.run_id, self.task_id, self.flow_id, flow_name)
67+
object_dict = self.__dict__
68+
output_str = ''
69+
uploader = '\n%16s: %s\n' % ('Uploader Name', object_dict['uploader_name'])
70+
url = 'https://www.openml.org/u/' + str(object_dict['uploader'])
71+
uploader = uploader + '%16s: %s\n\n' % ('Uploader Profile', url)
72+
73+
metric = '%16s: %s\n' % ('Metric', object_dict['task_evaluation_measure'])
74+
result = ''
75+
if object_dict['task_evaluation_measure'] in object_dict['evaluations']:
76+
value = object_dict['evaluations'][object_dict['task_evaluation_measure']]
77+
result = '%16s: %s\n' % ('Result', value)
78+
run = '%16s: %s\n' % ('Run ID', object_dict['run_id'])
79+
url = 'https://www.openml.org/r/' + str(object_dict['run_id'])
80+
run = run + '%16s: %s\n\n' % ('Run URL', url)
81+
82+
task = '%16s: %s\n' % ('Task ID', object_dict['task_id'])
83+
task = task + '%16s: %s\n' % ('Task Type', object_dict['task_type'])
84+
url = 'https://www.openml.org/t/' + str(object_dict['task_id'])
85+
task = task + '%16s: %s\n\n' % ('Task URL', url)
86+
87+
flow = '%16s: %s\n' % ('Flow ID', object_dict['flow_id'])
88+
flow = flow + '%16s: %s\n' % ('Flow Name', object_dict['flow_name'])
89+
url = 'https://www.openml.org/f/' + str(object_dict['flow_id'])
90+
flow = flow + '%16s: %s\n\n' % ('Flow URL', url)
91+
92+
setup = '%16s: %s\n' % ('Setup ID', object_dict['setup_id'])
93+
setup = setup + '%16s: %s\n\n' % ('Setup String', object_dict['setup_string'])
94+
95+
dataset = '%16s: %s\n' % ('Dataset ID', object_dict['dataset_id'])
96+
url = 'https://www.openml.org/d/' + str(object_dict['dataset_id'])
97+
dataset = dataset + '%16s: %s\n' % ('Dataset URL', url)
98+
99+
output_str = uploader + metric + result + run + task + flow + setup + dataset
100+
return output_str
73101

74102
def _repr_pretty_(self, pp, cycle):
75103
pp.text(str(self))

0 commit comments

Comments
 (0)