export_graphviz 返回 NoneType
Posted
技术标签:
【中文标题】export_graphviz 返回 NoneType【英文标题】:export_graphviz return NoneType 【发布时间】:2017-05-05 13:54:58 【问题描述】:我正在尝试可视化我的决策树。下面是我尝试过的代码
from StringIO import StringIO
from sklearn import tree
out = StringIO()
clf =DecisionTreeClassifier(X,y)
out = tree.export_graphviz(clf, out_file=out)
print out.getvalue()
下面是我遇到的错误
AttributeError Traceback (most recent call last)
<ipython-input-33-7b068216688f> in <module>()
4
5 out = tree.export_graphviz(clf, out_file=out)
----> 6 print out.getvalue()
AttributeError: 'NoneType' object has no attribute 'getvalue'
我该如何解决这个问题?
【问题讨论】:
看到这个:***.com/questions/27817994/… 【参考方案1】:sklearn documentation 声明 export_graphviz
返回一个字符串,它确实这样做了
仅当
out_file
是None
但是,您的代码存在更多问题。由于export_graphviz
返回一个字符串,一旦你将它分配给out
,你就不再有StringIO
对象,而是一个str
对象。要将返回值保存到StringIO
对象,请不要提供out_file
,并保存到out
,如下所示:
print >>out, tree.export_graphviz(clf)
既然您写了from StringIO import StringIO
,我假设您使用的是 Python 2.x。
【讨论】:
以上是关于export_graphviz 返回 NoneType的主要内容,如果未能解决你的问题,请参考以下文章
python"TypeError: 'NoneType' object is not iterable"错误解析