成功解决raise TypeError(‘Unexpected feature_names type‘)TypeError: Unexpected feature_names type

网友投稿 446 2022-09-30

成功解决raise TypeError(‘Unexpected feature_names type‘)TypeError: Unexpected feature_names type

成功解决raise TypeError('Unexpected feature_names type')TypeError: Unexpected feature_names type

目录

​​解决问题​​

​​解决思路​​

​​解决方法​​

​​源代码解析​​

解决问题

raise TypeError('Unexpected feature_names type')TypeError: Unexpected feature_names type

解决思路

类型错误:意外的 feature_names 类型

解决方法

经过分析发现, 原函数参数要求类型是list类型, 而当前出错的代码却提供了pandas.core.indexes.base.Index类型

feature_names : list, optional. A list of feature names. It allows to specify feature names when they are not provided by an estimator object. This argument may be supported or not, depending on estimator type.

feature_names :列表,可选。 feature 名称列表。 它允许在估算器对象未提供特征名称时指定它们。 根据估算器类型,可能支持或不支持此参数。

源代码解析

def show_weights(estimator, **kwargs): """ Return an explanation of estimator parameters (weights) as an IPython.display.HTML object. Use this function to show classifier weights in IPython. :func:`show_weights` accepts all :func:`eli5.explain_weights` arguments and all :func:`eli5.formatters.html.format_as_html` keyword arguments, so it is possible to get explanation and customize formatting in a single call. Parameters ---------- estimator : object Estimator instance. This argument must be positional. top : int or (int, int) tuple, optional Number of features to show. When ``top`` is int, ``top`` features with a highest absolute values are shown. When it is (pos, neg) tuple, no more than ``pos`` positive features and no more than ``neg`` negative features is shown. ``None`` value means no limit. This argument may be supported or not, depending on estimator type. target_names : list[str] or {'old_name': 'new_name'} dict, optional Names of targets or classes. This argument can be used to provide human-readable class/target names for estimators which don't expose clss names themselves. It can be also used to rename estimator-provided classes before displaying them. This argument may be supported or not, depending on estimator type. targets : list, optional Order of class/target names to show. This argument can be also used to show information only for a subset of classes. It should be a list of class / target names which match either names provided by an estimator or names defined in ``target_names`` parameter. This argument may be supported or not, depending on estimator type. feature_names : list, optional A list of feature names. It allows to specify feature names when they are not provided by an estimator object. This argument may be supported or not, depending on estimator type. feature_re : str, optional Only feature names which match ``feature_re`` regex are shown (more precisely, ``re.search(feature_re, x)`` is checked). feature_filter : Callable[[str], bool], optional Only feature names for which ``feature_filter`` function returns True are shown. show : List[str], optional List of sections to show. Allowed values: * 'targets' - per-target feature weights; * 'transition_features' - transition features of a CRF model; * 'feature_importances' - feature importances of a decision tree or an ensemble-based estimator; * 'decision_tree' - decision tree in a graphical form; * 'method' - a string with explanation method; * 'description' - description of explanation method and its caveats. ``eli5.formatters.fields`` provides constants that cover common cases: ``INFO`` (method and description), ``WEIGHTS`` (all the rest), and ``ALL`` (all). horizontal_layout : bool When True, feature weight tables are printed horizontally (left to right); when False, feature weight tables are printed vertically (top to down). Default is True. highlight_spaces : bool or None, optional Whether to highlight spaces in feature names. This is useful if you work with text and have ngram features which may include spaces at left or right. Default is None, meaning that the value used is set automatically based on vectorizer and feature values. include_styles : bool Most styles are inline, but some are included separately in