特征分布图

import pandas as pd
from matplotlib import pyplot as plt
from sklearn.manifold import TSNE
seed = 0
import numpy as np


def visualize_embeddings(embeddings, labels, figsize=(16, 16)):
    # Extract TSNE values from embeddings
    embed2D = TSNE(n_components=2, n_jobs=-1, random_state=seed).fit_transform(embeddings)
    embed2D_x = embed2D[:, 0]
    embed2D_y = embed2D[:, 1]

    # Create dataframe with labels and TSNE values
    df_embed = pd.DataFrame({'labels': labels})
    df_embed = df_embed.assign(x=embed2D_x, y=embed2D_y)

    # Create classes dataframes
    df_embed_cbb = df_embed[df_embed['labels'] == 0]
    df_embed_cbsd = df_embed[df_embed['labels'] == 1]
    df_embed_cgm = df_embed[df_embed['labels'] == 2]
    df_embed_cmd = df_embed[df_embed['labels'] == 3]
    df_embed_healthy = df_embed[df_embed['labels'] == 4]

    # Plot embeddings
    plt.figure(figsize=figsize)
    plt.scatter(df_embed_cbb['x'], df_embed_cbb['y'], color='yellow', s=10, label='CBB')
    plt.scatter(df_embed_cbsd['x'], df_embed_cbsd['y'], color='blue', s=10, label='CBSD')
    plt.scatter(df_embed_cgm['x'], df_embed_cgm['y'], color='red', s=10, label='CGM')
    plt.scatter(df_embed_cmd['x'], df_embed_cmd['y'], color='orange', s=10, label='CMD')
    plt.scatter(df_embed_healthy['x'], df_embed_healthy['y'], color='green', s=10, label='Healthy')

	#以下
	df = []
    for i in range(5):
        df.append(df_embed[df_embed['labels'] == i])

    plt.figure(figsize=figsize)
    for i in range(5):
        plt.scatter(df[i]['x'], df[i]['y'], s=10)

    plt.legend()
    plt.show()

#参数为特征及标签
embed = np.random.random([50,100])
lable = np.random.randint(0,5,[50])
visualize_embeddings(embed,lable)


[项目链接](https://www.kaggle.com/dimitreoliveira/cassava-leaf-supervised-contrastive-learning)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值