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

5 i, w) ?, g" r. U6 f8 I% i5 v) ^ hello!大家好,今天张老师来讲解词云的具体应用实例,. y5 J6 x; `" B" D/ L1 n$ m. E
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。' G ~- c4 u, m6 \5 Z3 P4 k
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
1 Z/ S" \) E! u# I: f1 W 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
9 f7 }; N0 k4 O) U- jieba 库 ------------【学习直通车】(高中必修)
9 t. ]3 C9 A6 c; h' e/ E
- wordcloud 库 ----【学习直通车】(高中选修)' A; C2 s5 ^+ r) f
& ^0 u7 [5 P3 i$ P% ^2 Z7 _下面我们以《新大榭python学习社区》为例进行数据词云效果展示,( z [% w4 N, q! @1 |
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)# j6 c3 P9 M) [+ Q1 y6 ?& \
" I& H1 d# }' J2 q
" ]3 D% r8 f, a- Z% Z图1: 未进行优化处理 - 原版效果图 ↑↑↑
3 Z" X: ]9 ?7 t
- }: \% P B v* ?/ p6 y/ l% D很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码% U ~1 b. B, U3 w* C; Z+ r4 w: \
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成# @; B' f/ Z% z7 z. Z
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 % W" Z' ]2 w0 R7 O! h( v, b& l" Z
以上操作就是过滤关键词;
6 s a( v5 a- Z' Z7 _! L+ \反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
6 \% [ k+ u$ a1 Y- jieba.add_word("仑中")
5 }- F& g6 a4 @# b - jieba.add_word("蓝桥杯")
. C9 j) G0 i) }& i, f8 ` - jieba.add_word("第三方库")
复制代码 7 k) \0 u8 _/ D! U9 `# V( A
% T: o2 v! J6 `. Y4 A6 W
图2: 已进行优化处理 - 效果图 ↑↑↑1 K! t) a+ H6 ~7 l
7 T2 K! c6 z) u! O1 W% m3 j
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
; p0 V) g* e' x: w- |3 _5 c这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! % J6 _9 _+ o0 }
+ o2 ^" u+ P4 _
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
$ g% T( x$ U5 Y% h, o1 n5 H+ T3 o: o5 @# I
核心代码片段如下 ↓↓↓8 H8 j3 _# j9 u$ E' e) b
- import jieba; T' T1 u& M2 F3 d5 b
- import wordcloud+ L: s3 L0 S$ a& X& H' b" q
- 8 @* V4 x+ R( ?' a5 M( G, w; s
- # 引入数据文本文件& U% H* r; W1 Y: ~$ ~# S! x& b
- text = open('text.txt','r',encoding='UTF-8').read()
- }5 W, o/ }) b. k [$ i$ U - * j* {* z6 Z, ~0 T
- # 设置词云图片大小、字体及背景色(背景色默认黑色)% e( w* Z `( `: U2 p3 s X
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
2 P5 t! Z D1 c - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
7 _, b6 y3 }6 H1 } - ' w9 H( ?# u" M7 K# `
- w.generate(" ".join(jieba.lcut(text))), I3 x' g: y6 t% y' r& r9 L9 T# H
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签, I( ~+ A1 E K
- * n0 u8 r0 t9 m$ Q
- # 新增关键字词汇2 e6 P; o% E# Z# d, O& B* n
- jieba.add_word("蓝桥杯")
7 \9 Z/ i6 G1 _6 l. w$ X& o - jieba.add_word('仑中')
& B1 `' j! ^! u# k - jieba.add_word('新高考')
% y! j4 b8 A0 e2 Y5 m. M - jieba.add_word('零基础')- n6 ~, K9 _* _) |8 t, V
- jieba.add_word('第三方库')
" j$ W& ~% ] o! A
( ?* E* [# @2 E' ]/ a- # 过滤干扰词汇4 D/ H4 O# T6 Y) a
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']0 S ~( Y5 x! ~9 A2 \
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words)) [6 H: H& u/ C, b$ k% l2 u- O
( c E* z: w( O0 A: n- # 输出图文
2 ^5 h2 u$ l* s7 k$ { - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|