Отметить атрибут для игнорирования в Orange - PullRequest
0 голосов
/ 12 июня 2018

Использование библиотеки Orange3 в моем коде Python.

Я пытаюсь пометить данную функцию как игнорируемую (или i), чтобы эта функция не была импортирована.

Как и флаги, обсуждаемые по этой ссылке

https://docs.orange.biolab.si/3/data-mining-library/reference/data.io.html#single-line-header-format

Я пытаюсь сделать это в скрипте Python.

ignore_var_name = "i#"+dv.name
ignore_dv = DiscreteVariable(name=ignore_var_name, values=dv.values)

Это неКажется, не работает.Не могу найти примеров, которые показывают, как можно это сделать в скрипте.

Интересно, может ли кто-нибудь указать мне, как делать пометку атрибута как игнорируемого.

1 Ответ

0 голосов
/ 13 июня 2018

Метка игнорирования (#i) предназначена для маркировки заголовков в файле и используется только при разборе файла.

Но как только у вас есть объект данных, вам нужно изменить его домен.Например:

data = Orange.data.Table('iris')
attributes = [attr for attr in data.domain.attributes if attr.name != 'petal length']
new_domain = Orange.data.Domain(attributes, data.domain.class_vars, data.domain.metas)
new_data = data.transform(new_domain)

Вы также можете переместить нежелательную функцию в data.domain.metas с помощью процедуры, аналогичной описанной выше.

...