import jieba
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# 定义类别和训练数据
categories = ['体育', '科技', '政治']
train_data = {
'体育': ['足球比赛很精彩', '篮球比赛结束了', '乒乓球比赛开始了'],
'科技': ['新款手机发布了', '智能家居越来越普及了', '人工智能技术发展迅速'],
'政治': ['两会召开了', '政府工作报告发布了', '国际形势紧张']
}
# 分词和预处理
train_words = []
train_labels = []
for cat, data in train_data.items():
for text in data:
words = jieba.lcut(text)
train_words.append(' '.join(words))
train_labels.append(cat)
# 特征提取
vectorizer = CountVectorizer()
train_features = vectorizer.fit_transform(train_words)
# 训练模型
clf = MultinomialNB()
clf.fit(train_features, train_labels)
# 预测新数据
new_text = '最近足球比赛很多'
new_words = jieba.lcut(new_text)
new_features = vectorizer.transform([' '.join(new_words)])
proba = clf.predict_proba(new_features)[0]
for cat, score in zip(categories, proba):
print(cat, '得分:', score)
朴素贝叶斯分类
最新推荐文章于 2024-10-04 10:19:07 发布
该文演示了一个基于Python的文本分类示例,利用jieba进行中文分词,sklearn的CountVectorizer进行特征提取,然后用MultinomialNB训练朴素贝叶斯分类器。模型用于预测新闻主题,如体育、科技和政治。
摘要由CSDN通过智能技术生成