我在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索引。