import xlrd
import jieba
import sys
import importlib
import os #python内置的包,用于进行文件目录操作,我们将会用到os.listdir函数
import pickle #导入cPickle包并且取一个别名pickle #持久化类
import random
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from pylab import mpl
from sklearn.naive_bayes import MultinomialNB # 导入多项式贝叶斯算法包
from sklearn import svm from sklearn import metrics
from sklearn.datasets.base import Bunch
from sklearn.feature_extraction.text import TfidfVectorizer
importlib.reload(sys) #把内容和类别转化成一个向量的形式
trainContentdatasave=[] #存储所有训练和测试数据的分词
testContentdatasave=[] trainContentdata = []
testContentdata = []
trainlabeldata = []
testlabeldata = [] #导入文本描述的训练和测试数据
def importTrainContentdata():
file = '20180716_train.xls'
wb = xlrd.open_workbook(file)
ws = wb.sheet_by_name("Sheet1")
for r in range(ws.nrows):
trainContentdata.append(ws.cell(r, 0).value) def importTestContentdata():
file = '20180716_test.xls'
wb = xlrd.open_workbook(file)
ws = wb.sheet_by_name("Sheet1")
for r in range(ws.nrows):
testContentdata.append(ws.cell(r, 0).value) #导入类别的训练和测试数据
def importTrainlabeldata():
file = '20180716_train_label.xls'
wb = xlrd.open_workbook(file)
ws = wb.sheet_by_name("Sheet1")
for r in range(ws.nrows):
trainlabeldata.append(ws.cell(r, 0).value) def importTestlabeldata():
file = '20180716_test_label.xls'
wb = xlrd.open_workbook(file)
ws = wb.sheet_by_name("Sheet1")
for r in range(ws.nrows):
testlabeldata.append(ws.cell(r, 0).value) if __name__=="__main__": importTrainContentdata()
importTestContentdata()
importTrainlabeldata()
importTestlabeldata() '''贝叶斯
clf = MultinomialNB(alpha=0.052).fit(train_set.tdm, train_set.label)
#clf = svm.SVC(C=0.7, kernel='poly', gamma=10, decision_function_shape='ovr')
clf.fit(train_set.tdm, train_set.label)
predicted=clf.predict(test_set.tdm) 逻辑回归
tv = TfidfVectorizer()
train_data = tv.fit_transform(X_train)
test_data = tv.transform(X_test) lr = LogisticRegression(C=3)
lr.fit(train_set.tdm, train_set.label)
predicted=lr.predict(test_set.tdm)
print(lr.score(test_set.tdm, test_set.label))
#print(test_set.tdm) #SVM
clf = SVC(C=1500)
clf.fit(train_set.tdm, train_set.label)
predicted=clf.predict(test_set.tdm)
print(clf.score(test_set.tdm, test_set.label))
''' tv = TfidfVectorizer()
train_data = tv.fit_transform(trainContentdata)
test_data = tv.transform(testContentdata) clf = SVC(C=1500)
clf.fit(train_data, trainlabeldata)
print(clf.score(test_data, testlabeldata)) a=[]
b=[]
for i in range(len(predicted)):
b.append((int)(float(predicted[i])))
a.append(int(test_set.label[i][0])) '''
f=open('F:/goverment/ArticleMining/predict.txt', 'w')
for i in range(len(predicted)):
f.write(str(b[i]))
f.write('\n')
f.write("写好了")
f.close()
#for i in range(len(predicted)):
#print(b[i])
'''
#metrics_result(a, b)

