Python实现样本类别的可视化(绘制饼图,展示各类别样本的比例)

    在适应机器学习等模型来进行实验的时候,我们往往事先需要对原始数据样本的分布有一定的了解,初步了解我们的样本数据一共有多少类别,各个类别中样本数据的比例是否均衡,因为对于不均衡的数据比例会采用不同的模型,如:对于正负样本数据失衡的情况我们往往会采用异常点检测等方法,而不是SVM这类常规的检测模型。

     下面是简单的方法,通过对样本数据类别标签的展示来可视化不同类别样本数据的占比情况:

from collections import Counter
def sample_class_show(y,savepath='res.png'):
    '''
    绘制饼图,其中y是标签列表
    '''
    target_stats=Counter(y)
    labels=list(target_stats.keys())
    sizes=list(target_stats.values())
    explode=tuple([0.1] * len(target_stats))
    fig, ax=plt.subplots()
    ax.pie(sizes, explode=explode,labels=labels, shadow=True,autopct='%1.1f%%')
    ax.axis('equal')
    plt.savefig(savepath)

    简单测试如下:

    实验一:

       

y=[0,0,1,2,0,2,2,0,0,0,0,1,1,2,2,2,0,0,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,0,0]
sample_class_show(y,savepath='label_distribution.png')

    结果如下:


    实验二:

y=[0,0,1,2,0,2,2,0,0,0,3,3,3,3,3,0,1,1,2,2,3,3,3,3,2,0,0,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,0,3,3,0,1,1,1,2,2,2,0,0,3,3,3]
sample_class_show(y,savepath='label_distribution2.png')

    结果为:

    

   从上面的饼图中,我们可以很直观地看出来不同类别样本数据的不同占比情况,对于后续的处理有一定的帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Together_CZ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值