SKLearn TF-IDF丢号?
SKLearn TF-IDF to drop numbers?
我正在做文本分析,我想忽略 'words' 那只是数字。例如。在文本 "This is 000 Sparta!" 中,仅应使用词 'this'、'is' 和 'Sparta'。有没有办法做到这一点?怎么样?
TfidfVectorizer
的默认标记模式是 u'(?u)\b\w\w+\b'
,它匹配至少有两个单词字符的单词,即 [a-zA-Z0-9_]
;您可以根据需要修改 token_pattern
,例如,正则表达式 (?ui)\b\w*[a-z]+\w*\b
确保它匹配一个单词但至少包含一个字母:
from sklearn.feature_extraction.text import TfidfVectorizer
tf = TfidfVectorizer(token_pattern=u'(?ui)\b\w*[a-z]+\w*\b')
text = ["This is 000 Sparta!"]
tfidf_matrix = tf.fit_transform(text)
feature_names = tf.get_feature_names()
print(feature_names)
[u'is', u'sparta', u'this']
看官方文档是怎么实现的here。
所有数字都被视为一个特征#NUMBER
我正在做文本分析,我想忽略 'words' 那只是数字。例如。在文本 "This is 000 Sparta!" 中,仅应使用词 'this'、'is' 和 'Sparta'。有没有办法做到这一点?怎么样?
TfidfVectorizer
的默认标记模式是 u'(?u)\b\w\w+\b'
,它匹配至少有两个单词字符的单词,即 [a-zA-Z0-9_]
;您可以根据需要修改 token_pattern
,例如,正则表达式 (?ui)\b\w*[a-z]+\w*\b
确保它匹配一个单词但至少包含一个字母:
from sklearn.feature_extraction.text import TfidfVectorizer
tf = TfidfVectorizer(token_pattern=u'(?ui)\b\w*[a-z]+\w*\b')
text = ["This is 000 Sparta!"]
tfidf_matrix = tf.fit_transform(text)
feature_names = tf.get_feature_names()
print(feature_names)
[u'is', u'sparta', u'this']
看官方文档是怎么实现的here。 所有数字都被视为一个特征#NUMBER