如何不使用sklearn TfidfVectorizer解析句点?

2024-10-04 01:25:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚学了sklearn,所以请原谅我的无知:)…现在我正试图弄清楚TfidfVectorizer是如何工作的,以及如何避免周期分裂。你知道吗

from sklearn.feature_extraction.text import TfidfVectorizer

 docs= ("'CSC.labtrunk', 'CSC.datacenter', 'CSC.netbu', 'CSC.asr5k.general', 'CSC.ena', 'CSC.embu'", "'CSC.ena'", "'CSC.embu', 'CSC.security', 'CSC.ena'", "'CSC.embu', 'CSC.datacenter', 'CSC.labtrunk', 'CSC.content-security', 'CSC.ena', 'CSC.embu.dev', 'CSC.spv.custom-prods', 'CSC.voice', 'CSC.policy-mgmt', 'CSC.nuova'", "'CSC.embu', 'CSC.sys', 'CSC.policy-mgmt', 'CSC.content-security', 'CSC.datacenter'", "'CSC.asr5k.general'", "'CSC.sys'", "'CSC.labtrunk'")    
    vec = TfidfVectorizer()
    trfm_data = vec.fit_transform(docs)
    print trfm_data

输出样本:

  (0, 6)    0.200552591995
  (0, 7)    0.200552591995
  (0, 8)    0.265074737928
  (0, 0)    0.265074737928
  (0, 11)   0.316288846342
  (0, 4)    0.228737749732
  (0, 9)    0.228737749732
  (0, 2)    0.757857197424


    print vec.inverse_transform(trfm_data)

输出样本:

[u'embu', u'ena', u'general', u'asr5k', u'netbu', u'datacenter',
       u'labtrunk', u'csc']

理想情况下,我希望将每个项都视为一个字符串,例如"'CSC.labtrunk', 'CSC.datacenter', 'CSC.netbu', 'CSC.asr5k.general', 'CSC.ena', 'CSC.embu'"。你知道吗


Tags: docsdatasklearngeneralsecurityenacscvec
1条回答
网友
1楼 · 发布于 2024-10-04 01:25:25

不确定这是否是正确的约定,但我使用了字符串列表而不是字符串元组,并得到了所需的输出。你知道吗

样本数据:

data = ["'CSC.labtrunk', 'CSC.datacenter', 'CSC.netbu', 'CSC.asr5k.general', 'CSC.ena', 'CSC.embu'", "'CSC.ena'", "'CSC.embu', 'CSC.security', 'CSC.ena'", "'CSC.embu', 'CSC.datacenter', 'CSC.labtrunk', 'CSC.content-security', 'CSC.ena', 'CSC.embu.dev', 'CSC.spv.custom-prods', 'CSC.voice', 'CSC.policy-mgmt', 'CSC.nuova'", "'CSC.embu', 'CSC.sys', 'CSC.policy-mgmt', 'CSC.content-security', 'CSC.datacenter'", "'CSC.asr5k.general'", "'CSC.sys'", "'CSC.labtrunk'"]

vec = TfidfVectorizer(tokenizer=lambda i: i, lowercase=False)
trfm_data = vec.fit_transform(data)
data = trfm_data
trfm_data data

样本输出:

[array(['CSC.embu', 'CSC.ena', 'CSC.asr5k.general', 'CSC.netbu',
       'CSC.datacenter', 'CSC.labtrunk'], 
      dtype='|S20'), array(['CSC.ena'], 
      dtype='|S20'), array(['CSC.security', 'CSC.embu', 'CSC.ena']

相关问题 更多 >