打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
成功解决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 
     <style> tag;
    you can omit them by passing ``include_styles=False``. 
     Default is True.
    
    **kwargs: dict
    Keyword arguments. All keyword arguments are passed to
    concrete explain_weights... implementations.
    
    Returns
    -------
    IPython.display.HTML
    The result is printed in IPython notebook as an HTML 
     widget.
    If you need to display several explanations as an output of 
     a single
    cell, or if you want to display it from a function then use
    IPython.display.display::
    
    from IPython.display import display
    display(eli5.show_weights(clf1))
    display(eli5.show_weights(clf2))
    
    """
    format_kwargs, explain_kwargs = _split_kwargs(kwargs)
    expl = explain_weights(estimator, **explain_kwargs)
    _set_html_kwargs_defaults(format_kwargs)
    html = format_as_html(expl, **format_kwargs)
    return HTML(html)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python函数详解
Unexpected Exception: TypeError: result is null.
horus questions
新手上路必学的Python函数基础知识,全在这里了(多段代码举例)
牛逼!Python错误、异常和模块(长文系列第4篇)
python自学日记12——类和函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服