决策树实现鸢尾花分类

介绍

在这篇博客中,我们使用以下几个库来实现决策树算法

  • scikit-learn机器学习库

scikit-learn最先是由David Cournapeau在2007年发起的一个Google Summer of Code项目,从那时起这个项目就已经拥有很多的贡献者了,该项目目前也是由一个志愿者团队在维护着。scikit-learn是python的一个开源机器学习模块,它建立在numpy,scipy和matplotlib模块之上。scikit-learn最大的特点就是,为用户提供各种机器学习算法接口,可以让用户简单、高效地进行数据挖掘和数据分析。
scikit-learn内包含了常用的机器学习数据集,比如做分类的iris和digit数据集,用于回归的经典数据集Boston house prices。scikit-learn载入的数据集是以类似于字典的形式存放的,该对象中包含了所有有关该数据的数据信息(甚至还有参考文献)。其中的数据值统一存放在.data的成员中。

  • numpy

NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!

  • pandas

Pandas是一个开源的Python数据分析库。Pandas把结构化数据分为了三类:
1)Series,1维序列,可视作为没有column名的、只有一个column的DataFrame;
2)DataFrame,同Spark SQL中的DataFrame一样,其概念来自于R语言,为多column并schema化的2维结构化数据,可视作为Series的容器(container);
3)Panel,为3维的结构化数据,可视作为DataFrame的容器;

  • matplotlib

matplotlib是一个python的数据可视化模块,能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图,3D 图和地图图表。

  • seaborn

seaborn与matlotlib同出一源,只是把matplotlib进行了封装,让许多方法调用时变得更加简便。简单的操作就能够画出更加复杂的图像。由于seaborn是调用的matplotlib,在使用时,两个库可以进行相互操作。

导入库
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
from sklearn import tree
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.externals import joblib

数据集

鸢尾花数据集(iris_data)是原则20世纪30年代的经典数据集。它是用统计进行分类的鼻祖。

1)下面我们从scikit-learn接口导入数据集(第一行)

在导入数据集后我们打印前五行发现每个样本有五个参数,分别为花萼长度、花萼宽度、花瓣长度、花瓣宽度和所属类别(山鸢尾花、变色鸢尾花和维吉尼亚鸢尾花)。

iris=sns.load_dataset("iris")
print(iris.head())
   sepal_length  sepal_width  petal_length  petal_width speci
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值