鸢尾花数据集

  • 1. 鸢尾花数据集下载
  • 2. Pandas库基础操作
  • 3. 数据可视化

1. 鸢尾花数据集下载

  • 下载鸢尾花数据集
tf.keras.utils.get_file(fname,origin,cache_dir)
参数 说明
fname 下载后的文件名
origin 文件的URL地址
cache_dir 下载后文件的存储位置
TRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file("iris_training.csv",TRAIN_URL)

iris_training.csv训练数据集,120条样本数据;iris_test.csv测试数据集,30条数据。本文只用到训练数据集,其中有花萼长度(Sepal Length)、花萼宽度(Sepal Width)、花瓣长度(Petal Length)、花瓣宽度(Petal Width)四个属性。标签0、1、2分别表示山鸢尾(Setosa)、变色鸢尾(Versicolor)、维吉尼亚鸢尾(Virginical)。

  • split()函数(知识扩充):通过指定的分隔符对字符串进行切片,并返回一个列表。
TRAIN_URL.split("/")    #表示以 / 作分隔符
TRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)

2. Pandas库基础操作

用于数据统计和分析、可以高效、方便地操作大型数据集。

  • 导入Pandas
import pandas as pd
  • 读取csv数据集文件
#文件名参数
pd.read_csv(filepath_or_buffer,header,names)    #header=0(默认)设置第一行数据作为列标题,header=None表示没有列标题
column_names=['SepalLength','SepalWidth','PetalLength','Species']
df_iris=pd.read_csv(train_path,header=0,names=column_names)
df_iris.head()    #读取前n行数据,参数为空时,默认读取而是为数据表中的前5行数据

输出结果如下:

  • head()函数
    读取前n行数据,参数为空时,默认读取而是为数据表中的前5行数据。
  • tail()函数
    读取后n行数据,参数为空时,默认读取而是为数据表中的后5行数据
  • 索引和切片访问数据
    df_iris[n:m]表示读取行号n到行号m-1的数据样本
  • describe()函数
    显示二维数据的统计信息,输出总数、平均值、标准差、最小值等信息。
df_iris.describe()

输出结果如下:

  • DataFrame的常用属性
属性 描述
nmid 数据表的维数
shape 数据表的形状
size 数据表元素的总个数
df_iris=pd.read_csv(train_path)print(df_iris.ndim)  #2
print(df_iris.shape)  #(120, 4)
print(df_iris.size)  #480
  • 转化为NumPy数组
iris=np.array(df_iris)
print(type(df_iris))  #<class 'pandas.core.frame.DataFrame'>
print(type(iris))  #<class 'numpy.ndarray'>

转化为NumPy数组后,可以利用索引和切片访问数组元素,比如iris[0:6]表示读取前6行数据,iris[0:6,0:4]表示读取前6行数据的前4列。

3. 数据可视化

循环输出所有属性关系图

import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltTRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)column_names=['SepalLength','SepalWidth','PetalLength','PetalWidth','Species']
df_iris=pd.read_csv(train_path,header=0,names=column_names)iris=np.array(df_iris)fig=plt.figure('Iris Data',figsize=(15,15))plt.suptitle("Andreson's Iris Dara Set\n(Blue->Setosa|Red->Versicolor|Green->Virginical)")for i in range(4):for j in range(4):plt.subplot(4,4,4*i+(j+1))if(i==j):plt.text(0.3,0.4,column_names[i],fontsize=15)else:plt.scatter(iris[:,j],iris[:,i],c=iris[:,4],cmap='brg')if(i==0):plt.title(column_names[j])if(j==0):plt.ylabel(column_names[i])plt.show()

输出结果如下:

