帮我生成一个有TfidfVectorizer()方法的朴素贝叶斯代码 要求测试准确率 我的文件是excel
时间: 2024-05-14 11:16:18 浏览: 85
好的,以下是使用TfidfVectorizer()方法的朴素贝叶斯代码,可以处理Excel文件并进行分类,并输出测试准确率:
```python
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 读取Excel文件
df = pd.read_excel("your_file_path.xlsx")
# 将文本数据转换为TF-IDF向量
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df["text"])
# 标记分类标签
y = df["label"]
# 划分训练集和测试集
split_point = int(0.8 * len(X))
X_train = X[:split_point]
X_test = X[split_point:]
y_train = y[:split_point]
y_test = y[split_point:]
# 训练模型
clf = MultinomialNB()
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
acc = accuracy_score(y_test, y_pred)
print("测试准确率:", acc)
```
在代码中,我们使用pandas库读取Excel文件,并使用TfidfVectorizer()方法将文本转换为TF-IDF向量。然后,我们标记分类标签,将数据集划分为训练集和测试集,并训练朴素贝叶斯分类器。最后,我们使用预测结果计算测试准确率。
阅读全文