sklearn Iris 数据集是机器学习和数据科学中经常使用的一个标准数据集,用于分类任务
from sklearn import datasets # 加载 Iris 数据集 iris = datasets.load_iris() # 查看数据集中的特征名称 print("特征名称:", iris.feature_names) # 查看数据集中的目标类别(鸢尾花的种类) print("目标类别:", iris.target_names) # 查看数据集中的前 5 个样本 print("前 5 个样本:n", iris.data[:5]) # 查看这 5 个样本对应的类别标签 print("对应的类别标签:", iris.target[:5])
12345678910111213141516# 导入所需的库和模块 from collections import Counter, defaultdict # 用于计数和默认字典 import matplotlib # 绘图库 import matplotlib.pyplot as plt # 绘图库的pyplot模块,用于绘图 import numpy as np # 用于数值计算的库 from sklearn import datasets # 从scikit-learn库中导入数据集模块 # 加载鸢尾花数据集 iris_datas = datasets.load_iris() # 加载数据集,并存储在iris_datas变量中 Iris 数据集是机器学习和数据科学中经常使用的一个标准数据集,用于分类任务 # 设置matplotlib的字体和符号,以便正常显示中文和负号 plt.rcParams['font.sans-serif']=['SimHei'] # 设置字体为SimHei,用于正常显示中文标签 plt.rcParams['axes.unicode_minus']=False # 设置正常显示负号 # 设置点的不同形状,不同形状默认颜色不同,也可自定义 style_list = ['o', '^', 's'] # 从数据集中提取特征和标签 data = iris_datas.data # 提取特征数据 labels = iris_datas.target_names # 提取标签名称 # 使用defaultdict创建一个字典,用于按标签分类存储数据 cc = defaultdict(list) for i, d in enumerate(data): cc[labels[int(i/50)]].append(d) # 将每个数据点根据其标签添加到相应的列表中 # 创建空列表,用于存储绘制的图形和类别名称 p_list = [] # 存储绘制的图形 c_list = [] # 存储类别名称 # 循环遍历,分别绘制花萼和花瓣的长度和宽度关系图 for each in [0, 2]: # each为0时绘制花萼,为2时绘制花瓣 for i, (c, ds) in enumerate(cc.items()): # 遍历每个类别及其对应的数据点 draw_data = np.array(ds) # 将数据转换为numpy数组,方便后续处理 # 绘制散点图,x轴为长度,y轴为宽度,形状根据类别设置 p = plt.plot(draw_data[:, each], draw_data[:, each+1], style_list[i]) p_list.append(p) # 将绘制的图形添加到列表中 c_list.append(c) # 将类别名称添加到列表中 # 设置图例,标题和坐标轴标签 plt.legend(map(lambda x: x[0], p_list), c_list) # 设置图例,显示类别名称和对应的图形 plt.title('鸢尾花花瓣的长度和宽度') if each else plt.title('鸢尾花花萼的长度和宽度') # 设置标题 plt.xlabel('花瓣的长度(cm)') if each else plt.xlabel('花萼的长度(cm)') # 设置x轴标签 plt.ylabel('花瓣的宽度(cm)') if each else plt.ylabel('花萼的宽度(cm)') # 设置y轴标签 plt.show() # 显示图形
12345678910111213141516171819202122232425262728293031323334353637383940414243