openAI|以 2D 或 3D 形式可视化嵌入

本文介绍了如何使用t-SNE算法将高维的语言嵌入降至2维,并将结果可视化成散点图。在这个例子中,我们使用了亚马逊上的食品评论数据集,并将每个评论的打分映射成了散点图上点的颜色。

在 2D 中可视化嵌入

我们将使用 t-SNE 将嵌入的维数从 1536 减少到 2。一旦嵌入减少到二维,我们就可以在二维散点图中绘制它们。 数据集在 Obtain_dataset Notebook 中创建。

1.降维

我们使用 t-SNE 分解将维度降为 2 维。

import pandas as pd
from sklearn.manifold import TSNE
import numpy as np

# Load the embeddings
datafile_path = "data/fine_food_reviews_with_embeddings_1k.csv"
df = pd.read_csv(datafile_path)

# Convert to a list of lists of floats
matrix = np.array(df.embedding.apply(eval).to_list())

# Create a t-SNE model and transform the data
tsne = TSNE(n_components=2, perplexity=15, random_state=42, init='random', learning_rate=200)
vis_dims = tsne.fit_transform(matrix)
vis_dims.shape
(1000, 2)

2.绘制嵌入

我们根据星级评分为每条评论着色,从红色到绿色。

即使在降维的情况下,我们也可以观察到良好的数据分离。

import matplotlib.pyplot as plt
import matplotlib
import numpy as np

colors = ["red", "darkorange", "gold", "turquoise", "darkgreen"]
x = [x for x,y in vis_dims]
y = [y for x,y in vis_dims]
color_indices = df.Score.values - 1

colormap = matplotlib.colors.ListedColormap(colors)
plt.scatter(x, y, c=color_indices, cmap=colormap, alpha=0.3)
for score in [0,1,2,3,4]:
    avg_x = np.array(x)[df.Score-1==score].mean()
    avg_y = np.array(y)[df.Score-1==score].mean()
    color = colors[score]
    plt.scatter(avg_x, avg_y, marker='x', color=color, s=100)

plt.title("Amazon ratings visualized in language using t-SNE")
Text(0.5, 1.0, 'Amazon ratings visualized in language using t-SNE')
openAI|以 2D 或 3D 形式可视化嵌入

此文章由OpenAI开源维基百科原创发布,如若转载请注明出处:https://openai.wiki/visualizing_embeddings_in_2d.html

(0)
上一篇 2023-02-20 14:10
下一篇 2023-02-20 14:44

相关推荐

  • CPT-3|微调GPT-3以对文本进行分类的最佳做法

    本文介绍了如何使用GPT-3对文本进行分类,包括微调GPT-3模型、训练数据的规模、质量、代表性和指定充分,以及如何设置训练数据的格式和使用分隔符序列,微调模型可以超过文本分类基准上的最新记录。

    2023-02-20
    024.0K
  • openAI|如何使用TikToken计数令牌

    本文介绍了OpenAI提供的快速开源文本令牌化器tiktoken,包括支持的编码、令牌化方式和如何使用。你可以将文本字符串拆分为一系列令牌,便于文本模型处理,从而提高模型的准确性和效率。

    ChatGPT 2023-02-18
    004.4K
  • openAI|如何获取嵌入

    本文介绍了OpenAI的get_embedding函数,可用于获取输入文本的嵌入向量。通过Python代码示例展示了如何使用该函数,获取指定文本的嵌入向量,进而用于语义搜索、推荐、聚类分析等应用场景。

    ChatGPT 2023-02-20
    002.7K
  • GPT-3|提高可靠性的技术

    本文介绍了GPT-3的工作原理,并解释了GPT-3在复杂任务上可能失败的原因。为了提高可靠性,可以将复杂任务分解为更简单的部分,给出更好的提示,构建指令以保持模型在任务上,微调自定义模型等技巧。

    2023-02-20
    001.8K
  • ChatGPT|制作清晰有效的Prompt指南

    本文介绍了如何制作清晰有效的ChatGPT提示以推动引人入胜且信息丰富的对话,从ChatGPT的基础知识及其工作原理到制作引人注目的提示和解决常见问题的高级技术的所有内容,本文提供了详细的指南和建议。

    ChatGPT 2023-02-18
    023.5K

发表回复

登录后才能评论
微信