You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Gaussian Naive Bayes检测Quillbot改写文本遇稀疏矩阵报错求助

解决GaussianNB处理文本特征时的稀疏矩阵报错问题

问题原因

CountVectorizer转换文本后输出的是稀疏矩阵,而GaussianNB(高斯朴素贝叶斯)仅支持稠密的numpy数组作为输入,因此触发了TypeError。

解决方案

有两种可行的解决方式:

方案1:将稀疏矩阵转为稠密数组

对X_train和X_test调用toarray()方法,把稀疏矩阵转换成numpy稠密数组:

# 转换为稠密数组
X_train_dense = X_train.toarray()
X_test_dense = X_test.toarray()

# 训练模型
model = GaussianNB()
model.fit(X_train_dense, y_train)

# 评估
accuracy = model.score(X_test_dense, y_test)
print("Model accuracy on test set: {:.2f}%".format(accuracy * 100))

⚠️ 注意:如果文本词汇量很大,稠密数组会占用大量内存,可能导致性能问题。

方案2:改用支持稀疏矩阵的朴素贝叶斯模型

推荐使用MultinomialNB(多项式朴素贝叶斯),它专门针对文本分类场景设计,原生支持稀疏矩阵,内存占用更低,效果通常更优:

# 替换模型为MultinomialNB
from sklearn.naive_bayes import MultinomialNB

# 初始化模型
model = MultinomialNB()

# 直接用稀疏矩阵训练(无需转换)
model.fit(X_train, y_train)

# 评估
accuracy = model.score(X_test, y_test)
print("Model accuracy on test set: {:.2f}%".format(accuracy * 100))

# 可选:输出详细分类报告
y_pred = model.predict(X_test)
print(classification_report(y_test, y_pred))

完整修改后的代码(方案2推荐版)

import pandas as pd
from sklearn.naive_bayes import MultinomialNB  # 替换为MultinomialNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.feature_extraction.text import CountVectorizer

# 读取数据集
df = pd.read_csv('Desktop/Dataset.csv', encoding='utf-8')
df.columns = ['text', 'type']

# 划分训练测试集
train_df, test_df = train_test_split(df, test_size=0.3, random_state=42)

# 文本向量化
vectorizer = CountVectorizer()
X_train = vectorizer.fit_transform(train_df['text'])
X_test = vectorizer.transform(test_df['text'])
y_train = train_df['type'].values
y_test = test_df['type'].values

# 初始化并训练模型
model = MultinomialNB()
model.fit(X_train, y_train)

# 评估模型
accuracy = model.score(X_test, y_test)
print("Model accuracy on test set: {:.2f}%".format(accuracy * 100))

# 输出分类报告
y_pred = model.predict(X_test)
print("\nClassification Report:")
print(classification_report(y_test, y_pred))

内容的提问来源于stack exchange,提问作者Will

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:39:52