增加TF IDF矩阵项的权重

时间:2017-03-02 05:52:54

标签: cluster-analysis scikit-learn tf-idf

我有文件的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") 

1 个答案:

答案 0 :(得分:0)

您无法做到这一点,即使您找到方法/黑客也不建议这样做。一个黑客就是集合多个模型,加权 - 每个模型有一个特征。这不是经过测试的方法,因此请谨慎行事。

执行递归特征消除(RFE)以查看它如何影响您的准确度+精确度+召回。此外,使用随机森林基准对您的功能进行排名,以便能够看到哪个功能为您的模型提供了更多的差异。