博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
垃圾邮件分类
阅读量:4672 次
发布时间:2019-06-09

本文共 1780 字,大约阅读时间需要 5 分钟。

import csv# 读数据file_path = r'D:\SMSSpamCollectionjsn.txt'smsData = open(file_path,'r',encoding='utf-8')E_data = []E_target = []csv_reader = csv.reader(smsData,delimiter='\t')# 将数据分别存入数据列表和目标分类列表for line in csv_reader:    E_data.append(line[1])    E_target.append(line[0])smsData.close()# 把无意符号替换成空格E_data_clear = []for line in E_data:    # 去掉无意义符号并按空格分词    for char in line:        if char.isalpha() is False:            # 不是字母,发生替换操作:            newString = line.replace(char," ")    tempList = newString.split(" ")    # 将处理好后的一行数据追加到存放干净数据的列表    E_data_clear.append(tempList)# 去掉长度不大于3的词和没有语义的词Email_data_clear2 = []for line in E_data_clear:    tempList = []    for word in line:        if word != '' and len(word) > 3 and word.isalpha():            tempList.append(word)    tempString = ' '.join(tempList)    Email_data_clear2.append(tempString)Email_data_clear = Email_data_clear2# 将数据分为训练集和测试集from sklearn.model_selection import train_test_splitx_train,x_test,y_train,y_test = train_test_split(Email_data_clear2,E_target,test_size=0.3,random_state=0,stratify=E_target)# 将其 转化为向量from sklearn.feature_extraction.text import TfidfVectorizervectorizer = TfidfVectorizer()X_train = vectorizer.fit_transform(x_train)X_test = vectorizer.transform(x_test)# 观察向量import numpy as npX_train = X_train.toarray()X_test = X_test.toarray()X_train.shape# 输出不为0的列for i in range(X_train.shape[0]):    for j in range(X_train.shape[1]):        if X_train[i][j] != 0:            print(i,j,X_train[i][j])# 贝叶斯分类器from sklearn.naive_bayes import GaussianNBclf = GaussianNB()module = clf.fit(X_train,y_train)y_predict = module.predict(X_test)# 输出模型分类from sklearn.metrics import classification_reportcr = classification_report(y_predict,y_test)print(cr)

 

 

 

转载于:https://www.cnblogs.com/DTTD/p/10073755.html

你可能感兴趣的文章
win7,Ubuntu 12.04 双系统修改启动项顺序三方法
查看>>
python--列表推导式和生成表达式
查看>>
P - Psychos in a Line 单调队列
查看>>
POJ 2653 Pick-up sticks(计算几何)
查看>>
大型网站高并发的架构演变图-摘自网络
查看>>
8丶运行及总结
查看>>
Unity获取手机的电量时间
查看>>
Spring框架:Spring容器具体解释
查看>>
MongoDB 3.2 从安装到使用。
查看>>
XCODE快捷键和功能汇总篇(不断更新)
查看>>
Servlet开发(一)
查看>>
linux下如何查看某个容器的详细信息?
查看>>
bzoj 2843: 极地旅行社
查看>>
车林通购车之家--购车计算器模块--算法js
查看>>
webpack使用教程
查看>>
MySQL学习8 - 数据的增删改
查看>>
Linux笔记(开机自动将kerne log保存到SD卡中)
查看>>
Ajax提交数据判断员工编号是否存在,及自动填充与员工编号所对应的员工姓名。...
查看>>
CodeForces 689E (离散化+逆元+组合)
查看>>
pycharm 右键无法显示unittest框架&&解决右键只有unittest 运行如何取消右键显示进行普通run...
查看>>