- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 TFIDF 和 SVM 对某些文件进行文本分类。一次要选择 3 个单词的特征。我的数据文件已经采用以下格式:angel eyes has, each one for, on its own.没有停用词,也不能做 lemming 或 stemming。我希望该功能被选为:angel eyes has ...我写的代码如下:
import os
import sys
import numpy
from sklearn.svm import LinearSVC
from sklearn.metrics import confusion_matrix
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn import metrics
from sklearn.datasets import load_files
from sklearn.cross_validation import train_test_split
dt=load_files('C:/test4',load_content=True)
d= len(dt)
print dt.target_names
X, y = dt.data, dt.target
print y
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
print y_train
vectorizer = CountVectorizer()
z= vectorizer.fit_transform(X_train)
tfidf_vect= TfidfVectorizer(lowercase= True, tokenizer=',', max_df=1.0, min_df=1, max_features=None, norm=u'l2', use_idf=True, smooth_idf=True, sublinear_tf=False)
X_train_tfidf = tfidf_vect.fit_transform(z)
print tfidf_vect.get_feature_names()
svm_classifier = LinearSVC().fit(X_train_tfidf, y_train)
不幸的是,我在“X_train_tfidf = tfidf_vect.fit_transform(z)”处遇到错误: AttributeError:未找到较低的。
如果我修改代码来做
tfidf_vect= TfidfVectorizer( tokenizer=',', use_idf=True, smooth_idf=True, sublinear_tf=False)
print "okay2"
#X_train_tfidf = tfidf_transformer.fit_transform(z)
X_train_tfidf = tfidf_vect.fit_transform(X_train)
print X_train_tfidf.getfeature_names()
我收到错误:TypeError: 'str' object is not callable可以请有人告诉我我哪里错了
最佳答案
tokenizer 参数的输入是可调用的。尝试定义一个函数来适本地标记您的数据。如果是逗号分隔则:
def tokens(x):
return x.split(',')
应该可以。
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vect= TfidfVectorizer( tokenizer=tokens ,use_idf=True, smooth_idf=True, sublinear_tf=False)
创建一个由,
分隔的随机字符串
a=['cat on the,angel eyes has,blue red angel,one two blue,blue whales eat,hot tin roof']
tfidf_vect.fit_transform(a)
tfidf_vect.get_feature_names()
返回
Out[73]:
[u'angel eyes has',
u'blue red angel',
u'blue whales eat',
u'cat on the',
u'hot tin roof',
u'one two blue']
关于python - TFIDF 向量器给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28103992/
我正在尝试获取文本与数组中包含的文本之间的余弦相似度。 我一直在研究这段代码: import numpy as np from sklearn.feature_extraction.text impo
我有以下 python 笔记本,旨在根据文本之间的相似性对不同的摘要组进行聚类。我这里有两种方法:一种是在链接函数中使用 tfidf numpy 文档数组,第二种是查找不同文档的 tfidf 数组之间
假设我有两个文本文件。文件 1 包含训练集,主要用于定义词汇表。文件 2 是用户输入的单词。 d1 = ( "Project 1 details on Machine learning", "Proj
我正在尝试依次使用多种信息检索技术。对于每一个,我希望以完全相同的方式对文本进行预处理。我的预处理文本以单词列表的形式提供。不幸的是 scikit-learns TfidfVectorizer 似乎只
我正在尝试使用 TFIDF 和 SVM 对某些文件进行文本分类。一次要选择 3 个单词的特征。我的数据文件已经采用以下格式:angel eyes has, each one for, on its o
我正在使用以下代码: pipeline = Pipeline([('vect', TfidfVectorizer( ngram_range=(1,2),
您好,我有一个词形还原文本,其格式如 lemma 所示。我想获得每个单词的 TfIdf 分数,这是我编写的函数: import numpy as np import pandas as pd from
我在网上找到了下面这段计算TFIDF的代码: https://github.com/timtrueman/tf-idf/blob/master/tf-idf.py 我在函数 def idf(word,
我有一个包含大约 800 万篇新闻文章的语料库,我需要将它们的 TFIDF 表示为稀疏矩阵。对于相对较少数量的样本,我已经能够使用 scikit-learn 做到这一点,但我相信它不能用于如此庞大的数
我正在实现一个分类工具,并正在试验各种 TF 版本:两个对数(对数调用内部/外部的校正)、归一化、增强和对数平均。显然,由这些调制的分类器精度存在显着差异——高达 5%。然而,奇怪的是,我无法提前说出
我计算了 TFIdf(词频,逆文档频率),我已经看到在这一步之后,有必要使用 LSI ,卡方检验等方法来减少我的矩阵的维数..., 我不知道如何在 Java 中实现卡方检验以降低矩阵 TFIDF 的维
我需要计算具有已计算的 TFIDF 分数的文档之间的余弦相似度。 通常我会使用(例如)TFIDFVectorizer这将创建一个文档/术语矩阵,并计算 TFIDF 分数。我无法应用此方法,因为它将重新
在实习项目中,我必须对大量文件(~18000)执行 tfidf 分析。我正在尝试使用 sklearn 中的 TFIDF 矢量器,但我面临以下问题:如何避免一次将所有文件加载到内存中?根据我在其他帖子上
我正在尝试引入 LightGBM 进行文本多分类。pandas 数据框中有 2 列,其中“类别”和“内容”设置如下。 数据框: contents category
所以我正在创建一个 python 类来计算文档中每个单词的 tfidf 权重。现在我的数据集中有 50 个文档。在这些文档中,许多单词相交,因此具有多个相同的单词特征但具有不同的 tfidf 权重。所
这可能是一个奇怪的问题,但我忍不住想知道。如果我说有三个文档: d1 =“我叫斯特凡。” d2 =“我叫大卫。” d3 =“你好,你好吗?” 如果我将所有这 3 个文档转换为 TFIDF 值向量,在向
我正在使用 scikit-learn 从“词袋”文本(在单个词上标记化的文本)中提取文本特征。为此,我使用了 TfidfVectorizer还可以减少非常频繁出现的单词(即:“a”、“the”等)的权
我想在文本文件中将此 tfidf 过程的结果打印为 (word, 2.333)。目前它首先打印所有单词,然后打印分数。我该怎么做?我还希望文件按 idf 值排序,以便将最重要的词放在最前面。 from
我有如下文件 1 NAME LASTNAME DOB CITY 2 NAME ADDRESS CITY 3 NAM
我正在尝试将 tfidf 向量化器拟合到某个文本语料库,然后使用相同的向量化器来查找新文本的 tfidf 值的总和。但是,总和值并不符合预期。下面是示例: text = ["I am new to p
我是一名优秀的程序员,十分优秀!