我有文件的idf矩阵。我有一些术语,其重量我想在TFIDF矩阵中加倍。说我有矩阵权重条款,我有以下代码
from sklearn.feature_extraction.text import CountVectorizer
count_vectorizer = CountVectorizer(min_df=1,stop_words="english")
term_freq_matrix = count_vectorizer.fit_transform(vectoriser.mydoclist)
# print "Vocabulary:", count_vectorizer.vocabulary_
from sklearn.feature_extraction.text import TfidfTransformer
tfidf = TfidfTransformer(norm="l2")
tfidf.fit(term_freq_matrix)
tf_idf_matrix = tfidf.transform(term_freq_matrix)
print len(count_vectorizer.get_feature_names())
for term in count_vectorizer.get_feature_names():
# [k for k in count_vectorizer.get_feature_names() if '#' in k]:
# if '#' in term:
print term.encode('utf-8')# print np.matrix(tf_idf_matrix.todense())
# np.savetxt("foo.csv", (np.matrix(tf_idf_matrix.todense())), delimiter=",")
# np.savetxt("foo.csv", tf_idf_matrix.toarray(),fmt="%.4e")
答案 0 :(得分:0)
您无法做到这一点,即使您找到方法/黑客也不建议这样做。一个黑客就是集合多个模型,加权 - 每个模型有一个特征。这不是经过测试的方法,因此请谨慎行事。
执行递归特征消除(RFE)以查看它如何影响您的准确度+精确度+召回。此外,使用随机森林基准对您的功能进行排名,以便能够看到哪个功能为您的模型提供了更多的差异。