|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 h- R! ]. k* v1 t& D$ }* H
hello!大家好,今天张老师来讲解词云的具体应用实例,9 L0 _& g) V3 S! f5 D
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
; k" P! e) h/ O+ ~% e p 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
6 C6 H2 o3 A; F3 K# l4 ` 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。6 f% a; U8 S8 S0 |: U& [* k
- jieba 库 ------------【学习直通车】(高中必修)
4 q1 X1 G9 x5 O( A4 V& {
- wordcloud 库 ----【学习直通车】(高中选修)
& J! b* |& T9 d! _
5 l8 F1 Y$ k0 e' h2 J2 ~. a+ t
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,# a- Z8 E6 b/ Y
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)2 h! N9 W( f$ Q# | a- {+ @; G$ U
9 G) l9 P6 D+ J, N. a) e
, u" t8 u# o) M( ]4 _; ?
图1: 未进行优化处理 - 原版效果图 ↑↑↑) k+ d! O& _8 v0 \' Y0 Z
; ~3 p) j& v# |' o; E8 t" N很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码% R- t, s6 J1 W4 T! `' n9 ~+ C
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
7 b g. ]: b/ `- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
4 G5 Z& `8 Z* E" k以上操作就是过滤关键词;
& r; w! Z) _! U9 G, o反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等4 X: \& b" y+ ^( q, x S/ T
- jieba.add_word("仑中")
. b9 J3 Y$ ^; V3 g0 A" L# R - jieba.add_word("蓝桥杯")+ u5 a' D$ |! V3 [( `
- jieba.add_word("第三方库")
复制代码 ' |7 l+ ?' b( _ O/ u4 k( M
: e" P! ^ ^6 ` O! w% J图2: 已进行优化处理 - 效果图 ↑↑↑
; O! |* ]! L& a) ]9 z& A5 I0 p7 p4 M" h' N! w, g1 [8 ?+ ^0 y; q: H
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。+ C& E5 t* G3 B N
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
: a! x: Z0 @' H! B( X
$ k, t4 n( R- P. `" e
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
5 ?( Z7 T* I0 C# l
$ R, J3 W2 `& F6 N) G0 u) J核心代码片段如下 ↓↓↓* m7 Y2 @5 M5 [' q8 D
- import jieba. @& R' o; \* c0 {) E+ A
- import wordcloud
$ F0 W- L) a r# \ F. ] - + c S% Z& M8 V: Y; u5 w
- # 引入数据文本文件
# A3 ]' F% p( `# o, m - text = open('text.txt','r',encoding='UTF-8').read()
' O0 U+ w* d9 q- b) { - ' i( a: g4 e; m3 X# x: ?
- # 设置词云图片大小、字体及背景色(背景色默认黑色); P# l, Q/ a% [
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")/ M. Z; q T- @' i: ]( Z
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板4 @' O/ J/ G# b. L' ?( _
- , j3 h3 m6 X" w- t$ q. h
- w.generate(" ".join(jieba.lcut(text)))
5 {2 t4 Z" x0 [, _ - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
" Z. x' R7 f4 K0 q( u
" d" Z1 w3 d" T2 P" ^- # 新增关键字词汇
6 |; d# K+ X! K1 Y3 L5 H* j& P - jieba.add_word("蓝桥杯")$ T( B9 X+ a- W6 @
- jieba.add_word('仑中')# |, B0 B) y" J V# p% \+ F
- jieba.add_word('新高考')
- Z3 w6 P R& G# L! ? - jieba.add_word('零基础')+ O4 L: D0 C" l/ I' _: v% y
- jieba.add_word('第三方库')7 n: i' a4 V2 x4 q _& K: z3 `( v! P k
- + Z8 D) z0 d/ a( U4 N9 W
- # 过滤干扰词汇: X$ h$ J4 _2 i- s
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
" s2 `' x( L( J0 Z; t; w! E% M - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
) o3 i! C( h# N - ' D+ s, K3 ] A* L4 z
- # 输出图文
4 n: s8 k: \8 @2 @# I' t0 L - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|