3.有‘手机垃圾短信’数据集,将其放在文件中:sms_spam.csv,该文件共有5537行,2列,分别是类型(type,ham为非垃圾短信,spam为垃圾短信)和内容(text,短信的具体内容)。

(1)对该‘手机垃圾短信”数据集进行文本挖掘。

(2)划分非垃圾短信ham和垃圾短信spam,并分别作词云图。

'''
3.有‘手机垃圾短信’数据集,将其放在文件中:sms_spam.csv,该文件共有5537行,2列,
分别是类型(type,ham为非垃圾短信,spam为垃圾短信)和内容(text,短信的具体内容)。
(1)对该‘手机垃圾短信”数据集进行文本挖掘。
(2)划分非垃圾短信ham和垃圾短信spam,并分别作词云图。
'''# 库
import nltk
import pandas as pd
from nltk.tokenize import word_tokenize
from nltk.stem import PorterStemmer
from collections import Counterimport jieba
import jieba.analyse
from os import path
import imageio
from ipykernel import kernelapp as app
import matplotlib as mpl
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator# NLTK数据
nltk.download('punkt')
# 数据
sms = pd.read_csv('sms_spam.csv')
# 停用词
stop=pd.read_csv('C:/Users/86186/Desktop/大二 下/数据挖掘/第7章/Estopwords.txt',sep='bucunzai',encoding='utf_8',header=None)
stopwords=[' ']+list(stop[0])# 单行去除
word2 = []
for i in range(0,len(sms),1):j = word_tokenize(sms['text'][i])word2.append(j)
word22 = []
for j in range(0,len(word2),1):word21 = []for n in word2[j]:if n not in stopwords:word21.append(n)word22.insert(i,word21)
print('单行去除停用词看word22')# 词干提取
word3 = []
stemmer=PorterStemmer()
for i in range(0,len(word22),1):word31 = []for j in word22[i]:word31.append(stemmer.stem(j))word3.insert(i,word31)
print('单行词干提取看word3')# 词频(前25)
word_words=[x for x in word12 if len(x)>=2]
counter1 = Counter(word_words)
counter2 = Counter(word_words).most_common(25)
print(counter2)# (2)
# 分类
ham = []
for i in range(0,len(sms),1):if sms['type'][i] == 'ham':ham.append(sms['text'][i])
spam = []
for i in range(0,len(sms),1):if sms['type'][i] == 'spam':spam.append(sms['text'][i])ham1 = " ".join(ham)
ham11 = word_tokenize(ham1)
ham12 = []
for word in ham11:if word not in stopwords:ham12.append(word)
print('整体去除停用词看ham12')spam1 = " ".join(spam)
spam11 = word_tokenize(spam1)
spam12 = []
for word in spam11:if word not in stopwords:spam12.append(word)
print('整体去除停用词看spam12')# 使用词底图
maskImg=imageio.imread('C:/Users/86186/Desktop/大二 下/数据挖掘/第7章/renwu.png')
wc=WordCloud(font_path='C:/Windows/Fonts/simhei.ttf',background_color='white',max_words=10000,mask=maskImg,max_font_size=120,min_font_size=10,random_state=42,width=1200,height=900)# 词云函数
def word__cloud(text):# 设置字体及规格plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = Falseplt.figure(figsize = (10,4))maskImg=imageio.imread('C:/Users/86186/Desktop/大二 下/数据挖掘/第7章/renwu.png')wc=WordCloud(font_path='C:/Windows/Fonts/simhei.ttf',background_color='white',max_words=10000,mask=maskImg,max_font_size=120,min_font_size=10,random_state=42,width=1200,height=900)#生成text词云图wc.generate(text) image_colors=ImageColorGenerator(maskImg)print(image_colors)plt.imshow(wc)plt.axis('off')plt.title('词云图',fontsize = 20)plt.show()wc.to_file('词云图.jpg')word__cloud(ham1)
word__cloud(spam1)

