基于朴素贝叶斯文本的分类器构造
来源:互联网 发布:tracert 端口 编辑:程序博客网 时间:2024/05/16 18:18
朴素贝叶斯算法,对于文本分类器是较为适用的。楼主在做项目的时候,有一批url数据需要处理。需要给定url,给出相应的文件类型。
首先要人工贴标签,构造数据集合。数据集合如图所示。
然后,要人工构造dictionary,也就是你认为会影响文件类型的单词,如“儿歌”,“游戏”等,这个地方,是影响模型精度的关键,需要花费很大的功夫不断调试。而且,往往dictionary向量要很大才能获得理想结果。
将数据集合分为训练集,测试集。这里取了8000条做训练集,1000条做测试集。
O1 = fitNaiveBayes(train_data,train_label,'Distribution', 'mn');
这句便是利用训练集训练模型。
利用O1.predice()函数,输入相应训练,测试集,便可获得结果。
clear;clc;%程序需要改的接口:数据,dictionary,函数的distribution参数load('typeAll.mat');load('urlAll.mat');dictionary=['erge ';'zuofan';'youxi ';'yizhi ';'wenxue';'shipin';'youxi ';'yinpin';'zuofan';'maoxia';'pintu ';'ertong';'tianse';'zhongw';'gequ ';'shipin';'donghu';'zhutiq';'yingwe';'gequ ';'tonghu';'yuyan ';'baike ';'huiben';'gushi ';'FLASH ';'hanzi ';'bihua ';'chengy';'tongya';'changs';'jingwu';'kantu ';'xiaoxu';'kejian';'wenxue';'pinyin';'zimu ';'hanzi ';'zidian';'duihua';'duwu ';'tushu ';'fudao ';'minjia';'yingyu';'shuang';'duihua';'duwu ';'pintu '];%字典词条库,不够的必须用空格补齐[row,column]=size(dictionary);%row代表字典中有几个单词(特征向量的数量),column代表单词固定长度%生成100个随机数做训练集b=randperm(9000);%生成1到100的随机排列a=b(1:8000);train_label=typeAll(a);train_url=urlAll(a);train_data=zeros(8000,row);%for i=1:8000 train_data(i,:)=text2vec(train_url(i),dictionary,6);endO1 = fitNaiveBayes(train_data,train_label,'Distribution', 'mn'); C1=O1.predict(train_data);cMat1 = confusionmat(train_label, C1) %自测试准确率:93%a=b(8001:9000);%取剩下的1000个做测试集test_label=typeAll(a);%1000*1的胞体test_url=urlAll(a);%1000*1的胞体test_data=zeros(1000,row);%for i=1:1000 test_data(i,:)=text2vec(test_url(i),dictionary,6);endC2=O1.predict(test_data);cMat2=confusionmat(test_label, C2)
0 0
- 基于朴素贝叶斯文本的分类器构造
- 朴素贝叶斯文本分类
- 朴素贝叶斯文本分类过程
- 朴素贝叶斯文本分类
- 朴素贝叶斯文本分类
- Mahout朴素贝叶斯文本分类
- 朴素贝叶斯文本分类算法
- 朴素贝叶斯文本分类算法
- 朴素贝叶斯文本分类算法
- 朴素贝叶斯文本分类
- 朴素贝叶斯文本分类应用
- 朴素贝叶斯文本分类
- 手写朴素贝叶斯文本分类
- 机器学习之基于朴素贝叶斯文本分类算法
- 朴素贝叶斯文本分类算法java实现
- 朴素贝叶斯文本分类算法java实现(二)
- 朴素贝叶斯文本分类算法源代码
- 朴素贝叶斯文本分类java实现
- 安卓播放器VideoView的简单使用
- Echarts3之字符云按照给定形状显示
- MIPI-DSI/CSI协议介绍
- win10 jetty 本地部署
- Tomcat 部署War包
- 基于朴素贝叶斯文本的分类器构造
- zoj2376
- java quartz
- shell脚本中单引号和双引号
- iOS-自定义下拉刷新上拉加载(可根据自己的需求改)
- linux程序只运行一个实例
- C++ Deque(双向队列
- innerHTML和html()
- 【刀客好文】COPA获利能力分析【01数据结构和配置】