TfidfVectorizer 数据类型不匹配

1 投票
1 回答
528 浏览
提问于 2025-04-18 00:46

我正在尝试在一组文本数据上使用TfidfVectorizer,但每次都会遇到这个错误。

File "sparsefuncs.pyx", line 117, in sklearn.utils.sparsefuncs.inplace_csr_row_normalize_l2 (sklearn\utils\sparsefuncs.c:2328)
ValueError: Buffer dtype mismatch, expected 'int' but got 'long long'

这是我的代码。

corpus = []
testCorpus = []
trainType = []
testType = []

with open("stone_sku.csv") as f:
    cr = csv.DictReader(f)
    for row in cr:
        corpus.append(row['sku'])
        trainType.append(row['sku'])

with open("stone_sku.csv") as f:
    crTest = csv.DictReader(f)
    for row in crTest:
        testCorpus.append(row['sku'])
        testType.append(row['sku'])

cv = TfidfVectorizer(min_df=1, analyzer='char', ngram_range=(2,3))

trainCounts = cv.fit_transform(corpus)

使用CountVectorizer的时候一切正常,但如果我尝试用TfidfTransformer来转换数据,也会出现同样的错误。

1 个回答

2

你是在用64位的Windows系统吗?这个问题可能是因为一个最近已经在主版本中修复的已知问题。

撰写回答