„Global Feature Importance“ does not work

My „Global Feature Importance“ does not work. I always get an error message: „WARN Color Manager 0:9:0:1747:0:1662:1650 Column “Feature” has no nominal values set: execute predecessor or add Binner.“


Bildschirmfoto 2022-03-02 um 11.22.34

Other data also lead to the same result. Reducing the data (rows and/or cols) does not help, the error persists. For the AutoML node I always have to close Kinime first. Does it store data in the tmp folder?

What am I doing wrong?

Thanks!

My Workflow https://daten-in-der.cloud/knime/22.03.01.knwf

When I use only “Surrogate Decision Tree”

Bildschirmfoto 2022-03-04 um 10.18.31

or everything and disable “Activate interactive view” it works.

But this is not a solution. A lot of information is missing.

Hi @ntq ,

it seems that the problem is that the domain should be updated before using the Color Manager node when there too many nominal values. You can do that with the Domain Calculator node. Besides you would need to increase the restricted number of possible values or remove restriction at all.

The quick solution is to disconnect the link to the Global Feature Importance component and add the Domain Calculator.

I will update the component on the KNIME Hub as soon as possible.

Lada

3 Likes

Thanks!
Together with the workaround GFI Problem - #6 by Lada it works now!

Thanks very much!

1 Like

Hi @ntq ,

the component is now also updated on the KNIME Hub.

Best,
Lada

2 Likes

Great work @Lada. Could you elaborate on when exactly domain calculator node make sense to use/is required?
Thanks and take care

Hi @Daniel_Weikert ,

thank you for your question.

First, domain values for nominal columns are defined only for the columns that have less than 60 unique values. You can change that with the Domain Calculator node by removing the restriction to 60 possible values or increasing it.

Second, the domain of a column is not automatically updated after you perform some operations that change it (e.g. row filtering). You might want to keep the original domain or you might want to update it depending on your use case.

  1. For example, if you perform static filtering (always filter out the same value) and you know for sure you won’t need to use removed values in the configuration of any of the following nodes, you can update the domain of this column.
  2. On the other hand, if you repeat some process on regular basis with different data and maybe even perform dynamic filtering, you might want to keep the original domain with all the possible values to be able to configure the following nodes more universally.

Hope it helps,
Lada

3 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.