|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
# U7 R' x1 H+ _1 x4 |( a
hello!大家好,今天张老师来讲解词云的具体应用实例,) Y" F& G8 U, K& v; p& K& e/ r
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。& B- z& L$ l7 ^8 {* n) i
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
9 \( d- p* B% }% S5 f( }" d 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ f. k3 U% L0 z( D& C% |+ Z
- jieba 库 ------------【学习直通车】(高中必修)
5 L* _2 w; ?; ]& t
- wordcloud 库 ----【学习直通车】(高中选修)+ G* b. {! \3 Q/ P
8 g4 L0 e6 t8 u" _, M# s p3 D
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
( ^: `7 X# n# e首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
# T1 p4 S. m% y- \& e$ \: c# h( c: F z a5 e
. }# { @3 y+ t8 f% g6 n
图1: 未进行优化处理 - 原版效果图 ↑↑↑
8 ?9 h" `" `, f+ m1 d8 Z( I# _; @+ I3 g" D ]
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
% f; @! K/ ~. c; r- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
2 G$ `( t* f) R/ P$ B6 o( \ d- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
; y( K: U0 { G+ T以上操作就是过滤关键词;# ~- {: b% p6 u; Z
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
( t1 M, [! [. D' p5 k8 |- jieba.add_word("仑中")
# G" R' k. S* V# s, j - jieba.add_word("蓝桥杯")
. y8 Q# C+ l% @3 i - jieba.add_word("第三方库")
复制代码 2 h& l1 G7 [, A
8 K/ |8 s7 G. D) [3 W: ^2 {# H7 R% p图2: 已进行优化处理 - 效果图 ↑↑↑! l7 G$ c+ z. b' {& C
( F9 X$ K0 b7 g2 i% C0 s2 |7 h9 \ s; s
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。: \! W& ?4 I% S: ~6 W9 e' ^
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
( r9 b4 j0 x" x3 y G
# D3 `/ q6 C& |2 P7 u图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑/ j1 R% ~6 E, ?2 L) I
: A& A4 T5 s( ]; [1 _; p核心代码片段如下 ↓↓↓( ?; v3 v+ ~% I7 `: d
- import jieba' p, V& w! ~% b
- import wordcloud
$ Q0 E: ^: `0 f( ~$ p, a+ z$ K - ! }& J; \' l$ N& v+ }/ M! C
- # 引入数据文本文件6 U& Q9 g+ q3 b3 G, Z2 X
- text = open('text.txt','r',encoding='UTF-8').read()
; D9 C# E6 @/ p
' ^( J" h. g# x4 x3 \' q- # 设置词云图片大小、字体及背景色(背景色默认黑色)
) ~1 j. E6 |7 `0 l+ S D2 M - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
: [5 Y: r, r! L. S - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板3 z6 G3 L; ?( n2 x' T' v
& P0 [1 K. }. G: c( }! X- w.generate(" ".join(jieba.lcut(text))). Z1 D# V7 D! `* {4 L" i
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
$ ~1 l- c0 ?9 g/ U% g& y
/ \$ G, H& l; z3 O- # 新增关键字词汇5 ]# a) l9 e+ Y+ j: C8 H
- jieba.add_word("蓝桥杯")) f" Z O3 H, r
- jieba.add_word('仑中')# o- Q6 L6 z+ a1 r# A7 `7 j
- jieba.add_word('新高考')1 y4 I! i/ P8 r6 f
- jieba.add_word('零基础')1 q. |+ z1 |# ~/ N/ @1 Z6 A
- jieba.add_word('第三方库')
. a/ u) q' ?& ]% s, J7 P
; R! }8 p' }3 N7 y( c- # 过滤干扰词汇& d f- F' h% Z+ `
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']$ ~- o9 P( v8 a1 N
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
+ Y' [& V6 g$ K1 K
2 ~2 ]4 A6 j% J9 G% q- # 输出图文0 t+ c3 |: B- c; m: n6 }/ _8 R" H
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|