文本挖掘tmSVM开源项目集成libSVM和liblinear包含Python和Java两种版本带PDF源码参考文档简介文本挖掘无论在学术界还是在工业界都有很广泛的应用场景。
而文本分类是文本挖掘中一个非常重要的手段与技术。
现有的分类技术都已经非常成熟,SVM、KNN、DecisionTree、AN、NB在不同的应用中都展示出较好的效果,前人也在将这些分类算法应用于文本分类中做出许多出色的工作。
但在实际的商业应用中,仍然有很多问题没有很好的解决,比如文本分类中的高维性和稀疏性、类别的不平衡、小样本的训练、Unlabeled样本的有效利用、如何选择最佳的训练样本等。
这些问题都将导致curveofdimension、过拟合等问题。
这个开源系统的目的是集众人智慧,将文本挖掘、文本分类前沿领域效果非常好的算法实现并有效组织,形成一条完整系统将文本挖掘尤其是文本分类的过程自动化。
该系统提供了Python和Java两种版本。
主要特征该系统在封装libsvm、liblinear的基础上,又增加了特征选择、LSA特征抽取、SVM模型参数选择、libsvm格式转化模块以及一些实用的工具。
其主要特征如下:封装并完全兼容*libsvm、liblinear。
基于Chi*的featureselection见feature_selection基于LatentSemanticAnalysis的featureextraction见feature_extraction支持Binary,Tf,log(tf),Tf*Idf,tf*rf,tf*chi等多种特征权重见feature_weight文本特征向量的归一化见Normalization利用交叉验证对SVM模型参数自动选择。
见SVM_model_selection支持macro-average、micro-average、F-measure、Recall、Precision、Accuracy等多种评价指标见evaluation_measure支持多个SVM模型同时进行模型预测采用python的csc_matrix支持存储大稀疏矩阵。
引入第三方分词工具自动进行分词将文本直接转化为libsvm、liblinear所支持的格式。
使用该系统可以做什么对文本自动做SVM模型的训练。
包括Libsvm、Liblinear包的选择,分词,词典生成,特征选择,SVM参数的选优,SVM模型的训练等都可以一步完成。
利用生成的模型对未知文本做预测。
并返回预测的标签以及该类的隶属度分数。
可自动识别libsvm和liblinear的模型。
自动分析预测结果,评判模型效果。
计算预测结果的F值、召回率、准确率、Macro,Micro等指标,并会计算特定阈值、以及指定区间所有阈值下的相应指标。
分词。
对文本利用mmseg算法对文本进行分词。
特征选择。
对文本进行特征选择,选择最具代表性的词。
SVM参数的选择。
利用交叉验证方法对SVM模型的参数进行识别,可以指定搜索范围,大于大数据,会自动选择子集做粗粒度的搜索,然后再用全量数据做细粒度的搜索,直到找到最优的参数。
对libsvm会选择c,g(gamma),对与liblinear会选择c。
对文本直接生成libsvm、liblinear的输入格式。
libsvm、liblinear以及其他诸如weka等数据挖掘软件都要求数据是具有向量格式,使用该系统可以生成这种格式:labelindex:valueSVM模型训练。
利用libsvm、liblinear对模型进行训练。
利用LSA对进行FeatureExtraction*,从而提高分类效果。
开始使用QuickStart里面提供了方便的使用指导如何使用该系统可以在命令行(Linux或cmd中)中直接使用,也可以在程序通过直接调用源程序使用。
在程序中使用。
#将TMSVM系统的路径加入到Python搜索路径中importsyssys.path.insert(0,yourPath+"\tmsvm\src")importtms#对data文件夹下的binary_seged.train文件进行训练。
tms.tms_train(“../data/binary_seged.train”)#利用已经训练好的模型,对对data文件夹下的binary_seged.test文件预测tms.tms_predict(“../data/binary_seged.test”,”../model/tms.config”)#对预测的结果进行分析,评判模型的效果tms.tms_analysis(“../tms.result”)在命令行中调用#对data文件夹下的binary_seged.train文件进行训练。
$pythonauto_train.py[options]../data/binary_seged.train#利用已经训练好的模型,对对data文件夹下的binary_seged.test文件预测pythonpredict.py../data/binary_seged.train../model/tms.config#对预测的结果进行分析,评判模型的效果$pythonresult_anlaysis.py../tms.result上面的调用方式都是使用系统中默认的参数,更具体、灵活的参数见程序调用接口输入格式labelvalue1[value2]其中label是定义的类标签,如果是binaryclassification,建议positive样本为1,negative样本为-1。
如果为multi-classification。
label可以是任意的整数。
其中value为文本内容。
label和value以及value1和value2之间需要用特殊字符进行分割,如”\t”模型输出模型结果会放在指定保存路径下的“model”文件夹中,里面有3个文件,默认情况下为dic.key、tms.model和tms.config。
其中dic.key为特征选择后的词典;
tms.model为训练好的SVM分类模型;tms.config为模型的配置文件,里面记录了模型训练时使用的参数。
临时文件会放在“temp”文件夹中。
里面有两个文件:tms.param和tms.train。
其中tms.param为SVM模型参数选择时所实验的参数。
tms.train是供libsvm和liblinear训练器所使用的输入格式。
源程序说明src:即该系统的源代码,提供了5个可以在Linux下可以直接调用的程序:auto_train.py、train.py、predict.py为在Linux下通过命令行调用的接口。
tms.py为在程序中调用的主文件,直接通过importtms即可调用系统的所有函数。
其他文件为程序中实现各个功能的文件。
lsa_src:LSA模型的源程序。
dependence:系统所依赖的一些包。
包括libsvm、liblinear、Pymmseg在Linux32位和64位以及windows下的支持包(dll,so文件)。
tools:提供的一些有用的工具,包括result_analysis.py等。
java:java版本的模型预测程序,项目重要更新日志2012/09/21针对linux下的bug进行修正。
重新生成win和linux版本的。
2012/03/08增加stem模块,并修正了几个Bug。
2011/11/22tmsvm正式发布。
联系方式邮箱:zhzhl202@163.comThanks本系统引用了libsvm、liblinear的包,非常感谢Chih-JenLin写出这么优秀的软件。
本系统还引用了Pymmseg,非常感谢pluskid能为mmseg写出Python下可以直接使用的程序从最初的想法萌生到第一版上线,中间试验了很多算法,最终因为效果不好删掉了很多代码,在这期间得到了许多人的帮助,非常感谢杨铮、江洋、敏知、施平等人的悉心指导。
特别感谢丽红一直以来的默默支持。
2023/2/8 18:37:14 3.39MB 文本挖掘 tmSVM libSVM 支持向量机
1
实现一个论坛系统,用户可以浏览论坛上的帖子,并注册成正式会员。
会员能够修改自己的信息,申请版主,发表帖子,站内发私信等。
管理员能够管理论坛,包括审核留言,删除板块,删除帖子,删除回复,封禁账号等权限。
于是,可以得到以下要实现的功能:普通用户部分:1.用户注册、登录、修改个人信息。
2.浏览讨论区。
3.帖子的创建及回复。
4.自身发过帖子的删除及自己回复的删除。
管理员部分:1.拥有普通用户所有功能。
2.删除帖子,删除回复,账号封禁等。
3.查看用户详细信息,修改用户信息。
4.进行板块的增删改。
5.设置版主。
在此基础上,功能又可以继续细化:1.登录:登录时进行字段验证。
2.注册:用户注册时要输入账号、密码、密码确认、手机号、微信号、邮箱等。
3.修改个人信息:除账号以外的信息均可修改。
4.浏览:用户在登录前仅可以浏览帖子,登陆后才可以回复。
5.实现板块的增删改。
(最初做)6.管理员的权限控制,分为总管理员和版主,版主仅拥有自己板块的管理权限。
7.删除帖子:用户仅可以删除自己发的帖子及回复,管理员和版主可以删除所有。
8.用户可以在站内给任何人发私信。
2023/1/19 16:54:30 7.25MB php
1
JDK最新版(jdk-8u121-windows),并附带环境变量配置说明文件,一举两得,方便快捷!留意:最新版是指截止上传时间(2017-1-18)之前。
2023/1/12 8:06:27 923B JDK
1
第十五届智能车竞赛中的信标组别使用了新的声音信标[1]作为车模导引信号。
如何在新版信标还没有正式出品之前就开始车模信号接收和处理模块的调试是很多同学关心的问题。
在之前,同学们通过音箱播放信标Chirp音频[2]文件来模拟信标发出的声音,调试相应的麦克风阵列。
这种方式比较简单,但还是缺少信标中的调频无线发送的同步音频信号,这使得信标的检测精度降低,响应速度缓慢了。
下面引见一种使用一款八管脚(SOP8封装)单片机STC8G1K08来制作简化版的信标信号板,用于车模的调试。
2023/1/12 5:35:20 450KB 智能车竞赛
1
内附详细安装教程!该软件可用于浏览器插件,方便大家使用谷歌学术进行文章下载等功能。
由于中国大陆无法直接打开Chrome使用商店.所以,可以利用chrome开发者模式,来安装源码码实现使用本插件.安装登录成功后,再去线上安装正式版本.
2023/1/12 5:37:48 497KB 谷歌学术 VPN Ghelper
1
清华三维nasew2003正式版破解
2015/3/23 3:05:23 6.15MB 清华三维
1
jeecmsv9.3正式版源码包更新日志1、栏目添加选择模型模板只选择一个报错2、内容复用待审核查询报错(开源版)3、根栏目添加内容报错4、后台页面样式调整5、后台编辑器分页问题7、数据统计今日数据没有问题8、公众号推送菜单和群发微信菜单获取微信端消息前往处理9、OSS管理添加appkey_secretId后台未解密导致数据存储错误10、会员中心留言列表报错11、工作流节点空值处理12、手机模板在静态页生成的情况下url错误处理13、新增百度主动推送14、内容删除同时删除静态页(含FTP)15、栏目和内容静态化调整成只生成前10页16、activationjcaptchafreemarkerJAR部分用户反映下载不了,调整pom采用本地jar17、栏目没有选择模型模板的情况下,发布内容选择不到模型问题处理JEECMS简介JEECMS是JavaEE版网站管理系统(JavaEnterpriseEditionContentManageSystem)的简称。
·基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点·采用hibernate3springmvcspring2freemarker主流技术架构·懂html就能建站,提供最便利、合理的使用方式·强大、灵活的标签,用户自定义显示内容和显示方式·在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性·完全生成全站静态页面,可自定义路径结构,无需urlrewrite·轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录jeecms页面展示: 相关阅读同类推荐:CMS系统
2019/11/9 17:35:23 81.54MB Jsp源码-CMS文章
1
音频分析软件10.0正式版更新日期:2010-6-10*优化双音多频DTMF(DualTONeMulTI-Frequency)信令算法,界面增加结果倒出功能*改善对不同音频采样率兼容性问题音频分析软件10.02正式版更新日期:2010-11-10*由FFT算法改换成Goertzel算法,实现更快更精准的解码效果*改善winowsXP系统兼容性问题音频分析软件10.03正式版更新日期:2011-2-15*优化Goertzel算法,提示软件精确性*提高软件在DTMF按键音失真下的精确性音频分析软件10.04正式版更新日期:2011-5-20
2018/6/14 14:03:11 1.87MB 音频分析软件
1
《从入门到通晓STC8051单片机核心技术》这个是网上出的试读版,正式出版的书名为《51单片机轻松入门-基于STC15W4K系列(C语言版)》,这个是完整的扫描版,还有书签的。
要下的快点。
2017/3/25 13:35:58 66.71MB 51单片机教程 STC15W
1
MikroTikRouterOSv6.19L6答应,可顺利升级到7.x版本。
此文件为VMware的导出文件。
可安装到VMwareWorkstation和VMwareESX服务器。
默认用户名admin密码为空
2016/6/25 19:22:24 48.42MB ros 破解 虚拟机 routeros6.19
1
共 517 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