美文网首页
文本分类-朴素贝叶斯

文本分类-朴素贝叶斯

作者: 乘物以游心 | 来源:发表于2019-03-30 15:02 被阅读0次

也可以参考这篇文章:包含了停用词以及模型评估
https://www.cnblogs.com/Lin-Yi/p/8974108.html

思路:

  1. 对原有文本进行分类标注
  2. 文本特征提取:CountVectorizer 和 TfidfVectorizer
    CountVectorizer :只考虑词汇在文本中出现的频率
    除了考量某词汇在文本出现的频率,还关注包含这个词汇的所有文本的数量,能够削减高频没有意义的词汇出现带来的影响, 挖掘更有意义的特征。
  3. 使用朴素贝叶斯进行训练和预测
# -*- encoding:utf-8 -*-
import os
import jieba
from sklearn.feature_extraction.text import CountVectorizer

def loaddata(path,class1):
    allfile=os.listdir(path)
    textdata=[]
    classall=[]
    for thisfile in allfile:
        data=open(path+"/"+thisfile,"r",encoding="gbk").read()
        data1=jieba.cut(data)
        data11=""
        for item in data1:
            data11+=item+" "
        textdata.append(data11)
        classall.append(class1)
    return textdata,classall
text1,class1=loaddata("F:/work/Textming/文本/爱情故事",0)
text2,class2=loaddata("F:/work/Textming/文本/鬼故事",1)
train_text=text1+text2
classall=class1+class2

print(train_text)
print(classall)

count_vect = CountVectorizer()
train_x_counts = count_vect.fit_transform(train_text)
print('='*30)
print(train_x_counts)
#tfidf模型
from sklearn.feature_extraction.text import TfidfTransformer
tf_ts = TfidfTransformer(use_idf=False).fit(train_x_counts)
train_x_tf = tf_ts.transform(train_x_counts)
print('='*30)
print('train_x_tf',type(train_x_tf))
print(train_x_tf)

#训练
from sklearn.naive_bayes import MultinomialNB
clf = MultinomialNB().fit(train_x_tf,classall)
#分类
new_text=["有鬼","爱情 等待","我 一直 在 等待","诡异 蜡烛","房间 有鬼"]
new_x_counts = count_vect.transform(new_text)
new_x_tfidf = tf_ts.transform(new_x_counts)
print(new_x_tfidf)
predicted = clf.predict(new_x_tfidf)
print(predicted)

输出结果:如下对new_text文本进行了分类
[1 0 0 0 1]

相关文章

  • Task5 朴素贝叶斯、SVM、LDA主题模型

    任务 朴素贝叶斯 朴素贝叶斯的原理 利用朴素贝叶斯模型进行文本分类 SVM模型 SVM的原理 利用SVM模型进行文...

  • 朴素贝叶斯法

    朴素贝叶斯法 朴素贝叶斯法的学习与分类 朴素贝叶斯法的参数估计 朴素贝叶斯实现 高斯朴素贝叶斯实现 使用 skle...

  • 轻松带你搞懂朴素贝叶斯分类算法

    贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类...

  • 机器学习算法朴素贝叶斯分类

    贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类...

  • 监督学习之概率模型

    贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类...

  • 数据挖掘之贝叶斯

    贝叶斯推理贝叶斯法则朴素贝叶斯分类器应用:文本分类 1. 贝叶斯推理 --提供了推理的一种概率手段 --两个基本假...

  • 朴素贝叶斯

    朴素贝叶斯 用处:朴素贝叶斯主要解决的是而分类的问题。 为什么叫朴素贝叶斯: 因为贝叶斯分类只做最原始,最简单的假...

  • 文本特征向量化方法

    01 NB的第一步 在之前的文章中,我们学习了一种分类方法:朴素贝叶斯,朴素贝叶斯特别适合文本分类,比如: 根据邮...

  • 朴素贝叶斯法(NaiveBayes)

    朴素贝叶斯法(Naive Bayes) 朴素贝叶斯法是基于贝叶斯定力和特征条件独立假设的分类方法。 朴素贝叶斯法实...

  • 朴素贝叶斯(Naive Bayes)

    朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这...

网友评论

      本文标题:文本分类-朴素贝叶斯

      本文链接:https://www.haomeiwen.com/subject/ueajbqtx.html