如何从 gridsearchcv 绘制决策树?

2024-07-01

我试图绘制由 GridSearchCV 形成的决策树,但它给了我一个属性错误。

AttributeError: 'GridSearchCV' object has no attribute 'n_features_'

但是,如果我尝试在没有 GridSearchCv 的情况下绘制正常的决策树,那么它会成功打印。

代码[没有gridsearchcv的决策树]

# dtc_entropy : decison tree classifier based on entropy/information Gain
#plotting : decision tree on information/entropy  based

from sklearn.tree import export_graphviz
import graphviz

feature_names = x.columns

dot_data = export_graphviz(dtc_entropy, out_file=None, filled=True, rounded=True,
                                feature_names=feature_names,  
                                class_names=['0','1','2'])
graph = graphviz.Source(dot_data)  
graph                           ### --------------> WORKS 

代码[带有gridsearchcv的决策树]

#plotting : decision tree with GRIDSEARCHCV (dtc_gscv)  on information/entropy  based
from sklearn.tree import export_graphviz
import graphviz

feature_names = x.columns

dot_data = export_graphviz(dtc_gscv, out_file=None, filled=True, rounded=True,
                                feature_names=feature_names,  
                                class_names=['0','1','2'])
graph = graphviz.Source(dot_data)  
graph                            ##### ------------> ERROR

Error

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-201-603524707f02> in <module>()
      6 dot_data = export_graphviz(dtc_gscv, out_file=None, filled=True, rounded=True,
      7                                 feature_names=feature_names,
----> 8                                 class_names=['0','1','2'])
      9 graph = graphviz.Source(dot_data)
     10 graph

1 frames
/usr/local/lib/python3.6/dist-packages/sklearn/tree/_export.py in export(self, decision_tree)
    393         # n_features_ in the decision_tree
    394         if self.feature_names is not None:
