Python sklearn TFIDFvectorier不';行不通
我试图用一个函数作为分析器来做TF-IDF。此函数返回单词ngrams 我的问题是,当我尝试fit_transform函数时,它似乎停止了执行,并且什么也不做。我不知道为什么,也没有找到任何解决办法。我用的是水蟒导航器。代码如下:Python sklearn TFIDFvectorier不';行不通,python,scikit-learn,tfidfvectorizer,Python,Scikit Learn,Tfidfvectorizer,我试图用一个函数作为分析器来做TF-IDF。此函数返回单词ngrams 我的问题是,当我尝试fit_transform函数时,它似乎停止了执行,并且什么也不做。我不知道为什么,也没有找到任何解决办法。我用的是水蟒导航器。代码如下: from sklearn.feature_extraction.text import TfidfVectorizer def ngrams(string, n=3): string = re.sub(r'[,-./]|\sBD',r'', string)
from sklearn.feature_extraction.text import TfidfVectorizer
def ngrams(string, n=3):
string = re.sub(r'[,-./]|\sBD',r'', string)
ngrams = zip(*[string[i:] for i in range(n)])
return [''.join(ngram) for ngram in ngrams]
def main():
termList = getListofTerms(path)
print("Start TF-IDF")
vectorizer = TfidfVectorizer(min_df=1, analyzer=ngrams)
tf_idf_matrix = vectorizer.fit_transform(termList)
print("Completed")
if __name__ = '__main__':
main()
术语列表包含550.000个元素,其中包含1、2、3、4或5个单词。运行代码时的输出为:
In [1]: runfile('test.py', wdir='D:/tests')
Start TD-IDF
In [1]:
它从不打印主函数的最后一行,也不会产生任何错误,因此我真的很困惑,不知道如何解决此问题您是否尝试过仅使用几个元素来运行它?i、 e.tf_idf_matrix=vectorizer.fit_transform(termList[:500])是的,我试过了,但结果是一样的