|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
# l" E/ K4 E* i. s0 [
hello!大家好,今天张老师来讲解词云的具体应用实例,: S4 D( t, C2 e8 @
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。; _- v! M. ^6 U- C- O
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , % O5 [) P& @) N4 I6 b
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
. X! s2 [0 z7 P9 R" e6 O- jieba 库 ------------【学习直通车】(高中必修)
w% n$ C# \* ^" Y1 }
- wordcloud 库 ----【学习直通车】(高中选修); ^* {8 ?+ n$ q0 s0 }
3 O9 q; W M/ I- H8 D
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,; G0 `# | w$ t& |8 P
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
4 X. L0 n; I. Q( @5 y5 V* ^- f! ~# S( H0 t
% w) o; U+ T; E5 ^
图1: 未进行优化处理 - 原版效果图 ↑↑↑
2 F1 Y0 O1 F/ b5 F) y2 O
8 b H( c- I; N' X很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
2 u' S9 k0 ^+ |# S" @- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成- t* `, p# \% D1 ~+ j+ R
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
# N7 c+ K, e( { m a以上操作就是过滤关键词;
: H6 d. H# R- M% L2 o1 w6 W5 N3 |反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
5 X) O* n( u! w4 G4 k8 I- jieba.add_word("仑中")1 p5 v. H3 C; x" ]. V, G
- jieba.add_word("蓝桥杯")9 U" w: u3 u' P+ k
- jieba.add_word("第三方库")
复制代码
5 Q# O$ N* ^3 i: P! Y
$ \; {; j+ j$ y" o; \) b2 U图2: 已进行优化处理 - 效果图 ↑↑↑
9 c( c: I* k& O0 E1 j4 l/ }8 b4 E3 |! Z+ W) Z; A) v; R
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
5 B# P& O8 q# v$ J这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
5 P9 A: Y1 `( ]
2 J4 s; ?/ O0 Z, S2 C2 F
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
, M% e$ t5 v+ u0 g# D
+ `3 S. W( K- Y% T3 {核心代码片段如下 ↓↓↓: R7 }6 P% J, t8 K$ J) D
- import jieba0 @1 [0 r' ^0 ~, ^: `
- import wordcloud/ u9 X3 a) Y" S7 j% P& T- j
$ }2 L( O/ N3 B3 N3 j- # 引入数据文本文件
3 V( T9 H3 V" F# R: u$ y. h: I - text = open('text.txt','r',encoding='UTF-8').read()( G7 {. ]2 h, z/ k
- , ?4 u. h0 O& U: M4 t
- # 设置词云图片大小、字体及背景色(背景色默认黑色). s) Y$ N! C% E5 Q8 B, B
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")" Z7 Q! M* v. O* [$ c
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
3 s* r1 @* J4 [
; `# H; l. K- p+ `/ u/ p- w.generate(" ".join(jieba.lcut(text)))
6 A1 C5 N/ c! P/ y5 H$ W+ u5 g/ E - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签, G$ ` B+ `4 k5 t3 P
5 |, f/ @& Q# } Z" t- # 新增关键字词汇
. O% z- E" ^& v @9 b2 }, [% U - jieba.add_word("蓝桥杯")' b- b$ K, C8 x9 d# I6 H, v, O+ s
- jieba.add_word('仑中')
8 K3 c6 P! U$ R$ T( y - jieba.add_word('新高考')
/ s" G$ b/ y; G# a z0 l( P$ O- Y - jieba.add_word('零基础')
5 y, _, j2 E z2 Q/ J$ U - jieba.add_word('第三方库')
( Z6 S+ H: _6 P1 V- S" y1 c - w# ]& l: Y( _
- # 过滤干扰词汇
" f, {, e; R( k" A! _ - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
& ^/ s( h0 D6 k5 e! H - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
+ R c; M" L# P2 Z9 T T
$ [6 F- b) z& z8 V# L( U+ @- # 输出图文
- o& R- }: T x) H0 m# z! ]( _ - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|