|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x

4 \0 W6 l% ?+ f. I2 k8 O6 L hello!大家好,今天张老师来讲解词云的具体应用实例,
" {# o, T" B. y$ @, m* L 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
- W1 x7 K# V8 s1 Q 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
2 W! V2 m9 ^8 o* k% B3 a& r/ a 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
5 w- N5 r5 V7 ~$ `( M" A- jieba 库 ------------【学习直通车】(高中必修)
' {" ~9 a1 x$ K6 A( [
- wordcloud 库 ----【学习直通车】(高中选修)
$ [' X/ c( A0 w$ s. M% a; L: O6 G
4 h& {$ i. ]+ s8 ]* {7 a# Y
下面我们以《新大榭python学习社区》为例进行数据词云效果展示, k' y( Z# K4 B5 O8 K6 r0 _
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
4 Q" r5 N, ~0 f/ B1 G: C
/ ]& m+ K( v2 i6 Y8 ~4 ?# Z' h( B
5 ]3 N6 q) C# p: O# g7 s |* w
图1: 未进行优化处理 - 原版效果图 ↑↑↑& D% Z5 J6 W$ O7 f S9 R5 r/ x; `/ `: w
. Q. d/ y* j% B# e
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码 f9 d* U4 x4 x- v' k% X9 a% S
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
) ]& h2 ?# l9 [4 ^- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 0 J Y6 o1 N- n N) p' O5 Z
以上操作就是过滤关键词;
0 U# S2 _8 f; g. e反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
& {) U* Q @4 w9 s5 W- jieba.add_word("仑中")
; K& X$ m2 }7 \' C) h) I1 v1 B - jieba.add_word("蓝桥杯")/ i% x1 N1 P! Y$ H
- jieba.add_word("第三方库")
复制代码 : f1 _' _5 }$ G3 A3 S- c+ L
e6 J, C8 w) j2 H6 W( `/ x( P
图2: 已进行优化处理 - 效果图 ↑↑↑
7 Z+ p9 {- Z! z. |; L; ?: q/ l" M, z0 `) y" m
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
3 Y$ l* O( V, q, V# x) r这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
; S6 _: p" f1 t# O# I8 K
. {& j+ A; k+ f% x, \ Y图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑3 R. n: L4 s. s( X ^2 }
& i& r* }/ e& J- D. p9 m
核心代码片段如下 ↓↓↓; Q$ G1 b" u% o4 v
- import jieba4 k C! B9 s, Y M! p
- import wordcloud
2 ^! W4 Y2 d9 g. ] - 6 `% H$ {4 C6 b2 b* d, s
- # 引入数据文本文件; f7 D! G% g# a5 F! N
- text = open('text.txt','r',encoding='UTF-8').read()! `4 n# M" j+ }7 b5 D) r3 k0 b5 B! j
5 x' N$ I' a5 I) d- # 设置词云图片大小、字体及背景色(背景色默认黑色), v- l1 F8 j! a0 x+ f
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")- O w6 K2 e8 Z1 @5 o
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板7 p2 C8 K6 h$ q# U2 g
- , W( T Q* ^( N% n/ u5 G
- w.generate(" ".join(jieba.lcut(text)))0 H; i* Q- o0 }( f I/ d2 G/ K
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签3 y) j1 H" v5 k- D% H/ B
- * e1 g' G! p1 {2 H8 i, k
- # 新增关键字词汇
: g7 a2 Z2 f8 |3 }5 h! U - jieba.add_word("蓝桥杯")
& O {- A0 [8 u# }5 } - jieba.add_word('仑中'). f3 R! w0 k% i% D' d4 Q
- jieba.add_word('新高考')
! n$ l; d- u4 b7 @ - jieba.add_word('零基础')
# e! H& i% y) j# Y - jieba.add_word('第三方库')
, g8 x7 O- a( D) |7 V
+ `7 {0 y3 _3 s- W6 y. L. X8 L- # 过滤干扰词汇
. {; O0 G' y0 a - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
( H0 r2 [$ h9 s8 \$ r - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))/ `2 b! P$ A) Y* `3 O
- 7 b* n# c' s, d) l4 ?
- # 输出图文7 i: k8 s h d. B
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|