朴素贝叶斯--情感分类

        毕设的开题初步定在了情感分析方面,于是自己开始查看各种文献,本想等到模型设计完毕在进行coding的,但是按捺不住心中那想coding的心情,就快速的实现了个朴素贝叶斯的分类器。算法比较简单,本想从处理数据到训练到最终代码用一晚上搞定的,结果在实现朴素贝叶斯的过程中还是遇到了一些自己没有发现的问题,耽搁了一点时间,现在将朴素贝叶斯整理整理。

        朴素贝叶斯,naive bayes,是个生成式模型。如果读者不明白什么是生成式模型的话,可以google下,这里我也借鉴一个我认为非常棒的解释来小介绍下。我们对分类器进行建模,主要就是,这里的就是我们要训练的参数了。通过训练参数,得到我们的模型。通过新的特征x的输入,我们就得到了我们的判别结果,这种模型叫做判别式模型!比如说要确定一只羊是山羊还绵羊, 用判别模型的方法先从历史数据中学习到模型,然后通过提取这只羊的特征来预测出是山羊概率,是绵羊的概率。换一种思路我 们可以 根据山羊的特征首先学习出一个模型,然后根据绵羊的特征学习一个绵羊的模型。 然后从这只羊中提取特征, 放到山羊模型看概率是多少再放到绵羊模型中看看概率是多少,哪个大就是哪个。这中另外的一种思路就是生成模型了。

        根据bayes公式,,可以看出生成模型是

朴素贝叶斯是一种常用的机器学习算法,特别适用于自然语言处理任务。它基于贝叶斯定理和特征条件独立假设,通过计算给定特征条件下的类别概率来进行分类。 在自然语言处理中,朴素贝叶斯可以用于文本分类情感分析、垃圾邮件过滤等任务。它将文本表示为特征向量,其中每个特征表示一个词汇或其他语言相关的属性。然后,通过计算每个类别下的特征概率,可以预测新文本属于哪个类别。 下面是一个使用朴素贝叶斯进行文本分类的示例: ```python from sklearn.feature_extraction.text import CountVectorizer from sklearn.naive_bayes import MultinomialNB # 准备训练数据 train_texts = ['I love this movie', 'This movie is great', 'I hate this movie'] train_labels = ['positive', 'positive', 'negative'] # 特征提取 vectorizer = CountVectorizer() train_features = vectorizer.fit_transform(train_texts) # 训练朴素贝叶斯分类器 classifier = MultinomialNB() classifier.fit(train_features, train_labels) # 预测新文本的类别 test_text = 'This movie is amazing' test_feature = vectorizer.transform([test_text]) predicted_label = classifier.predict(test_feature) print('Predicted label:', predicted_label) # 输出:Predicted label: ['positive'] ``` 在上面的示例中,我们首先准备了一些训练数据,包括文本和对应的类别标签。然后,使用`CountVectorizer`将文本转换为特征向量。接下来,使用`MultinomialNB`训练一个朴素贝叶斯分类器,并使用训练好的模型对新文本进行分类预测。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值