openml / automlbenchmark

OpenML AutoML Benchmarking Framework
https://openml.github.io/automlbenchmark
MIT License
391 stars 130 forks source link

reporting and visualizing the results #613

Open ilhembekkr opened 3 months ago

ilhembekkr commented 3 months ago

After conducting my experiments, I've encountered difficulties visualizing and manipulating the results using your provided report.ipynb. Despite attempting to follow the instructions, I'm facing several errors, starting with results_as_df returning a ValueError: No objects to concatenate. This issue arises because ref_results isn't being created correctly.

Navigating through our results has become quite challenging, hindering my ability to effectively analyze and manipulate the datasets. I'm sending the error message for your reference, hoping we can troubleshoot and find a solution together.


ValueError Traceback (most recent call last) Cell In[44], line 1 ----> 1 all_ref_res = results_as_df(ref_results, row_filter)

Cell In[30], line 9 6 if row_filter is None: 7 row_filter = lambda r: True ----> 9 return pd.concat([apply_filter(res, lambda r: (r.framework==name) & row_filter(r)) 10 for name, res in results_dict.items() 11 if res is not None])

File /opt/miniconda/envs/env10/lib/python3.9/site-packages/pandas/util/_decorators.py:331, in deprecate_nonkeyword_arguments..decorate..wrapper(*args, *kwargs) 325 if len(args) > num_allow_args: 326 warnings.warn( 327 msg.format(arguments=_format_argument_list(allow_args)), 328 FutureWarning, 329 stacklevel=find_stack_level(), 330 ) --> 331 return func(args, **kwargs)

File /opt/miniconda/envs/env10/lib/python3.9/site-packages/pandas/core/reshape/concat.py:368, in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy) 146 @deprecate_nonkeyword_arguments(version=None, allowed_args=["objs"]) 147 def concat( 148 objs: Iterable[NDFrame] | Mapping[HashableT, NDFrame], (...) 157 copy: bool = True, 158 ) -> DataFrame | Series: 159 """ 160 Concatenate pandas objects along a particular axis. 161 (...) 366 1 3 4 367 """ --> 368 op = _Concatenator( 369 objs, 370 axis=axis, 371 ignore_index=ignore_index, 372 join=join, 373 keys=keys, 374 levels=levels, 375 names=names, 376 verify_integrity=verify_integrity, 377 copy=copy, 378 sort=sort, 379 ) 381 return op.get_result()

File /opt/miniconda/envs/env10/lib/python3.9/site-packages/pandas/core/reshape/concat.py:425, in _Concatenator.init(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort) 422 objs = list(objs) 424 if len(objs) == 0: --> 425 raise ValueError("No objects to concatenate") 427 if keys is None: 428 objs = list(com.not_none(*objs))

ValueError: No objects to concatenate

PGijsbers commented 3 months ago

Hi, we are in the process of updating our notebooks since the result files have changed. The notebooks we used for our most recent paper are here (docs not perfect, but I hope it is clear enough): https://github.com/pgijsbers/amlb-results