Python 在sci工具包tf idf中使用功能计数

Python 在sci工具包tf idf中使用功能计数,python,numpy,machine-learning,scikit-learn,Python,Numpy,Machine Learning,Scikit Learn,假设我有一个包含n个类别/标签的特征计数列表,例如: feature 1,label1 = 10 # word, label = frequency count feature 1,label2 = 0 feature 2,label1 = 3 feature 2,label2 = 0 如果是json,那么单词bad和good应该是这样的: { "bad": {"pos": 1, "neg": 15, "neu": 2}, "good": {"pos": 13, "neg": 3, "ne

假设我有一个包含n个类别/标签的特征计数列表,例如:

feature 1,label1 = 10 # word, label = frequency count
feature 1,label2 = 0
feature 2,label1 = 3
feature 2,label2 = 0
如果是json,那么单词bad和good应该是这样的:

{
 "bad": {"pos": 1, "neg": 15, "neu": 2},
 "good": {"pos": 13, "neg": 3, "neu": 2},
}
这是存档的,是从一个旧的应用程序继承的。我没有访问原始文档的权限,说来话长,但它们是相关的,我想使用它们。这个应用程序是一个情绪分类应用程序,可以获取报纸评论并对其进行分类,与我想开发的应用程序相同

那么,我如何将这些计数馈送到Tf df矢量器或CountVectorizer,或将它们与运行矢量器获得的结果合并,即与下面代码中的X_train_计数合并:

>>> from sklearn.feature_extraction.text import CountVectorizer
>>> count_vect = CountVectorizer()
>>> data_train = {"data": ["ola good", "hey good", "good", "good", "bad", "bad", "bad"], "target":[1,1,1,1,0,0,0]}
>>> X_train_count = count_vect.fit_transform(data_train["data"])
>>> count_vect.get_feature_names()
[u'bad', u'good']
>>> print X_train_count
  (0, 1)        1
  (1, 1)        1
  (2, 1)        1
  (3, 1)        1
  (4, 0)        1
  (5, 0)        1
  (6, 0)        1

谢谢你的帮助

您提供的代码段无效。如果你想让我们帮忙,请把它们修好。例如,count_vect.get_feature_name在调用fit之前不能返回任何内容。我也不明白你说的:单词,标签=频率计数是什么意思。您是否试图从文本文档的语料库中对特征进行分类?如果是,文档边界在哪里?嗨,Ogrisel,我复制/粘贴的顺序不对,现在已经修复了。我还更新了问题,以进一步澄清。是的,我正在尝试对文档语料库进行分类,我有一个旧应用程序的特征计数,它使用朴素贝叶斯并将更新的特征计数保存在数据库中-我想用这些来对新语料库进行分类。你说的文档语料库是什么意思?我要训练的列表是大约1500个样本,分布在正类、负类和中性类之间。如果我理解正确,你只需要对单个特征进行聚合计数,而你不知道哪个特征发生在哪个样本中。因此,不能使用CountVectorizer仅从此类部分聚合信息重建完整的训练数据集。不过,如果你自己做数学运算,构建一个朴素的贝叶斯分类器就足够了。由于缺乏真正的测试集,您将无法测量性能。好的,我想可能是这样的。谢谢