def fuzzmatch(self, fuzzkey, multi=False):
keys, ratios = np.array([(f, seqm(None, fuzzkey, f).ratio()) for f in self.components.keys()]).T<EOL>mratio = max(ratios)<EOL>if multi:<EOL><INDENT>return keys[ratios == mratio]<EOL><DEDENT>else:<EOL><INDENT>if sum(ratios == mratio) == <NUM_LIT:1>:<EOL><INDENT>return keys[ratios == mratio][<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>".format(fuzzkey) + '<STR_LIT:U+002CU+0020>'.join(keys[ratios == mratio]) + "<STR_LIT>")<EOL><DEDENT><DEDENT>
Identify a filter by fuzzy string matching.

Partial ('fuzzy') matching performed by `fuzzywuzzy.fuzzy.ratio`

Parameters
----------
fuzzkey : str
    A string that partially matches one filter name more than the others.

Returns
-------
The name of the most closely matched filter. : str