Python金融数据挖掘 第7章 复习思考题 3相关推荐

  1. Python金融数据挖掘 第11章 复习思考题1 (聚类)给出一个数据集data_multivar.txt,里面有200个点坐标,在平面坐标系下可以画出它的散点图,用K均值聚类算法来训练模型,分4类。

    1.题目 给出一个数据集data_multivar.txt,里面有200个点坐标,在平面坐标系下可以画出它的散点图,如图11-12所示. data_multivar.txt 图11-12 数据集 da ...

  2. Python金融数据挖掘 第7章 第3节 (7) 案例:基于股评文本的情绪分析

    1.特征词 表示一篇文本,矩阵数据,聚类.分类.预测 2.情绪.情感分析 情感值.舆论文本.文本数据,来源管,新闻.情感倾向:存在误差,不准确 3.基于股评文本的情绪分析 #网络舆情,判断指数走向 3 ...

  3. Python金融数据挖掘 第7章 第2节 (5)高频词

    1.长度 文本长度:按照字数.标点符号.中英文 分词长度:词数,列表:list 预处理--统计词频.词,矩阵数据--深入分析,二维表,记录(文本).字段(词) 2.引入库 import jieba i ...

  4. 大学学python在金融中的应用_《Python金融数据挖掘及其应用》教学大纲

    < python 金融数据挖掘及其应用> 课程教学 大纲 课程代码: 学 分: 5 学 时: 80 (其中:讲课学时: 60 实践或实验学时: 20 ) 先修课程:数学分析.高等代数.概率 ...

  5. Python金融数据挖掘 第八章 复习思考题1

    一.问题 医院礼品店已完成5项交易,购买记录清单如表8-3所示,请使用Apriori算法进关联规则分析. (1)使用数字代替商品完成第3列: (2)计算购买"鲜花"的支持度: (3 ...

  6. Python金融数据挖掘 第八章 复习思考题2

    一.问题 设有一份购物篮数据basketdata.txt,包括两部分内容. 第一部分是1000名顾客的个人信息,含7个变量:会员卡号(cardid).消费金额(value).支付方式(pmethod) ...

  7. Python金融数据挖掘 第八章 第1节 Apriori算法原理(2)

    一.目标 1.了解关联规则算法的研究对象.意义和应用场景 2.掌握支持度与置信度的概念及计算方法 3.掌握关联规则算法的项目空间集裁剪方法 4.掌握Apriori算法的原理和实现方法 二.关联规则 1 ...

  8. Python金融数据挖掘

    一.随便说说? 使用底层code构建(包.模块--模板). 实验是干啥的呀?我也不知道,yinweimeiyoutingke. def 层层封装: 1.欧式距离计算(手工计算.) 2.数学语言到机器语 ...

  9. 金融数据挖掘 第7章 第2节(3)英文文本分析处理

    一.分割句子与单词(例1) nltk:自然语言工具包(分词.词干提取.同义词与反义词) 安装MLTK:conda install nltk (1)导入包 import nltk nltk.downlo ...

最新文章

  1. Nature综述:噬菌体的百年研究
  2. 贪吃蛇程序 php,php,函数 Web程序 - 贪吃蛇学院-专业IT技术平台
  3. java rsa 存数据库_java – 如何创建RSA密钥对以便将其存储在数据库中?
  4. Spring-AOP概述
  5. 两万字深度介绍分布式系统原理,一文入魂
  6. 解决 kindle 书籍字体颜色偏淡问题的方法
  7. 【华为云技术分享】【一统江湖的大前端】PPT制作库impress.js
  8. linux下ip协议(V4)的实现(一)
  9. python中格式化_python的format格式化
  10. Linux systemd limits
  11. 每日学习之 2016.07.27
  12. 关于JS !!flag 语法
  13. 机器视觉牛人及其相关领域分类科普
  14. java oracle spool,oracle之spool详细使用总结
  15. Python实验-字典攻击
  16. 截止失真放大电路_音频放大器结构组成_音频放大器分类
  17. 异方差检验 python_stata教程03-异方差的检验和处理
  18. Hubble数据库x某股份制商业银行:一款混布数据库的“交易+分析”提速之路
  19. Kubernetes 中进行 PVC 的扩容
  20. h5 app跳转客服咨询 临时会话 (没有开通在线咨询、无法会话)

热门文章

  1. Emgucv4.4.0.4099版本PCB开发板纠偏(直线倾斜角度计算方法、确定参考点坐标)MinEnclosingCircle(拟合圆函数)
  2. Backtrader(十三)- Order订单 -订单类型、订单执行逻辑
  3. SAP EWM 与 WM 比较
  4. 解决notepad打开大文件后卡住的问题
  5. 浅谈医学大数据(上)
  6. 板凳——————————————————(枯藤 )MIX汇编 前导(6)
  7. The Elements of Financial Econometrics
  8. java 非阻塞_Java之NIO(非阻塞IO)
  9. 为产业AI去障:联想的边缘突破
  10. 国家反诈中心|国家反诈中心官方app