export_graphviz返回NoneType

时间:2016-12-20 11:03:19

标签: python scikit-learn decision-tree

我正试图看到我的决定树。下面是我试过的代码

 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'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

sklearn documentation声明export_graphviz返回一个字符串,它就是这样做

  

仅当out_fileNone

但是,您的代码存在更多问题。当export_graphviz返回字符串时,将其分配给out后,您将不再拥有StringIO个对象,而是str个对象。要将返回的值保存到StringIO对象,请不要提供out_file并保存到out,如下所示:

print >>out, tree.export_graphviz(clf)

因为你写from StringIO import StringIO我在假设你使用的是Python 2.x。