tfidf特征提取分类代码
时间: 2023-08-15 18:03:55 浏览: 76
以下是一个简单的Python代码示例,演示如何使用TF-IDF对文本进行特征提取并使用朴素贝叶斯进行分类:
```python
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
# 读入数据
data = pd.read_csv('data.csv')
# 提取文本特征
tfidf = TfidfVectorizer()
X = tfidf.fit_transform(data['text'])
# 标记分类结果
y = data['label']
# 划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练朴素贝叶斯模型
nb = MultinomialNB()
nb.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = nb.predict(X_test)
# 输出分类结果
from sklearn.metrics import accuracy_score
print('Accuracy:', accuracy_score(y_test, y_pred))
```
其中,数据文件`data.csv`的格式为:
```
text,label
This is a positive text,1
This is a negative text,0
...
```
代码中,首先使用`TfidfVectorizer`对文本进行特征提取,然后使用`train_test_split`将数据划分为训练集和测试集,接着使用`MultinomialNB`训练朴素贝叶斯模型,并在测试集上进行预测。最后使用`accuracy_score`计算模型在测试集上的准确率。
阅读全文