当前位置:   article > 正文

python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证_利用scikit-learn中的决策树分类器实现鸢尾花数据的分类,绘制出最终的树。

利用scikit-learn中的决策树分类器实现鸢尾花数据的分类,绘制出最终的树。

在这篇文章中,我将使用python中的决策树(用于分类)。最近我们被客户要求撰写关于决策树的研究报告,包括一些图形和统计输出。重点将放在基础知识和对最终决策树的理解上。

 视频:从决策树到随机森林:R语言信用卡违约分析信贷数据实例

从决策树到随机森林:R语言信用卡违约分析信贷数据实例

,时长10:11

导入

因此,首先我们进行一些导入。

  1. from __future__ import print_function
  2. import os
  3. import subprocess
  4. import pandas as pd
  5. import numpy as np
  6. from sklearn.tree import DecisionTreeClassifier, export_graphviz

数据

接下来,我们需要考虑一些数据。我将使用著名的iris数据集,该数据集可对各种不同的iris类型进行各种测量。pandas和sckit-learn都可以轻松导入这些数据,我将使用pandas编写一个从csv文件导入的函数。这样做的目的是演示如何将scikit-learn与pandas一起使用。因此,我们定义了一个获取iris数据的函数:

  1. def get_iris_data():
  2. """从本地csv或pandas中获取iris数据。"""
  3. if os.path.exists("iris.csv"):
  4. print("-- iris.csv found locally")
  5. df = pd.read_csv("iris.csv", index_col=0)
  6. else:
  7. print("-- trying to download from github")
  8. fn = "https://raw.githubusercontent.com/pydata/pandas/" + \
  9. "master/pandas/tests/data/iris.csv"
  10. try:
  11. df = pd.read_csv(fn)
  12. except:
  13. exit("-- Unable to download iris.csv")
  14. with open("iris.csv", 'w') as f:
  15. print("-- writing to local iris.csv file")
  16. df.to_csv(f)
  17. return df

  • 此函数首先尝试在本地读取数据。利用os.path.exists() 方法。如果在本地目录中找到iris.csv文件,则使用pandas通过pd.read_csv()读取文件。
  • 如果本地iris.csv没有发现,抓取URL数据来运行。

下一步是获取数据,并使用head()和tail()方法查看数据的样子。因此,首先获取数据:

  1. df = get_iris_data()
  2. -- iris.csv found locally

然后 :

  1. print("* df.head()", df.head(), sep="\n", end="\n\n")
  2. print("* df.tail()", df.tail(), sep="\n", end="\n\n")
  3. * df.head()
  4. SepalLength SepalWidth PetalLength PetalWidth Name
  5. 0 5.1 3.5 1.4 0.2 Iris-setosa
  6. 1 4.9 3.0 1.4 0.2 Iris-setosa
  7. 2 4.7 3.2 1.3 0.2 Iris-setosa
  8. 3 4.6 3.1 1.5 0.2 Iris-setosa
  9. 4 5.0 3.6 1.4 0.2 Iris-setosa
  10. * df.tail()
  11. SepalLength SepalWidth PetalLength PetalWidth Name
  12. 145 6.7 3.0 5.2 2.3 Iris-virginica
  13. 146 6.3 2.5 5.0 1.9 Iris-virginica
  14. 147 6.
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号