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

, q) v. H7 Q! p& T1 q; q/ t hello!大家好,今天张老师来讲解词云的具体应用实例,4 C& A3 q9 ]( u8 B8 P. B( F2 n
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
; X: h r! _( t/ s" Q9 w 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
" n3 O* ]2 r5 z' X' l% \8 C" u9 b 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。1 I# Z4 I& m! q* a; {: A
- jieba 库 ------------【学习直通车】(高中必修). ?3 a7 y' \+ A& @/ @4 i7 \8 k p' z: r
- wordcloud 库 ----【学习直通车】(高中选修)- F' x, B [4 E1 E
4 X. d8 b% S. ?+ O3 q下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
2 {# g' i* I) \首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
* N! |! W" g7 b, b$ W: O4 x
6 ?. V9 V2 T$ }! q/ d
! r9 a5 F3 ?6 I% q0 Z3 ?& S6 |
图1: 未进行优化处理 - 原版效果图 ↑↑↑- e5 w& R& P! o x! P, g
2 k; m* W+ @1 a0 t' K, `
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码$ v5 W# {* U/ x8 q
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
& }0 I0 u7 Q) ?4 D! C6 D0 \2 q- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
; F; Z. y6 E( B7 d以上操作就是过滤关键词;5 p) D/ t0 m9 j' j2 \" d0 G
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
5 B* r8 I; k! M8 B$ m {, M- jieba.add_word("仑中")
% f8 Y- ?* M+ w6 K( H - jieba.add_word("蓝桥杯")
* F! U. Y$ n. f1 u4 ~% p: i - jieba.add_word("第三方库")
复制代码 ) `( E1 ]: Z) W' V$ g/ b
/ o( \, H# `6 D6 b. O
图2: 已进行优化处理 - 效果图 ↑↑↑# R, `1 G* D9 w& }) ]0 h
5 `$ M4 R+ ]% O" `. ~通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。) e# A# T7 B( \( j- t- _
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! 7 H! p% n- _* w0 _) l1 d
% C1 `4 ?6 ?. k% P4 a
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
( B1 f, _3 F) w. C; }
! }6 U6 e- E# e核心代码片段如下 ↓↓↓
1 z4 C9 W$ L5 n% J- import jieba
) b! i6 Z/ w( E% W4 o1 t# d - import wordcloud
$ G9 }7 i ^0 E. q! n
8 v/ ^ F; p; a- V2 o: @- # 引入数据文本文件6 O3 Z9 _! T! P3 p4 N
- text = open('text.txt','r',encoding='UTF-8').read()% k' S& W* l% F" L- A+ W
- % j2 s1 q& I9 ]: e
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
( m, \3 _$ Z7 S# ^3 s - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")$ J; n1 Y; A2 h2 W8 t. R% M
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板2 Q2 l2 n( z8 i. L1 }
- ! ^/ H$ j! C: p8 g
- w.generate(" ".join(jieba.lcut(text)))% a2 k; x4 [6 M0 B
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
* H" c# t3 r* F8 }4 Y; g1 w1 V% W
& Y/ ^# M; H$ ~5 z7 K; D" B S- # 新增关键字词汇
2 n0 q! g4 ~" X. M" L - jieba.add_word("蓝桥杯")
/ T) |4 H" x- Y9 Z% L5 y - jieba.add_word('仑中')+ z/ q8 x8 n* K3 k0 o3 K3 l
- jieba.add_word('新高考') e1 ]0 b1 y% V7 g0 `2 ]8 a' t3 N
- jieba.add_word('零基础')
6 D, W- I" g) H! K- G - jieba.add_word('第三方库')
) z8 l% }/ o- z9 T - 9 e; o: r; ~/ V
- # 过滤干扰词汇/ P+ M0 |) l8 a5 O/ m& x
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
+ t' ?, l0 r& q. k. A. W0 t+ @+ w - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))9 h6 u9 f$ M* q+ C+ r! V
; e% u6 D4 B2 V5 z" p8 O- # 输出图文4 a8 v6 R& f0 P0 F6 g6 D
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|