鸢尾花(Iris)数据集相关推荐

  1. 【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类

    本文摘要 · 理论来源:[统计学习方法]第七章 SVM · 技术支持:pandas(读csv).numpy.sklearn.svm.svm思想.matplotlib.pyplot(绘图) · 代码目的 ...

  2. 【统计学习方法】朴素贝叶斯对鸢尾花(iris)数据集进行训练预测

    本文摘要 · 理论来源:[统计学习方法]第三四章 朴素贝叶斯 · 技术支持:pandas(读csv).numpy.sklearn.naive_bayes.GaussianNB(高斯朴素贝叶斯模型).s ...

  3. 【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类

    本文摘要 · 理论来源:[统计学习方法]第三章 K近邻 · 技术支持:pandas(读csv).collections.Counter(统计).numpy.sklearn.neighbors.KNei ...

  4. 【统计学习方法】感知机对鸢尾花(iris)数据集进行二分类

    本文摘要 · 理论来源:[统计学习方法]第二章 感知机 · 技术支持:pandas(读csv).matplotlib(画图).numpy.sklearn.linear_model.Perceptron ...

  5. ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型

    ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型 目录 输出结果 实现代码 输出结果 (1).黄色的点为支持 ...

  6. MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比

    MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比 目录 输出结果 实现代码 输出结果 实现代码 load iris_data.mat P_train ...

  7. MAT之GRNN/PNN:基于GRNN、PNN两神经网络实现并比较鸢尾花(iris数据集)种类识别正确率、各个模型运行时间对比

    MAT之GRNN/PNN:基于GRNN.PNN两神经网络实现并比较鸢尾花(iris数据集)种类识别正确率.各个模型运行时间对比 目录 输出结果 实现代码 输出结果 实现代码 load iris_dat ...

  8. iris数据_MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比...

    MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比 目录 输出结果 实现代码 输出结果 ​ 实现代码 load iris_data.mat P_trai ...

  9. [机器学习-sklearn]鸢尾花Iris数据集

    鸢尾花数据集 1. 鸢尾花Iris数据集介绍 2. Sklearn代码获取Iris 2. 描述性统计 3. 箱线图 4. 数据分布情况 1. 鸢尾花Iris数据集介绍 Iris flower数据集是1 ...

  10. sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类

    后面对Sklearn的学习主要以<Python机器学习基础教程>和<机器学习实战基于scikit-learn和tensorflow>,两本互为补充进行学习,下面是开篇的学习内容 ...

最新文章

  1. 还有人记得【日之韵】吗?——提供下载
  2. UA MATH575B 数值分析下I 梯度下降
  3. Android开发--源码学习
  4. 《Netkiller Spring Cloud 手札》之 Master / Slave 主从数据库数据源配置
  5. 一卡通大冒险(hdu2512)
  6. oracle数据库倒顺,mysql常用命令
  7. matlab胡良剑第五章,MATLAB习题参考答案(胡良剑,孙晓君)
  8. oracle的awr日志,oracle 导出awr信息
  9. bdm导入mysql_MySQL数据库导入教程
  10. c中static的含义
  11. 【Java实现PDF文件转换为图片】
  12. shape from shading
  13. Python如何判断某天是星期几
  14. 【Knowledge】Apex callout 与外部service的统合
  15. sony6000正在连接服务器,极速对焦+11张每秒连拍 Sony A6000评测
  16. 快速保存网页中所有图片的方法
  17. 【VBA】在word中写多级列表
  18. 数据库Oracle基本命令
  19. python能参加奥赛吗-【家长必读】孩子学编程能参加哪些高含金量的比赛?
  20. android布局的效率对比,Android使用ViewStub提高布局性能

热门文章

  1. 全国计算机等级考试专用辅导教程,全国计算机等级考试专用辅导教程:二级Visual FoxPro...
  2. linux安装monaco字体
  3. 【日常小问题3】win10电脑忘记开机密码的解锁方法【转载】
  4. FPGA SPI协议
  5. 计算机创业计划书800字大全,大学生创业计划书800字左右.docx
  6. edius隐藏快捷键_EDIUS7 Pro快捷键使用方法及全部快捷键功能
  7. C#Winform使用Chrome内核WebKitBrowser
  8. Java扫雷游戏的设计与实现毕业设计论文
  9. HackerRank Breadth First Search: Shortest Reach
  10. linux下使用ffmpeg下载m3u8视频