question: public void enable ( Capability c ) { if ( doNotCheckCapabilities ( ) ) { return ; } if ( c == Capability . NOMINAL_ATTRIBUTES ) { enable ( Capability . BINARY_ATTRIBUTES ) ; } else if ( c == Capability . BINARY_ATTRIBUTES ) { enable ( Capability . UNARY_ATTRIBUTES ) ; } else if ( c == Capability . UNARY_ATTRIBUTES ) { enable ( Capability . EMPTY_NOMINAL_ATTRIBUTES ) ; } else if ( c == Capability . NOMINAL_CLASS ) { enable ( Capability . BINARY_CLASS ) ; } m_Capabilities . add ( c ) ; }
target:  enables the given capability. Enabling NOMINAL_ATTRIBUTES also enables BINARY_ATTRIBUTES, UNARY_ATTRIBUTES and EMPTY_NOMINAL_ATTRIBUTES. Enabling BINARY_ATTRIBUTES also enables UNARY_ATTRIBUTES and EMPTY_NOMINAL_ATTRIBUTES. Enabling UNARY_ATTRIBUTES also enables EMPTY_NOMINAL_ATTRIBUTES. But NOMINAL_CLASS only enables BINARY_CLASS, since normal schemes in Weka don't work with datasets that have only 1 class label (or none).