ptyhon中文本挖掘精简版的更多相关文章

  1. [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)

    利用周末时间将整个电脑格式化,换成了ubuntu系统- 所谓:扫清屋子再请客! 但是有些软件只在win上有,于是还是考虑装个虚拟机来个——逐步过度策略,一点点地从win上转移到linux上 我的系统是 ...

  2. VMware Workstation 10.0 简中绿色精简版

    VMware Workstation是强大的虚拟机软件,能在一台机器上同时运行二个或更多Windows.DOS.LINUX系统,并进行开发.测试.部署新的应用程序.VMware10.0 延续VMwar ...

  3. Linux上oracle精简版客户端快速部署

    RHEL6 + Oracle 11g客户端快速部署 需求:只是用到客户端的sqlplus, sqlldr功能. 方案:用精简版实现客户端的快速部署 1.上传oracle精简版客户端到服务器/tmp目录 ...

  4. Log4j快速使用精简版

    Log4j快速使用精简版 1.导入log4j-1.2.17.jar包 2.在src根目录下创建log4j.properties文件 log4j.rootLogger=INFO, CONSOLE, FI ...

  5. 小韦XPSP3 V10.0_Ghost精简版

    小韦XPSP3 V10.0_Ghost精简版 该版本基于小韦XPSP3 V10.0,用EasySysprep_4.1进行重新封装,最大程度保持原版极度精简的理念.C盘为NTFS格式,安装后C盘只占用2 ...

  6. python 遗传算法精简版

    精简版遗传算法,算法中仅采用变异算子而没有使用交叉算子,但是进化依然很有效 from string import ascii_lowercase from random import choice, ...

  7. HTML5技术实现Web图形图像处理——WebPhotoshop精简版

    WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包 ...

  8. 安装CentOS7精简版后的配置工作

    CentOS7完整版有7.7G,太大了下载起来比较费劲,还是下载了精简版,但是精简版安装以后很多命令都没有,还要动手配yum源,按需安装 国内的yum源比较好的就是163的了,配置方法: 1,进入yu ...

  9. stl总结精简版

    STL 精简版 vetor #include<vector> #include<cstdio> #include<algorithm> #include<io ...

随机推荐

  1. ZOJ 2975 Kinds of Fuwas(暴力+排列组合)

    Kinds of Fuwas Time Limit: 2 Seconds      Memory Limit: 65536 KB In the year 2008, the 29th Olympic ...

  2. SCM-MANAGER-禁用用户

    用管理远用户登录到scm-manager的管理界面http://*.*.*.*:8081/ 设置目标用户为禁用 验证 非 “active” 状态 目标用户客户端不能pull 一直提示登录

  3. Linux下第一次Node尝试

    由于需求所定,必须在服务器上使用nodejs,第一次使用过程记录下来. 首先是安装node,这里可以下载到各个版本的node:https://nodejs.org/download/ 我是进入rele ...

  4. 【javascript基础】运算符优先级

    优先级 运算类型 关联性 运算符 1 成员运算符 从左到右 . [] new 从右到左 new 2 函数调用运算符 从左到右 () 3 自增运算符 n/a ++ 自减运算符 n/a -- 4 逻辑非运 ...

  5. 关于javascript严格模式下七种禁止使用的写法

    分享至javascript语言精髓与编程实践 开启严格模式(”use strict"): 在全局代码的开始处加入 在eval代码的开始处加入 在函数声明代码处加入 在new Function ...

  6. New Concept English three(11)

    Customs Officers are quite tolerant these days, but they can still stop you when you are going throu ...

  7. 联想THINKPAD E40的快捷键怎么关闭?哪些F1 F2 F3的键我需要用到 但是每次都按FN 太烦人了

    1.开机时,按F1进入BIOS,依次选择CONFIG--Keyboard/Mouse,2.在Change to "f1-f12 keys"选项中,更改设置为Legacy或者Defa ...

  8. ubuntu16 chrome install

    1,download chrome.deb from : https://www.google.com/chrome/index.html 2,double click chrome.deb and ...

  9. 如何去访问win8系统的共享文件夹

    关于共享,看过不少的贴子,觉得搞得很复杂.我看起来也很头痛.晕头转向的.其实我们作为家庭用户来说,不想搞得那么复杂,我们只要能做到能够从一台电脑访问另一台电脑的共享文件夹就可以了,这样我们就可以任意从 ...

  10. android 获取 图片或视频略缩图

    /** * 根据指定的图像路径和大小来获取缩略图 此方法有两点好处: 1. * 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度, * 第二次读取的bitmap是根 ...