我正在研究一个多类文本分类问题。我想使用基于互信息 ( mutual_info_classif
) 的前 k 个特征来训练我的模型。
我在 ML 模型上开始了这个项目:
我用于tfidf
特征提取,然后用于mutual_info_classif
特征选择。
svc = Pipeline([('tfidf', TfidfVectorizer()),
('ig', SelectKBest(mutual_info_classif,k=1000)),
('clf',LinearSVC(multi_class='ovr')),
])
svc.fit(X_train, y_train)
y_pred = svc.predict(X_test)
这很简单。
接下来,我开始研究 RNN(更具体地说是一个简单的 LSTM 模型),这就是我遇到问题的地方。
我使用了来自 GloVe (300d) 的预训练词嵌入来从我的数据中获取特征。我输入 RNN 嵌入层的嵌入矩阵的形状为 (4293,300),4293 是在我的数据中找到的唯一词的数量,300 是维度。
我的问题是:有什么方法可以使用这些 4293 中的前 1000 个单词(特征)mutual_info_classif
?甚至有可能这样做吗?如果是,那么应该在制作 embedding_matrix 之前还是之后完成?