libsvm 数据预处理 模块化程序
#coding gb2312
from SVM import FoldersCreation
import os
##############################################################################################
#参数设计
N=100 #N: half of total corpus size
vfold=5 #vfold: 循环验证的次数
featureDimension=2000 #featureDimension:VSM模型特征维度
toCalInfoGain=0#是否计算词袋子模型中的词集合的信息增益=1则不计算
count_done_research_times=0 #已经进行了几次试验
# N,count_done_research 为CorpusPartition.moveAccordingPartition的参数
#featureDimension,toCalInfoGain 2*N/vfold 为FeatureSelectionModel.featureSelectionIG
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
##############创建文件夹########################################################################
os.mkdir(r'D:\TextCategorization')
FoldersCreation.CreateAssist()
print '创建文件夹模块运行结束'
print '***************************************************************************'
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
################处理文档集合,对文档集合进行划分,区分测试集合和训练集合###############################
from SVM import CorpusPartition
CorpusPartition.MoveCorpus(N)
CorpusPartition.moveAccordingPartition(N,count_done_research_times)
print '分割文本集模块运行结束'
print '*******************************************************************'
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#########################文档集合分词##########################################################
from SVM import DataManager
from ctypes import *
import os
import cPickle as p
import re
roots=[r'D:\TextCategorization\training',r'D:\TextCategorization\testing']
rootfinals=[r'D:\TextCategorization\segmented',r'D:\TextCategorization\tsegmented']
#root=r'D:\TextCategorization\training'
#rootfinal=r'D:\TextCategorization\segmented'
for i in range(0,2):
dm=DataManager.DataManager(roots[i])
subdir=dm.GetSubDir()
filepathstotalsrc=[]
for sub in subdir:
dm.SetFilePathsFromsubDir(roots[i]+os.sep+sub)
filepaths=dm.GetFilePaths()
filepathsassist=[sub+os.sep+path for path in filepaths ]
filepathstotalsrc=filepathstotalsrc+filepathsassist
for path in filepathstotalsrc:
myfile=file(roots[i]+os.sep+path)
s=myfile.read()
myfile.close()
dll=cdll.LoadLibrary("ICTCLAS30.dll")
dll.ICTCLAS_Init(c_char_p("."))
bSuccess = dll.ICTCLAS_ParagraphProcess(c_char_p(s),0)
segmented=c_char_p(bSuccess).value
segmentedtmp=re.sub("\s+",'|',segmented,0)
segmentedfinal=re.sub('\xa1\xa1','',segmentedtmp)
fid=file(rootfinals[i]+os.sep+path,'w')
fid.write(segmentedfinal)
fid.close()
dll.ICTCLAS_Exit()
#print 'finalfinish congratulations!'
print '文档集分词模块运行结束'
print '**********************************************************************'
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
##################建立词袋子模型######################################################################
from SVM import BagOfWordsConstruction
BagOfWordsConstruction.BagOfWordsConstruction(r'D:\TextCategorization\segmented')
print '建立词袋子模型模块运行结束'
print '***********************************************************************************'
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#######################特征词选择##################################################################
from SVM import FeatureSelectionModel
featurewords=FeatureSelectionModel.featureSelectionIG(featureDimension,toCalInfoGain,2*N/vfold)#feature
import cPickle as mypickle
fid=file(r'D:\TextCategorization\VITData\keywords.dat','w')
mypickle.dump(featurewords,fid)
fid.close()
print '特征词选择模块运行结束'
print '*******************************************************************************************'
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#######################文档向量模型建立模块##############################################################
from SVM import VSMformation
root1=r'D:\TextCategorization\segmented'
root2=r'D:\TextCategorization\tsegmented'
print 'begin.....'
VSMformation.LibSVMFormat(r'D:\TextCategorization\data\train.libsvm',root1)
print '训练语料库转化完毕'
VSMformation.LibSVMFormat(r'D:\TextCategorization\data\test.libsvm',root2)
print '测试语料库转化完毕'
print '文档向量模型建立模块运行结束'
print '批处理完毕,congratulations!'
libsvm 数据预处理 模块化程序相关推荐
- 使用MapReduce程序完成相关数据预处理(二)
使用MapReduce程序完成相关数据预处理(二) 数据大概有2万条左右所以部分截取 (格式为csv) 1月20日,北京,大兴区,2,0,0,北京市大兴区卫健委,https://m.weibo.cn/ ...
- ## 使用MapReduce程序完成相关数据预处理
使用MapReduce程序完成相关数据预处理 数据大概有2万条左右所以部分截取 (格式为csv) 1月20日,北京,大兴区,2,0,0,北京市大兴区卫健委,https://m.weibo.cn/270 ...
- excel量化交易接口系统程序怎样进行数据预处理?
在数据统计和预测的过程中,工程师基本都使用现成的算法,工程师的主要工作是根据具体业务逻辑预处理数据和选择算法,即可以使用excel量化交易接口系统来进行数据预处理. 首先要对数据预处理包括数据的归一化 ...
- 常用构建数据科学应用程序的七个Python库
当我开始学习数据科学的旅程时,这些都是我脑海中一直存在的问题.我学数据科学的目的不仅仅是为了开发模型或清理数据,我想制作人们可以使用的应用程序,我正在寻找一种快速的方法来制作MVP(最小可行产品)来测 ...
- HBase 在京东人资数据预处理平台中的实践!
背景 人资绩效系统数据预处理平台,负责接收所有上游业务量数据.具有数据量大.非结构化数据.更新单个业务量数据,查询性能要求高等特性.通常技术上可以选择OSS.MySql数据库.ES等存储方案.其中OS ...
- python游戏中调整箭头下落速度_入门 | 三行Python代码,让数据预处理速度提高2到6倍...
原标题:入门 | 三行Python代码,让数据预处理速度提高2到6倍 选自TowardsDataScience 作者:George Seif,机器之心编译 在 Python 中,我们可以找到原生的并行 ...
- 数据预处理之独热编码(One-Hot)
1.前言 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这些特征值并不是连续的,而是离散的,无序的.通常我们需要对其进行特征数字化. 那什么是特征数字化呢 ...
- letswave7中文教程2:脑电数据预处理-通道位置分配
目录 第1步:通道位置分配 第2步:删除不良通道 第3步:滤波处理 第4步:坏电极插值 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 原始的脑电图信号是有 ...
- 深度学习与计算机视觉系列(4)_最优化与随机梯度下降\数据预处理,正则化与损失函数
1. 引言 上一节深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器中提到两个对图像识别至关重要的概念: 用于把原始像素信息映射到不同类别得分的得分函数/score function 用 ...
最新文章
- java native方法体在哪_java中native方法的使用
- 【计算理论】可判定性 ( 非确定性有限自动机的接受问题 | 证明 “非确定性有限自动机的接受问题“ 的可判定性 )
- 理解:TI C6000 数据存储处理与性能优化
- Java Process getOutputStream()方法与示例
- 关于mybatis中type-aliases-package使用的几个问题
- c++ break跳出几个循环_必须知道的C语言知识细节:break、continue语句区别
- 简述mysql事件作用_MYSQL使用简述
- Tp5.0完全开发手册学习(第六章 请求)之一 (request 和input)
- 区块链研究实验室-首次提出如何确保区块链分片技术的数据完整性
- windows: 如何显示文件的全称
- python实现克莱姆法则
- 【毕业设计】深度学习卫星遥感图像检测与识别系统(目标检测)
- 推荐一个外国的数据结构在线演示网站
- 音乐研发必备:理解 MIDI 协议与标准 MIDI 文件格式
- 查询优化:SQL优化,关于连多表查询
- 微型计算机内存的基本单元的长度是,2017年计算机应用基础统考试题库
- 图论(17)平面图概念与性质
- Grafana报错 414 Request-URI Too Large
- 西南大学计算机考研907经验分享
- 合数双线性群(Composite Order Bilinear Groups)