鸢尾花(Iris)数据集
鸢尾花数据集
- 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)数据集相关推荐
- 【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
本文摘要 · 理论来源:[统计学习方法]第七章 SVM · 技术支持:pandas(读csv).numpy.sklearn.svm.svm思想.matplotlib.pyplot(绘图) · 代码目的 ...
- 【统计学习方法】朴素贝叶斯对鸢尾花(iris)数据集进行训练预测
本文摘要 · 理论来源:[统计学习方法]第三四章 朴素贝叶斯 · 技术支持:pandas(读csv).numpy.sklearn.naive_bayes.GaussianNB(高斯朴素贝叶斯模型).s ...
- 【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类
本文摘要 · 理论来源:[统计学习方法]第三章 K近邻 · 技术支持:pandas(读csv).collections.Counter(统计).numpy.sklearn.neighbors.KNei ...
- 【统计学习方法】感知机对鸢尾花(iris)数据集进行二分类
本文摘要 · 理论来源:[统计学习方法]第二章 感知机 · 技术支持:pandas(读csv).matplotlib(画图).numpy.sklearn.linear_model.Perceptron ...
- ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型
ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型 目录 输出结果 实现代码 输出结果 (1).黄色的点为支持 ...
- MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比
MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比 目录 输出结果 实现代码 输出结果 实现代码 load iris_data.mat P_train ...
- MAT之GRNN/PNN:基于GRNN、PNN两神经网络实现并比较鸢尾花(iris数据集)种类识别正确率、各个模型运行时间对比
MAT之GRNN/PNN:基于GRNN.PNN两神经网络实现并比较鸢尾花(iris数据集)种类识别正确率.各个模型运行时间对比 目录 输出结果 实现代码 输出结果 实现代码 load iris_dat ...
- iris数据_MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比...
MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比 目录 输出结果 实现代码 输出结果 实现代码 load iris_data.mat P_trai ...
- [机器学习-sklearn]鸢尾花Iris数据集
鸢尾花数据集 1. 鸢尾花Iris数据集介绍 2. Sklearn代码获取Iris 2. 描述性统计 3. 箱线图 4. 数据分布情况 1. 鸢尾花Iris数据集介绍 Iris flower数据集是1 ...
- sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类
后面对Sklearn的学习主要以<Python机器学习基础教程>和<机器学习实战基于scikit-learn和tensorflow>,两本互为补充进行学习,下面是开篇的学习内容 ...
最新文章
- 还有人记得【日之韵】吗?——提供下载
- UA MATH575B 数值分析下I 梯度下降
- Android开发--源码学习
- 《Netkiller Spring Cloud 手札》之 Master / Slave 主从数据库数据源配置
- 一卡通大冒险(hdu2512)
- oracle数据库倒顺,mysql常用命令
- matlab胡良剑第五章,MATLAB习题参考答案(胡良剑,孙晓君)
- oracle的awr日志,oracle 导出awr信息
- bdm导入mysql_MySQL数据库导入教程
- c中static的含义
- 【Java实现PDF文件转换为图片】
- shape from shading
- Python如何判断某天是星期几
- 【Knowledge】Apex callout 与外部service的统合
- sony6000正在连接服务器,极速对焦+11张每秒连拍 Sony A6000评测
- 快速保存网页中所有图片的方法
- 【VBA】在word中写多级列表
- 数据库Oracle基本命令
- python能参加奥赛吗-【家长必读】孩子学编程能参加哪些高含金量的比赛?
- android布局的效率对比,Android使用ViewStub提高布局性能
热门文章
- 全国计算机等级考试专用辅导教程,全国计算机等级考试专用辅导教程:二级Visual FoxPro...
- linux安装monaco字体
- 【日常小问题3】win10电脑忘记开机密码的解锁方法【转载】
- FPGA SPI协议
- 计算机创业计划书800字大全,大学生创业计划书800字左右.docx
- edius隐藏快捷键_EDIUS7 Pro快捷键使用方法及全部快捷键功能
- C#Winform使用Chrome内核WebKitBrowser
- Java扫雷游戏的设计与实现毕业设计论文
- HackerRank Breadth First Search: Shortest Reach
- linux下使用ffmpeg下载m3u8视频