文本挖掘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
这是一个使用C#编写的Unity脚本,可以录制麦克风的语音输入,保存成WAV格式的文件。
使用说明:首先要有麦克风接入,调成默认输入设备,然后把脚本放在任意一个物体上,接口可以不用配置,都有默认值,运转时点击G是开始录音,H是播放录音,J是保存文件。
2023/2/8 8:30:55 5KB Unity 麦克风 录音 WAV
1
C语言火车自助售票系统,注册,登录,默认初始化管理员admin,密码123456,管理员可以站点增删改查,车次增删改查,途经添加删除,旅客可以车站查询,票价查询,余票查询,购票,退票。
具有翻页,模糊查询功能。
适合新手学习,有详细正文。
2023/2/6 14:14:06 167KB C火车系统
1
具有许多NSFW和有趣命令以及实用程序和审核功能的多功能Discord机器人。
去有关完整的命令列表。
默认前缀是。
所以help命令将是.help如果您不想遵照以下步骤,请使用。
安装指南现在,您可以从发布页面下载该漫游器,以便更轻松地遵照此设置指南。
获取您的凭证:转到提出一个新的应用程序。
转到“机器人”标签,然后单击“添加机器人”。
代币您的令牌就是您用来登录机器人的令牌。
在漫游器标签上,点击复制并显示令牌。
复制令牌后,您现在可以将其粘贴到配置文件中。
确保您在语音标记之间粘贴它。
您的不合格ID要获取ID,请访问“不和谐”设置,然后转到“外观”。
进入外观选项卡后,向下滚动直到找到“开发人员模式”。
打开“开发人员模式”现在,开发人员模式已打开,在任何服务器上键入一条消息,然后右键单击您的名称,然后单击coppyid。
将复制的ID粘贴到配置的“devID”部分。
如果正确遵照了步骤,则config.json文件现在应如下所示:{"token":"Yourdiscordtoken","prefix":"Y
2023/2/6 13:38:29 119KB nodejs music bot npm
1
分配完成budget.py的Category类。
它应该能够根据不同的预算类别(例如食物,衣服和娱乐)实例化对象。
创建对象时,它们将以类别的名称传递。
该类应具有一个称为ledger的实例变量,该实例变量是一个列表。
该类还应该包含以下方法:接受金额和说明的deposit方法。
如果未给出描述,则默认为空字符串。
该方法应将对象以{"amount":amount,"description":description}的方式附加到分类帐列表。
与deposit方法类似的withdraw方法,但传入的金额应作为负数存储在分类帐中。
如果没有足够的资金,则不应在分类帐中添加任何内容。
如果撤回发生,则此方法应返回True,否则返回False。
一种get_balance方法,该方法根据已发生的存款和取款返回预算类别的当前余额。
一种接受金额和另一个预算类别作为参数的tran
2023/2/6 4:33:33 3KB Python
1
录X啦V6.91.视频字幕提取功能,增加线程终止,避免由于网络因素导致崩溃2.实时转换,中英文两个选项,改成一个,自动判断3.实时转换,增加识别结果模仿输出,支持在多个环境下输出文字4.实时转换,改变翻译接口,准确率更高5.设置区域增加“百度高精度”识图、默认为关闭状态【识别效果和破解版无关】我上面随便下载的一首歌识别的,效果很一般。
可能清晰的录音会不错吧。
补丁严重报毒,害怕可以不用,补丁扔在录音啦根目录执行即可。
本补丁仅供技术交流使用,有能力请支持作者,购买正版软件!
2023/1/31 6:32:12 2.13MB 录音啦高级版 录音啦
1
由于最近的mybatis项目中经常需要新增表字段,而表字段为下划线风格,javabean字段为驼峰风格,而eclipse没有自带下划线风格和驼峰风格互转的快捷键,因而做了这个eclipse插件来实现添加该功能,我想应该有很多人也为eclipse没有自带这种快捷键而苦恼过,因而发布该资源,下载后就是一个jar文件,粘贴到eclipse的plugins文件夹重启eclipse后,选中eclipse编辑器中的一段内容例如ab_cd_ef按快捷键ctrl+shift+z则会转化为abCdEf,再按一下快捷键转化回ab_cd_ef,默认驼峰转为下划线后为全小写,因为另一个自带的转大写快捷键ctrl+shift+x就在该插件的快捷键旁边,如果需要转大写可以很方便用自带快捷键实现
1
数据结构课程设计吉大中心校区导游系统此程序是为学校数据结构课程设计而做的。
运行方法:可通过打开校园导游系统.exe或校园导游系统.hta(不明白hta是什么的可以自行百度,虽然本人也是第一次使用)进入登陆界面。
之后登陆界面会调用相应exe文件(校园导游系统admin.exe和校园导游系统user.exe)打开程序。
管理员模式密码为1234(密码在登录界面程序中定义,无法更改。
这一点是因为时间紧张,没有来得及添加密码功能。
)游客模式只有打开文件、查询景点、查询路径、显示、退出几个选项。
管理员模式有以上功能,还可添加景点、删除景点、修改景点、添加边、删除边。
程序运行过程中按照提示操作即可。
程序进入时默认打开map.txt和map.jpg,要打开其他文件请使用打开功能(文件有一定格式,请参看map.txt和map0.txt,要求先声明最大权值,然后声明景点数目,然后声明每一个景点的名称、简介、代号、X坐标、Y坐标,然后声明边的数目,然后声明每一条边的起点和终点的代号)。
数据结构.doc是数据结构课程设计课程的要求。
程序设计就是按照这个要求进行的。
《数据结构》课程设计报告.doc是所提交的设计报告,但是仅有界面部分,里面有详细的代码说明。
login.jpg是登陆界面的背景图片。
三个文件夹中是源代码。
分别对应于三个exe文件。
程序是采用绘图库编写(因为对于MFC是初自学,不甚会用)。
所以如果要编译源代码,请先安装easyX图形库(对于该图形库,可自行百度,此处提供版本可能不是最新,请去easyX官网下载。
)。
源代码全用VC6.0编译运行。
VS2013应该会报错。
codeblocks则不支持该图形库所以不能运行(或许应该说图形库不支持codeblocks?)。
若要学习图形库,可以使用压缩文件中的协助文件,很有协助的。
但是图形库做应用程序仅限于初学者,如果要做应用程序,最好使用MFC。
程序使用邻接表存储图,使用迪杰斯特拉算法计算最短路径。
使用绘图库绘制界面。
更多内容,请自己发掘。
请看源代码。
2023/1/19 19:01:16 2.13MB 吉大 数据结构 课程设计 导游
1
rk平台android5.1通过网线共享4g,wifi网络,外加设置UI开关按钮,默认是打开共享的可以通过系统属性persist.tethering.tether_eth来设置,个人测试可行,有需求可以私聊交流
1
服务端:服务端程序启动之后弹出窗口,管理员输入IP、端口等信息之后点击启动按钮,服务器启动,服务端窗口自动关闭,之后跳转至服务端信息展示界面,包含用户上线提醒,用户发送信息记录展示。
客户端:客户端程序启动之后,需要弹出登录界面,当用户成功输入昵称、密码、端口、IP等信息(考虑到用户权限问题,本程序在后台默认有固定IP、端口,)用户只需输入昵称、密码(密码用于后期连接数据库时用来匹配数据库存储的用户信息)。
当用户成功输入用户名。
昵称、密码等信息客户端登录成功跳转至用户进行端对端的聊天界面。
聊天界面大致分为聊天记录展示界面,在线好友信息界面以及用户发送信息处。
用户在发送消息处输入想要发送的文本消息,选择在线好友中的好友昵称点击选择好友即可选中您要发给的好友昵称,然后点击发送按钮,即可将消息发送给所选择的好友,同时将信息展示在自己的聊天界面中的聊天记录处2.2.功能要求§2.2.1服务端功能要求:当管理员输入服务器IP、以及端口等信息之后点击启动按钮之后,服务端正常启动之后,需要保持不断开机状态满足所有用户不论在何时登录之后都能进行与好友之间的聊天交流等,同时服务端还要满足监控用户登录信息,不同用户登录客户端之后,服务器后台能够看到某某客户上线了等提示信息。
用于服务端查看好友在线状态同时作为服务器,还要能够监控用户的聊天记录,用于监控用户不能发送一些不利言论,从而将其用户及时作封号处理。
阻止其传播一些不健康的言论。
§2.2.2客户端要求:用户在登录界面输入昵称、密码等信息之后成功登录之后,进行窗口之间的跳转,由登录窗口跳转至进行用户之间的聊天窗口,之前的登录窗口也要随之消失。
在聊天窗口之中用户需要根据好友在线信息情况选择自己想要与其进行聊天的对象。
用户点击在线好友的昵称点击选择好友即可向该好友发送信息,发送成功之后同时要将其发送的信息以及时间信息展示在自己的窗口之中,同时也要在指定好友的窗口之中有所显示以及时间信息
2023/1/18 15:58:24 4KB 界面化 可视化
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