def features_importance(self, X_idx: int=0, ax=None, show: bool=True, **style_kwds):
    "\n    ---------------------------------------------------------------------------\n    Computes the model's features importance.\n\n    Parameters\n    ----------\n    X_idx: int/str, optional\n        Index of the main vector vcolumn used to draw the features importance.\n        It can also be the name of a predictor vcolumn.\n    ax: Matplotlib axes object, optional\n        The axes to plot on.\n    show: bool\n        If set to True, draw the features importance.\n    **style_kwds\n        Any optional parameter to pass to the Matplotlib functions.\n\n    Returns\n    -------\n    ax\n        Matplotlib axes object\n        "
    check_types([('X_idx', X_idx, [int, float, str]), ('show', show, [bool])])
    if isinstance(X_idx, str):
        X_idx = str_column(X_idx).lower()
        for (idx, elem) in enumerate(self.X):
            if (str_column(elem).lower() == X_idx):
                X_idx = idx
                break
    assert (isinstance(X_idx, (float, int)) and (len(self.X) > X_idx >= 0)), ParameterError("The index of the vcolumn to draw 'X_idx' must be between 0 and {}. It can also be the name of a predictor vcolumn.".format(len(self.X)))
    relation = self.transform_relation.replace('[VerticaPy_ts]', self.ts).format(self.test_relation)
    for (idx, elem) in enumerate(self.X):
        relation = relation.replace('[X{}]'.format(idx), elem)
    min_max = vdf_from_relation(relation=self.input_relation, cursor=self.cursor).agg(func=['min', 'max'], columns=self.X).transpose()
    coefficient = self.coef_[X_idx].values
    coeff_importances = {}
    coeff_sign = {}
    for (idx, coef) in enumerate(coefficient['predictor']):
        if (idx > 0):
            predictor = int(coef.split('_')[0].replace('ar', ''))
            predictor = str_column(self.X[predictor])
            (minimum, maximum) = min_max[predictor]
            val = coefficient['coefficient'][idx]
            coeff_importances[coef] = (abs(val) * (maximum - minimum))
            coeff_sign[coef] = (1 if (val >= 0) else (- 1))
    total = sum([coeff_importances[elem] for elem in coeff_importances])
    for elem in coeff_importances:
        coeff_importances[elem] = ((100 * coeff_importances[elem]) / total)
    if show:
        plot_importance(coeff_importances, coeff_sign, print_legend=True, ax=ax, **style_kwds)
    importances = {'index': ['importance', 'sign']}
    for elem in coeff_importances:
        importances[elem] = [coeff_importances[elem], coeff_sign[elem]]
    return tablesample(values=importances).transpose()
---------------------------------------------------------------------------
Computes the model's features importance.

Parameters
----------
X_idx: int/str, optional
    Index of the main vector vcolumn used to draw the features importance.
    It can also be the name of a predictor vcolumn.
ax: Matplotlib axes object, optional
    The axes to plot on.
show: bool
    If set to True, draw the features importance.
**style_kwds
    Any optional parameter to pass to the Matplotlib functions.

Returns
-------
ax
    Matplotlib axes object
def features_importance(self, X_idx: int=0, ax=None, show: bool=True, **style_kwds):
    "\n    ---------------------------------------------------------------------------\n    Computes the model's features importance.\n\n    Parameters\n    ----------\n    X_idx: int/str, optional\n        Index of the main vector vcolumn used to draw the features importance.\n        It can also be the name of a predictor vcolumn.\n    ax: Matplotlib axes object, optional\n        The axes to plot on.\n    show: bool\n        If set to True, draw the features importance.\n    **style_kwds\n        Any optional parameter to pass to the Matplotlib functions.\n\n    Returns\n    -------\n    ax\n        Matplotlib axes object\n        "
    check_types([('X_idx', X_idx, [int, float, str]), ('show', show, [bool])])
    if isinstance(X_idx, str):
        X_idx = str_column(X_idx).lower()
        for (idx, elem) in enumerate(self.X):
            if (str_column(elem).lower() == X_idx):
                X_idx = idx
                break
    assert (isinstance(X_idx, (float, int)) and (len(self.X) > X_idx >= 0)), ParameterError("The index of the vcolumn to draw 'X_idx' must be between 0 and {}. It can also be the name of a predictor vcolumn.".format(len(self.X)))
    relation = self.transform_relation.replace('[VerticaPy_ts]', self.ts).format(self.test_relation)
    for (idx, elem) in enumerate(self.X):
        relation = relation.replace('[X{}]'.format(idx), elem)
    min_max = vdf_from_relation(relation=self.input_relation, cursor=self.cursor).agg(func=['min', 'max'], columns=self.X).transpose()
    coefficient = self.coef_[X_idx].values
    coeff_importances = {}
    coeff_sign = {}
    for (idx, coef) in enumerate(coefficient['predictor']):
        if (idx > 0):
            predictor = int(coef.split('_')[0].replace('ar', ))
            predictor = str_column(self.X[predictor])
            (minimum, maximum) = min_max[predictor]
            val = coefficient['coefficient'][idx]
            coeff_importances[coef] = (abs(val) * (maximum - minimum))
            coeff_sign[coef] = (1 if (val >= 0) else (- 1))
    total = sum([coeff_importances[elem] for elem in coeff_importances])
    for elem in coeff_importances:
        coeff_importances[elem] = ((100 * coeff_importances[elem]) / total)
    if show:
        plot_importance(coeff_importances, coeff_sign, print_legend=True, ax=ax, **style_kwds)
    importances = {'index': ['importance', 'sign']}
    for elem in coeff_importances:
        importances[elem] = [coeff_importances[elem], coeff_sign[elem]]
    return tablesample(values=importances).transpose()