分类模型的预测概率解读:3D概率分布可视化的直观呈现

图片

背景

在分类模型中,预测概率不仅是结果,更是模型决策的关键依据。为了更直观地理解这些概率分布,3D可视化提供了一种生动的展示方式,本文通过3D概率分布图,直观展示分类模型的预测概率

代码实现

基于时间序列的3D分布可视化

import datetime
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import pandas as pd
plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['axes.unicode_minus'] = False
# 示例数据,用于演示
num_samples = 100  # 时间间隔的数量(样本数量)
categories = ['Class A', 'Class B', 'Class C']  # 示例类别名称
probability_df = pd.DataFrame(
    np.random.rand(num_samples, len(categories)),  
    columns=categories
)

# 每个类别的颜色
colors = ['#FF9999', '#99CCFF', '#99FF99']  # 柔和的红色、蓝色和绿色

# 生成时间戳,用作x轴(模拟时间间隔)
start_time = datetime.datetime.now()  # 当前时间作为起点
time_stamps = [start_time + datetime.timedelta(minutes=5 * i) for i in range(num_samples)]  # 每隔5分钟生成一个时间点
time_labels = [ts.strftime('%H:%M') for ts in time_stamps]  # 格式化时间戳为“小时:分钟”形式

# 创建图形和3D坐标轴
fig = plt.figure(figsize=(20, 20))  # 设置图形大小
ax = fig.add_subplot(111, projection='3d')  # 添加3D子图

# 将x值设置为时间索引
x = np.arange(probability_df.shape[0])  # x表示时间序列的索引

# 为每个类别绘制概率分布的曲面图
for i, col in enumerate(probability_df.columns):
    y = np.full_like(x, i)  # y值固定为类别的索引
    z = probability_df[col].values  

    # 定义多边形的顶点
    verts = [[(x[0], y[0], 0)] + [(x[j], y[j], z[j]) for j in range(len(x))] + [(x[-1], y[-1], 0)]]
    poly = Poly3DCollection(
        verts,  # 多边形顶点列表
        facecolors=colors[i % len(colors)],  # 多边形的填充颜色
        edgecolors=colors[i % len(colors)],  # 多边形的边界颜色
        alpha=0.7,  # 透明度
        lw=1.5  # 边框宽度
    )
    ax.add_collection3d(poly)  # 将多边形添加到3D坐标轴

# 设置坐标轴的范围和标签
ax.set_xlim(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python机器学习AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值