|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
( O4 `5 T N* ^. _( \+ v
hello!大家好,今天张老师来讲解词云的具体应用实例,
4 r4 b& p8 [1 ^- H4 q( O& @ 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。8 t) l8 U: f v' X; u! i5 m/ o
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , - \# C6 a+ p1 H
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。" E1 \- D0 b: V9 ~, }8 D
- jieba 库 ------------【学习直通车】(高中必修)- I! D a: q" b, Y
- wordcloud 库 ----【学习直通车】(高中选修)! M0 A+ v) j: c. c1 o# q/ A
3 B% x! M* {8 l& H# P下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
" s) X/ K! O; S! g \7 q U首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)- s M' }+ S- B% Q/ t
% Y/ D% `5 ]+ }- n$ X
( V9 k9 h4 z% u# B$ ~图1: 未进行优化处理 - 原版效果图 ↑↑↑3 t6 S' [6 D! e) u
4 D- Y6 s, B' P6 {很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码% U4 R( E3 G5 B' w' }% A, \
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成4 Y- \4 u9 O7 p% S7 I, y ]
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
: W8 Y- x; {8 q% T! M @以上操作就是过滤关键词;
- c( f7 J. Z5 L# e0 T9 [反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
" M! p: H2 D3 } E# W' `- jieba.add_word("仑中")
# f* F5 y3 G7 W - jieba.add_word("蓝桥杯")+ g: A3 F) s) [3 p( G9 a) H& r
- jieba.add_word("第三方库")
复制代码 r+ h9 u" ~, l3 }( g
+ k" r3 o: q7 a3 s2 @图2: 已进行优化处理 - 效果图 ↑↑↑! e. i, N T* l' b
u( }& \8 D5 g通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。+ w) T# s* t" ~3 p
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! 7 T- E4 ~5 F' I: w
; B) m, T! @9 ?( k% N" L8 _6 w s
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑6 t7 N+ f3 f1 t5 e8 N; e# v
# m: T, j% ?2 Q2 j; F核心代码片段如下 ↓↓↓( K( J/ U) P* g" J! D
- import jieba
9 E8 J" x) }4 I0 J5 e- V5 } - import wordcloud
, T0 H0 u+ k7 u5 n' X
& l& k$ _ c) x1 r- # 引入数据文本文件
V; k B6 F4 L+ k5 M; \ - text = open('text.txt','r',encoding='UTF-8').read()
]; [0 v+ s4 \" z: P
" D9 i' Q! O8 i; d- # 设置词云图片大小、字体及背景色(背景色默认黑色) }: B- I$ Z5 O$ J
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")3 s6 J5 |9 z. s! `
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板$ I( V+ q, j+ m6 J. D& e+ k8 l# t
- ; `5 V; a$ u/ A m0 T
- w.generate(" ".join(jieba.lcut(text))); s3 g5 e t! \
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签# [# q+ w; j0 @6 R. B1 e8 P1 R5 s
: J. U0 }, O+ J& G3 t n/ K- # 新增关键字词汇+ V `# S. `) a9 |$ d
- jieba.add_word("蓝桥杯")
) M2 T% F1 t; k; v }& E - jieba.add_word('仑中')* n1 n0 S# W( E3 Q7 B. r! D& Q4 M
- jieba.add_word('新高考')
7 o: g" C) n4 w - jieba.add_word('零基础')3 N z( ]$ ~0 O& M
- jieba.add_word('第三方库')& h9 M9 G) x4 f! u
G$ Y! Z# c/ _# U- # 过滤干扰词汇
7 m E5 X. |! Q$ W1 G* I5 K9 L - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']/ v& t8 C6 |: {$ t: Y' n
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))! r$ d$ r( i, M" c- f1 p
- D \6 V3 v- z9 T- # 输出图文
! L( K5 S8 k; o0 u7 z9 ~2 j - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|