从CountVectorizer从类中提取n-最高频率



我在x_train上使用Sklearn Countvectorizer在执行火车/测试分开后创建了一个Scipy-Sparse矩阵。我有一个两个班级的问题(负面与正面)。

我想弄清楚我矩阵中每个类的最高频率最高和较低的频率项是什么。到目前为止,我已经弄清楚了如何在整个矩阵上进行操作。

feature_names = np.array(vect.get_feature_names())
sorted_countvect_index = X_train_vectorized.max(0).toarray()[0].argsort()
values = X_train_vectorized.max(0).toarray()[0]
small_idf = pd.Series(values[sorted_tfidf_index[:20]], index=feature_names[sorted_tfidf_index[:20]]).sort_index()
large_idf = pd.Series(values[sorted_tfidf_index[:-21:-1]], index=feature_names[sorted_tfidf_index[:-21:-1]]).sort_index()

想法?

我认为,在类中,您的意思是您有一些布尔值y_train,其形状具有X_train_vectorized高度。

您可以通过该向量子来检索适当的正/负示例:

X_train_vectorized_positive = X_train_vectorized[y_train, :]
X_train_vectorized_negative = X_train_vectorized[~y_train, :]

然后运行您在X_train_vectorized上运行的其余代码。

有关更多信息,请检查numpy索引。

相关内容

  • 没有找到相关文章

最新更新