我正在尝试使我的决策tree.below是我尝试过的代码
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'
如何解决此问题?
Sklearn文档指出export_graphviz
返回一个字符串,并且确实如此
仅当
out_file
是None
但是,您的代码还有更多问题。当export_graphviz
返回字符串时,一旦将其分配给out
,您将不再具有StringIO
对象,而是str
对象。要将返回的值保存到StringIO
对象,请勿提供out_file
并保存到out
,如下所示:
print >>out, tree.export_graphviz(clf)
由于您写了from StringIO import StringIO
,所以我正在使用Python2.x。