首页 > 分享 > Python机器学习实验 Python 数据可视化

Python机器学习实验 Python 数据可视化

1.实验目的

掌握 Matplotlib 数据可视化的常用方法。

2.实验内容

1.  绘制鸢尾花数据集的特征分布图

说明:鸢尾花是单子叶百合目花卉,是一种比较常见的花,鸢尾花的品种较多。 鸢尾花数据集最初由 Edgar Anderson  测量得到,而后在著名的统计学家和生物学

家 R.A Fisher 于 1936 年发表的文章中被使用。它是一个很小的数据集,仅有 150 行,5

列。该数据集的四个特征属性的取值都是数值型的,他们具有相同的量纲,不需要做 任何标准化的处理,第五列为通过前面四列所确定的鸢尾花所属的类别名称。

鸢尾花数据集有 4 个属性列和一个品种类别列:sepal length(萼片长度)、sepal width(萼片宽度)、petal length(花瓣长度)、petal width (花瓣宽度),单位都是 厘米。3 个品种类别是 Setosa、Versicolour、Virginica,样本数量 150 个,每类 50 个。

(1)使用 pandas.read_csv()函数读取“iris.csv”。 操作提示:

数据没有标题,设置参数 header=None。同时手动设置标题,如:df.columns = ['sepalLength','sepalWidth','petalLength','petalWidth','kind']。

图 5-1   鸢尾花数据集

import pandas as pd

df = pd.read_csv(r'D:iris.csv',header=None)

df.columns = ['sepalLength','sepalWidth','petalLength','petalWidth','kind']

print(df)

2)  绘制包含两个子图的图表。

先绘制第一幅子图,显示花瓣宽度和花萼宽度的对比散点图;再绘制第二幅子

图,显示花瓣宽度的条形图。完成效果如图 5-2 所示。

操作提示:

条形图的 X 轴上的数值数量与鸢尾花数据集的样本数量保存一致。

图 5-2   鸢尾花图表

import matplotlib.pyplot as plt

plt.scatter(df['sepalWidth'],df['petalWidth'])

plt.xlabel('sepalWidth')

plt.ylabel('petalWidth')

plt.title('花萼/花瓣宽度散点图')

plt.show()

index = range(len(df['petalWidth']))

plt.bar(index,df['petalWidth'])

plt.xlabel('index')

plt.ylabel('petalWidth')

plt.title('花萼/花瓣宽度条形图')

plt.show()

2.  多个图表的绘制

生成 0 到 10、间隔 0.1 的数值序列作为 x,绘制如下图所示的图表,各子图的内容 分别为:

第一幅子图:计算对应的 cos(x)函数值,根据数值和 cos 值绘制曲线图。 第二幅子图:绘制 y=2x、y=3x、y=4x 的直线组。

第三幅子图:以数值序列作为横轴,100 以内的随机作为纵轴,绘制绿色、“+”号 的散点图。

第四幅子图:绘制 y=sin(x)*ex/100 的曲线。

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(0, 10.1, 0.1)

plt.subplot(4, 1, 1)  

plt.plot(x, np.cos(x))

plt.title('y = cos(x)')

plt.xlabel('x')

plt.ylabel('y')

plt.subplot(4, 1, 2)  

for slope in [2, 3, 4]:

    plt.plot(x, slope * x, label=f'y={slope}x')

plt.title('y = mx Lines')

plt.xlabel('x')

plt.ylabel('y')

plt.legend()

plt.subplot(4, 1, 3)  

y_random = np.random.rand(len(x)) * 100  

plt.scatter(x, y_random, color='green', marker='+')

plt.title('Random Scatter Plot')

plt.xlabel('x')

plt.ylabel('y')

plt.subplot(4, 1, 4)  

y = np.sin(x) * np.exp(x) / 100

plt.plot(x, y)

plt.title('y = sin(x) * exp(x) / 100')

plt.xlabel('x')

plt.ylabel('y')

plt.tight_layout()

plt.show()

相关知识

Python机器学习基础教程
Python机器学习项目:农作物病虫害自动识别系统
鸢尾花Python数据分析
干货分享:Python数据分析工具
python 怎么加载鸢尾花数据
[Python] 机器学习
python 鸢尾花数据集下载
python的鸢尾花数据如何导入
python利用c4.5决策树对鸢尾花卉数据集进行分类(iris)
基于Python实现交互式数据可视化的工具(用于Web)

网址: Python机器学习实验 Python 数据可视化 https://m.huajiangbk.com/newsview1545133.html

所属分类:花卉
上一篇: 职业技术学院开展第一期“夯实基础
下一篇: 图表的标准规范