Skip to content

get_task failing #538

Closed
Closed

Description

@ArlindKadra

Description

Getting a certain clustering task is failing. Task shows fine on the server.

Steps/Code to Reproduce

import openml

result = openml.tasks.functions.get_task(126033)
print(result)

Expected Results

Actual task.

Actual Results

FileNotFoundError: [Errno 2] No such file or directory:

Activity

  1. ArlindKadra commented on Sep 20, 2018

    @ArlindKadra
    MemberAuthor

    input is not a list but a dictionary.

    for input_ in dic["oml:input"]:

  2. ArlindKadra commented on Oct 5, 2018

    @ArlindKadra
    MemberAuthor

    @janvanrijn @mfeurer I am trying to fix the issue above and I have a question regarding the current implementation of tasks.

    class OpenMLTask(object):
    def __init__(self, task_id, task_type_id, task_type, data_set_id,
    estimation_procedure_type, estimation_parameters,
    evaluation_measure):
    self.task_id = int(task_id)
    self.task_type_id = int(task_type_id)
    self.task_type = task_type
    self.dataset_id = int(data_set_id)
    self.estimation_procedure = dict()
    self.estimation_procedure["type"] = estimation_procedure_type
    self.estimation_procedure["parameters"] = estimation_parameters

    The base class upon which all of the tasks are built, has estimation procedure as a mandatory field, with type and parameters. The above issue is happening because the tasks has only 1 input.

    Are clustering tasks supposed to have a mandatory estimation procedure field and the above an outlier which should be removed or I should change the implementation.

    The easiest fix for the second option, would be to have the common args like that for all the other tasks and to pass none for the estimation procedure for the clustering task, it would defeat the purpose of the base class on the other hand since it does not have the common arguments between all.

  3. mfeurer commented on Oct 12, 2018

    @mfeurer
    Collaborator

    I think removing the estimation procedure from the base class and having it in the OpenMLSupervisedTask would be a clean solution.

  4. mfeurer commented on Dec 3, 2018

    @mfeurer
    Collaborator

    Fixed by #541.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions