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

' ?/ t" A9 U" r f: y3 t hello!大家好,今天张老师来讲解词云的具体应用实例,
3 a8 K: L7 ~2 M6 N0 Z! |- c1 t' F: K# f 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。1 }. z9 h4 [; _0 P7 O
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
" M U! i2 H, |; f! m% U8 S; I 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ Z' T- {8 ^2 |/ k8 Z% |" d, j
- jieba 库 ------------【学习直通车】(高中必修); S( _2 d* H, E. Q0 h
- wordcloud 库 ----【学习直通车】(高中选修)8 a( y: `, f' w' V4 v$ d8 ?
5 F" u/ O& i8 I. U. N [
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
) e1 W3 e0 e+ o5 c5 Q: V首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
0 j* |2 Z; K( w8 q; ]3 J, A! S, w7 ?' Q! p( m% A
8 g! o: N& W W6 [% j7 n2 g8 J图1: 未进行优化处理 - 原版效果图 ↑↑↑
2 P% C" ?) J, D9 j5 i
# }+ _) K% x5 p# H& g$ {很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
/ E$ y& [3 i X4 a% P; V- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
" S3 x5 W8 y' \+ S: D% Q1 q- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
' Q3 V2 H" y* {$ _ x* {以上操作就是过滤关键词;
& Q6 R2 {) }. i7 i1 _( Q# b反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
; ^; w y- Z9 h- r3 h" x& H- jieba.add_word("仑中"). _/ m! V6 L: P1 g8 |
- jieba.add_word("蓝桥杯")
; E1 u6 k& D. ]7 e5 L9 j: Z - jieba.add_word("第三方库")
复制代码
' ~+ b& U' M2 c
" Q8 r* ?) Z6 L7 a0 `
图2: 已进行优化处理 - 效果图 ↑↑↑
5 @3 q: y+ p/ \, i0 A6 ^& o2 ]8 i5 o; V" \: B, `" L# ]4 h
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
7 \) F2 ?$ U: c6 q' t这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
# i; o& N& }, A+ @- A' C' C3 _
0 k1 }. m3 |$ z& l1 h7 \9 t
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
, f% x& p- U1 @: \# l
' }0 k+ G2 r t5 H* R+ U核心代码片段如下 ↓↓↓
* X3 V) `& J! E- import jieba
% o' U; k6 k2 s0 B' i1 M' d& R - import wordcloud& Z% K+ \ n1 P5 u
! y* K( p) f6 D- # 引入数据文本文件
; q6 M8 R1 f+ e - text = open('text.txt','r',encoding='UTF-8').read()
% i& `$ B& @* F, J
( q1 d8 L) J: k& c- # 设置词云图片大小、字体及背景色(背景色默认黑色)
- Q; q5 z) r2 \! L# J1 ^: M - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
) P) F. \5 p. d+ b8 b* k - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
+ u, J; k2 A" b - * i' P; ]- M& Q2 X# a, z% Z% Y
- w.generate(" ".join(jieba.lcut(text)))0 m% f+ A% `( |! I$ }7 P% s$ x
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
% |7 w [4 ]& G4 v2 l
; {9 E! h- N$ I, n( p9 g# ]/ o- # 新增关键字词汇
5 d- x& v$ {2 e - jieba.add_word("蓝桥杯")$ {: N; T3 x% O v. t4 _& E
- jieba.add_word('仑中')% ]0 s& \$ c2 {6 I; X7 ~, |
- jieba.add_word('新高考')0 D* R! o$ f& _! L
- jieba.add_word('零基础')
9 f( R; ]4 B+ D+ O: k% H - jieba.add_word('第三方库')
+ Q/ @" H% R" } A6 y4 X5 r - * F; U8 d9 z) a& H! k4 p
- # 过滤干扰词汇
) _# X( t, i# G% t; v - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']- M& E6 B' T" t0 d2 r. e6 P
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
+ \# }$ L* F# D3 n: K. d! v
7 l" t$ A4 o% m2 B( L- # 输出图文7 t" ^* [6 \. r6 m9 j
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|