|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
( ^1 C% w6 ?# [$ q8 v2 {( K
hello!大家好,今天张老师来讲解词云的具体应用实例,4 m) v6 F' t) `0 Z
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
$ c+ @: M0 |1 C1 h+ q 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , ' Y% a3 K: B- G0 Q5 S5 D+ v
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。/ b! q6 c& F- n
- jieba 库 ------------【学习直通车】(高中必修)
4 z, z; n8 `" Y# n
- wordcloud 库 ----【学习直通车】(高中选修)
/ p8 f* h; q) e- D" f" S" Z
( \* s8 ?" I4 ]
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
7 u) z9 X6 Y2 r7 D+ k! t首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
& E8 p& B5 m5 x: \6 p* J+ N, u4 _' p' u' K
; C' K0 K) ?$ U0 \ \图1: 未进行优化处理 - 原版效果图 ↑↑↑
$ c6 S3 _# x9 w) ^" t2 M. P
0 e% I: k, f3 c9 E/ [ R很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码. [2 v$ _7 R* [) `: _% J( K" g
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
" t# g& n1 I# F/ a- Y' u2 n2 S- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
* ^! r3 X7 R6 u# H% s* p! |以上操作就是过滤关键词;
$ l6 U& ]( z8 ]反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等4 X5 X0 H3 @. d) \9 y+ l' `2 g; [ m
- jieba.add_word("仑中")
) C* y6 D" L9 v2 m) L, W, B - jieba.add_word("蓝桥杯")
, S: e! o1 l/ J4 v: y# V# y! m, K - jieba.add_word("第三方库")
复制代码 4 R6 f8 s, b% W" Y! ]
" P* W0 d& F6 ?! D2 G6 M图2: 已进行优化处理 - 效果图 ↑↑↑8 H" S( a- b3 J+ K
+ r) M0 F/ p- F3 F; Z; I+ ]
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
% s' a( G- V# O1 w& G% \这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
* ^- Y, S( C% x7 \) T
% j" i: ` ?9 u7 b
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
' {6 z. K- P; `$ L X. @; F3 q- C6 h2 M& Z
核心代码片段如下 ↓↓↓
0 p8 B0 h0 @( U- import jieba
, W6 p; t' _3 k; y: \% I - import wordcloud
! \( O) R$ o8 c+ b& {* z - 7 U/ q0 O8 Q& `- D
- # 引入数据文本文件
1 J( f5 [3 T7 x/ t - text = open('text.txt','r',encoding='UTF-8').read()
8 `% r9 ^: z& X1 f
, n% r2 j5 n5 e! q- # 设置词云图片大小、字体及背景色(背景色默认黑色)0 g' ^& m. i Z9 V
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")' J( C, c* R! K8 d j/ H
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
. o" }1 D6 _7 A" I, g) r
8 `- n5 G9 R; k1 X# a! P# q4 h) R- w.generate(" ".join(jieba.lcut(text)))
8 Z* n" r% k, E. ` - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签 A$ P; ]3 H8 Z }
. ^7 z/ R) |& ]. l5 \- # 新增关键字词汇
* K6 |$ o2 [5 V" O3 r - jieba.add_word("蓝桥杯")
) ]9 L; m) v' a+ K/ o7 Y5 ?/ p; _ - jieba.add_word('仑中')
/ b& ^5 K' F( G' R - jieba.add_word('新高考')
' X+ j& M3 T! `$ U# t3 [% } - jieba.add_word('零基础')
) M1 ?( v: `: u( D3 Q( w - jieba.add_word('第三方库')
4 D, P9 V+ ~" ]
2 ~7 Y' A, q) b- # 过滤干扰词汇4 N+ }. U1 `- n+ D
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']$ k3 z( ~! c( a! k- d" k, J$ u
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
! ?: ~) N9 b3 |1 M - " V# E9 V% M4 U* ]+ J1 ^! b& z
- # 输出图文
9 U. [* V6 Q$ p6 T/ o5 { - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|