Today task:决策树实现鸢尾花数据分类。
鸢尾花数据集是sklearn 的内置非常好用的数据集,iris_datasets 含有150条数据,数据集有3个 label **山鸢尾,变色鸢尾,维吉尼亚鸢尾 **每个label 有 4 个特征:花萼长度,花萼宽度,花蕊长度,花蕊宽度,所以由此我们可以想到 鸢尾花的数据集是个 row = 150 ,column =4
的matrix,我们可以在IDE查看具体数据:
from sklearn.datasets import load_iris
iris = load_iris()
print(iris.data)
print(iris.target)
print(len(iris))
print iris.data.shape
ok baby 我们开始趴
整个过程代码:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
def decision_iris():
# 获取数据集
iris = load_iris()
# 划分数据集
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22)
# 决策树预估器
estimator = DecisionTreeClassifier(criterion="entropy")
estimator.fit(x_train, y_train)
# 模型评估
# 方法1:直接比对真实值和预测值
y_predict = estimator.predict(x_test)
print("y_predict:\n", y_predict)
print("直接比对真实值和预测值:\n", y_test == y_predict)
# 方法2:计算准确率
score = estimator.score(x_test, y_test)
print("准确率为:\n", score)
return None
if __name__ == "__main__":
# 用决策树对鸢尾花进行分类
decision_iris()