Python Matplotlib 折线图绘制:隐私预算与模型精度可视化

本教程将使用 Python 的 Matplotlib 库绘制折线图,展示不同隐私预算下机器学习模型的测试集和训练集精度变化趋势。

数据示例

以下表格展示了不同隐私预算下模型在不同训练次数的测试集和训练集精度。

隐私预算 = 1

| 次数 | 1 | 2 | 3 | 平均 | |---|---|---|---|---| | 测试集精度% | 40 | 13.33 | 70 | 41.11 | | 训练集精度% | 38.18 | 9.8 | 72.88 | 40.28666667 |

隐私预算 = 2

| 次数 | 1 | 2 | 3 | 平均 | |---|---|---|---|---| | 测试集精度% | 96.67 | 95 | 94.3 | 95.32333333 | | 训练集精度% | 96.26 | 95.51 | 95.75 | 95.84 |

隐私预算 = 3

| 次数 | 1 | 2 | 3 | 平均 | |---|---|---|---|---| | 测试集精度% | 96.67 | 96.67 | 96.67 | 96.67 | | 训练集精度% | 96.21 | 95.97 | 97.05 | 96.41 |

代码示例

import matplotlib.pyplot as plt

# 数据
privacy_budget = [1, 2, 3]

test_accuracy = [[40, 13.33, 70, 41.11],
                 [96.67, 95, 94.3, 95.32333333],
                 [96.67, 96.67, 96.67, 96.67]]

train_accuracy = [[38.18, 9.8, 72.88, 40.28666667],
                  [96.26, 95.51, 95.75, 95.84],
                  [96.21, 95.97, 97.05, 96.41]]

# 创建子图
fig, ax = plt.subplots()

# 绘制折线图
for i in range(len(privacy_budget)):
    ax.plot(range(1, len(test_accuracy[i])+1), test_accuracy[i], marker='o', label=f'测试集精度% (隐私预算={privacy_budget[i]})')
    ax.plot(range(1, len(train_accuracy[i])+1), train_accuracy[i], marker='o', label=f'训练集精度% (隐私预算={privacy_budget[i]})')

# 设置图表标签和标题
ax.set_xlabel('次数')
ax.set_ylabel('准确度(%)')
ax.set_title('准确度 vs 次数')

# 添加图例
ax.legend()

# 显示网格线
ax.grid(True)

# 显示图表
plt.show()

代码解释

  1. 导入 Matplotlib 库: 使用 import matplotlib.pyplot as plt 导入 Matplotlib 库并将其简称为 plt
  2. 定义数据: 将不同隐私预算下的测试集精度和训练集精度分别存储在 test_accuracytrain_accuracy 列表中,将隐私预算存储在 privacy_budget 列表中。
  3. 创建子图: 使用 fig, ax = plt.subplots() 创建一个子图,其中 fig 表示整个图形对象,ax 表示子图对象。
  4. 绘制折线图: 使用循环遍历 privacy_budget 列表,对于每个隐私预算,分别绘制测试集精度和训练集精度对应的折线图。ax.plot() 函数用于绘制折线图,其中第一个参数表示 x 轴坐标,第二个参数表示 y 轴坐标,marker='o' 表示在数据点处添加圆形标记。label 参数用于设置图例标签,方便区分不同折线。
  5. 设置图表标签和标题: 使用 ax.set_xlabel()ax.set_ylabel()ax.set_title() 函数分别设置 x 轴标签、y 轴标签和图表标题。
  6. 添加图例: 使用 ax.legend() 函数显示图例。
  7. 显示网格线: 使用 ax.grid(True) 函数显示网格线。
  8. 显示图表: 使用 plt.show() 函数显示图表。

注意

本代码示例仅供参考,实际应用中请根据具体需求进行修改。例如,可以根据需要调整图表颜色、线型、标记等,也可以添加其他图表元素,例如文本注释、箭头等。

希望本教程能够帮助您使用 Matplotlib 库绘制折线图,展示不同隐私预算下机器学习模型的性能变化趋势。

Python Matplotlib 折线图绘制:隐私预算与模型精度可视化

原文地址: http://www.cveoy.top/t/topic/ok7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录