NameError:名称“树”未定义
Posted
技术标签:
【中文标题】NameError:名称“树”未定义【英文标题】:NameError: name 'tree' is not defined 【发布时间】:2017-08-16 04:35:03 【问题描述】:嘿,我是 Python 新手,我正在尝试按照教程进行操作,但出现此错误:
。
目标显然是让程序根据输入的特征来确定水果是苹果还是橙子。我在 Win 10 上使用 Python 3.6 和 spyder 编辑器。我相信这很简单,感谢您的帮助!
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
# features = [[140, "smooth"], [130, "smooth"], [150, "bumpy"], [170, "bumpy"]]
# labels = ["apple", "apple", "orange", "orange"]
features = [[140, 1], [130, 1], [150, 0], [170, 0]]
labels = [0, 0, 1, 1]
# We build a "Decision Tree" yes/no -> yes/no
# clf means classifier
clf = tree.DecisionTreeClassifier()
# Think of "fit" as "find patters in data"
clf = clf.fit(features, labels)
print (clf.predict([[160, 0]]))
【问题讨论】:
你必须导入一些模块。大概是教程里面写的吧。 【参考方案1】:将此添加到代码的顶部:
from sklearn import tree
这是假设您正在学习机器学习。
【讨论】:
我下载了必须包含 sklearn 的 anaconda,因为它在我导入后可以工作。非常感谢@BoobyTrap,不敢相信我没有看到。【参考方案2】:我试过这个from sklearn import tree
它在我的系统上不起作用。
然后我尝试了这个from sklearn.tree import DecisionTreeClassifier
并工作了。
这当然是在安装sklearn
之后。
【讨论】:
为什么这个答案被否决了!,你能给个充分的理由吗?【参考方案3】:使用前需要导入lib。
因此,要使用DecisionTreeClassifier
,请使用以下代码导入并运行。
from sklearn import tree.
...
dtree = tree.DecisionTreeClassifier()
另一种方法是导入类本身并直接使用它。例如
from sklearn.tree import DecisionTreeClassifier
...
dtree = DecisionTreeClassifier()
【讨论】:
不知道为什么这被否决但解决了我的问题。导入声明是正确的并且适用于。可能一个解释可能会奏效。以上是关于NameError:名称“树”未定义的主要内容,如果未能解决你的问题,请参考以下文章
python:NameError:全局名称'...'未定义[重复]