--> 395             if len(self.feature_names) != decision_tree.n_features_:
    396                 raise ValueError("Length of feature_names, %d "
    397                                  "does not match number of features, %d"

AttributeError: 'GridSearchCV' object has no attribute 'n_features_'

基于GridSearchCV的决策树代码

dtc=DecisionTreeClassifier()

#use gridsearch to test all values for n_neighbors
dtc_gscv = gsc(dtc, parameter_grid, cv=5,scoring='accuracy',n_jobs=-1)

#fit model to data
dtc_gscv.fit(x_train,y_train)

One solution从 gridsearchCV 中获取最佳参数,然后用这些参数形成决策树并绘制树。

但是有没有办法打印基于GridSearchCV的决策树。


您可以尝试:

dot_data = export_graphviz(dtc_gscv.best_estimator_, out_file=None, 
            filled=True, rounded=True, feature_names=feature_names, class_names=['0','1','2'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 gridsearchcv 绘制决策树? 的相关文章

  • 持久子进程.Popen 会话

    我正在尝试运行一个命令 然后在同一环境中运行另一个命令 比如说 如果我在第一个命令中设置环境变量 我希望它可用于第二个命令 我试过这个 import subprocess process subprocess Popen echo test
  • pandas.algos._return_false 在 CentOS 上使用 dill.dump_session 导致 PicklingError

    我有一个代码框架 其中涉及使用 dill 转储会话 这曾经工作得很好 直到我开始使用 pandas 以下代码在 CentOS 6 5 版本上引发 PicklingError import pandas import dill dill du
  • 在Python中使用argparse解析整个JSON

    我正在尝试使用 ARGPARSE 库在一个简单的参数中解析整个 Json 问题是当它遇到儿子内部的不同元素 例如 和 时 它会突然停止 这是测试代码 parse py import argparse parser argparse Argu
  • 二维数组 matplotlib 的颜色图

    所以 我认为这会非常简单 但我一直很难在一个易于理解的示例中找到我正在寻找的内容 基本上我想制作相图 所以假设我有一个二维数组 我怎样才能让 matplotlib 将其转换为我可以附加标题 轴和图例 彩条 的图 我正在寻找一种极其简单的基本
  • 在 Python 中获取连接的 VPN 名称

    我正在尝试检索已连接的 VPN 的名称 我运行的是 Fedora 23 因此连接在 etc NetworkManager system connections 中得到了很好的枚举 其中一个文件列出了 VPN 配置的每个参数 包括我要查找的
  • Flask - 在请求之间将值存储在内存中

    我有一个单页应用程序 前端是 Angularjs 后端是 Flask 它允许用户上传文件 xlsx csv 然后交互式地分析 查询文件 本质上 用户在第一次上传时将文件加载到内存中 然后后续的 ajax 调用将访问内存中的该文件 我不确定如
  • Pytorch不支持one-hot向量?

    我对 Pytorch 如何处理 one hot 向量感到非常困惑 在这个tutorial https pytorch org tutorials beginner blitz cifar10 tutorial html 神经网络将生成一个
  • PyCharm 项目文件消失了

    我当时正在做一个 python 项目JetBrains PyCharm 2016 2 https www jetbrains com pycharm 在 Lubuntu 上 突然之间 我的所有项目文件都从 IDE 中消失了 我尝试了以下方法
  • TypedDict 中的 Python 任意键

    是否可以使用一组已知键创建 TypedDict 然后创建任意键的类型 例如 在 TypeScript 中 我可以这样做 interface Sample x boolean y number name string string Pytho
  • PyCharm 中的进程已完成,退出代码为 137

    当我在 PyCharm 中手动停止脚本时 进程以退出代码 137 结束 但我没有停止脚本 仍然得到退出代码 137 有什么问题吗 Python版本是3 6 运行xgboost train 方法时处理完成 退出代码 137 意味着您的进程被
  • numpy 不规则跨步数组

    引用文档 http docs scipy org doc numpy reference arrays ndarray html internal memory layout of an ndarray关于内存中的 numpy 数组结构 N
  • 使用 Fabric 检查路径是否存在

    我正在运行此代码来检查此目录是否存在于远程计算机上 但此代码正在检查本地计算机上的目录 如何验证远程计算机上的目录 rom fabric api import run sudo env import os env hosts remote
  • Python 程序员资源 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SQLalchemy“load_only”不只加载指定的列

    我正在尝试从带有 sqlalchemy 的表中选择列的子集load only功能 不幸的是 它似乎不仅仅返回函数调用中指定的列 具体来说 它似乎还获取主键 在我的例子中 是一个 auto increment id 字段 一个简单的例子 如果
  • 如何使 Selenium WebDriver 不等待整个页面加载

    我正在使用 python 2 7 和 Selenium webdriver for Firefox 我有一个无法解决或在互联网上找到解决方案的问题 我的任务是打开大约 10k 个网页 adsl 路由器 Web 界面 通过 IP 地址 并上传
  • PySpark 将模型预测与未转换的数据对齐:最佳实践

    使用 PySpark 的 ML 模块 经常会发生以下步骤 在数据清理之后等 执行特征和目标转换管道 创建模型 从模型生成预测 将预测和原始数据集合并在一起 供业务用户和模型验证之用 摘取一段精简的代码片段 predictions model
  • 与 Pandas DataFrame 列表列的比较

    我有一个像这样的数据框 df col1 col2 a 1 2 b 3 4 c 3 9 我想根据匹配的输入数组获取行 因此如果我有数组 1 2 我可以获得 col1 col2 a 1 2 当我尝试使用此公式执行此操作时 它不起作用 df lo
  • 为什么 a.insert(0,0) 比 a[0:0]=[0] 慢很多?

    使用列表的insert函数比使用切片分配实现相同效果要慢得多 gt python m timeit n 100000 s a a insert 0 0 100000 loops best of 5 19 2 usec per loop gt
  • PDFMiner - 迭代页面并将其转换为文本

    所以我试图从一些 PDF 中获取特定的文本 并且我将 Python 与 PDFMiner 一起使用 但由于 API 发生的更改而遇到了一些问题2013年11月 https github com euske pdfminer api chan
  • XPath 错误:[contains(text()="something")]' 不是有效的 XPath 表达式

    在观看了关于 XPath 的非常基本的教程之后 我第一次使用 selenium 构建一个应用程序 该应用程序包含卡的奖金计算器 我写了这段代码 from selenium webdriver import Chrome from webdr

随机推荐