实验框架图见libsvm文本分类:二分类(二) 实验框架图 下面是主模块代码,暂不公布全部代码
代码

# -*- coding: cp936 -*-
#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 数据预处理 模块化程序相关推荐

  1. 使用MapReduce程序完成相关数据预处理(二)

    使用MapReduce程序完成相关数据预处理(二) 数据大概有2万条左右所以部分截取 (格式为csv) 1月20日,北京,大兴区,2,0,0,北京市大兴区卫健委,https://m.weibo.cn/ ...

  2. ## 使用MapReduce程序完成相关数据预处理

    使用MapReduce程序完成相关数据预处理 数据大概有2万条左右所以部分截取 (格式为csv) 1月20日,北京,大兴区,2,0,0,北京市大兴区卫健委,https://m.weibo.cn/270 ...

  3. excel量化交易接口系统程序怎样进行数据预处理?

    在数据统计和预测的过程中,工程师基本都使用现成的算法,工程师的主要工作是根据具体业务逻辑预处理数据和选择算法,即可以使用excel量化交易接口系统来进行数据预处理. 首先要对数据预处理包括数据的归一化 ...

  4. 常用构建数据科学应用程序的七个Python库

    当我开始学习数据科学的旅程时,这些都是我脑海中一直存在的问题.我学数据科学的目的不仅仅是为了开发模型或清理数据,我想制作人们可以使用的应用程序,我正在寻找一种快速的方法来制作MVP(最小可行产品)来测 ...

  5. HBase 在京东人资数据预处理平台中的实践!

    背景 人资绩效系统数据预处理平台,负责接收所有上游业务量数据.具有数据量大.非结构化数据.更新单个业务量数据,查询性能要求高等特性.通常技术上可以选择OSS.MySql数据库.ES等存储方案.其中OS ...

  6. python游戏中调整箭头下落速度_入门 | 三行Python代码,让数据预处理速度提高2到6倍...

    原标题:入门 | 三行Python代码,让数据预处理速度提高2到6倍 选自TowardsDataScience 作者:George Seif,机器之心编译 在 Python 中,我们可以找到原生的并行 ...

  7. 数据预处理之独热编码(One-Hot)

    1.前言 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这些特征值并不是连续的,而是离散的,无序的.通常我们需要对其进行特征数字化. 那什么是特征数字化呢 ...

  8. letswave7中文教程2:脑电数据预处理-通道位置分配

    目录 第1步:通道位置分配 第2步:删除不良通道 第3步:滤波处理 第4步:坏电极插值 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 原始的脑电图信号是有 ...

  9. 深度学习与计算机视觉系列(4)_最优化与随机梯度下降\数据预处理,正则化与损失函数

    1. 引言 上一节深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器中提到两个对图像识别至关重要的概念: 用于把原始像素信息映射到不同类别得分的得分函数/score function 用 ...

最新文章

  1. java native方法体在哪_java中native方法的使用
  2. 【计算理论】可判定性 ( 非确定性有限自动机的接受问题 | 证明 “非确定性有限自动机的接受问题“ 的可判定性 )
  3. 理解:TI C6000 数据存储处理与性能优化
  4. Java Process getOutputStream()方法与示例
  5. 关于mybatis中type-aliases-package使用的几个问题
  6. c++ break跳出几个循环_必须知道的C语言知识细节:break、continue语句区别
  7. 简述mysql事件作用_MYSQL使用简述
  8. Tp5.0完全开发手册学习(第六章 请求)之一 (request 和input)
  9. 区块链研究实验室-首次提出如何确保区块链分片技术的数据完整性
  10. windows: 如何显示文件的全称
  11. python实现克莱姆法则
  12. 【毕业设计】深度学习卫星遥感图像检测与识别系统(目标检测)
  13. 推荐一个外国的数据结构在线演示网站
  14. 音乐研发必备:理解 MIDI 协议与标准 MIDI 文件格式
  15. 查询优化:SQL优化,关于连多表查询
  16. 微型计算机内存的基本单元的长度是,2017年计算机应用基础统考试题库
  17. 图论(17)平面图概念与性质
  18. Grafana报错 414 Request-URI Too Large
  19. 西南大学计算机考研907经验分享
  20. 合数双线性群(Composite Order Bilinear Groups)

热门文章

  1. javascript string replace 正则替换
  2. Java web 初入
  3. 超干货 | 硅谷产品大师 Marty Cagan 70 分钟演讲2万字中译
  4. 产品汪才不是你想的辣么简单
  5. 资本寒冬,这十大创业公司值得尊重(上)
  6. React性能优化之Context
  7. (一)Java工程化--Maven基础
  8. 大神,快来救救我,我搞不定啊
  9. 【haproxy初始化】init_haproxy.sh
  10. 网站建设技术――智能建站系统