0
我在做train/test拆分後,在X_train上用sklearn CountVectorizer創建了一個scipy-sparse矩陣。我有兩個類的問題(消極與積極)。從CountVectorizer中按類提取n個最高頻率
我想弄清楚矩陣中每個類的前20個最高和最低頻率項。到目前爲止,我已經想出瞭如何在整個矩陣上做到這一點。
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()
想法?
謝謝Jakub。它似乎工作。只是爲了更好地理解 - 當我用y_train和y_train切片時,兩者都返回了相同形狀的矩陣,儘管我最初的理解是形狀應該不同。我是否在解決這個問題? –
你確定這些向量是布爾值嗎?也許他們是標籤的載體。如果標籤是X1,X2然後y_train_bool = y_train == X1應該做的伎倆 –
所以,我認爲形狀應該是不同的正確?向量是100%布爾值,基本上是:0&1 –