如何获得手套矢量的特征名称

问题描述

Countvectorizer具有这样的功能名称

vectorizer = CountVectorizer(min_df=10,ngram_range=(1,4),max_features=15000)
vectorizer.fit(X_train['essay'].values) # fit has to happen only on train data

X_train_essay_bow = vectorizer.transform(X_train['essay'].values)
feature_names= vectorizer.get_feature_names()

手套矢量的特征名称是什么?

如何获取这些功能名称

with open('glove_vectors','rb') as f:
    model = pickle.load(f)
    glove_words =  set(model.keys())

我有300个尺寸的手套矢量文件,如上面所示。

手套矢量的300个维度的名称是什么?

解决方法

“手套”功能没有名称。 countvectorizer对每个句子中每个标记的出现进行计数。因此,这些功能具有易于理解的名称。功能“猫”是标记“猫”的每个句子中的计数。

对于Glove Vectors,其策略完全不同,并且没有等效的特征表示。手套向量是单词在抽象N维空间中的嵌入。

令牌的手套向量来自将令牌作为输入传递到经过训练的神经网络,并在中间进行自动编码层的激活。

如果您曾经训练过深度神经网络,请想象在其中选择一些隐藏层。该隐藏层中每个节点的feature_name是什么?这是一个毫无意义的问题,因为节点不是要素。它们存在以将激活传递到下一层。手套矢量特征也是如此。它们是网络中隐藏层的激活值。