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

2 j0 M1 G5 u6 z- Y( Q+ b hello!大家好,今天张老师来讲解词云的具体应用实例,
) Z% A- t: y6 d5 R+ ?. B( v5 L4 z 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
% f- {0 U" d2 L. O4 ?2 v 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
# I U9 D1 z/ E3 k; O6 B/ F* t 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。+ H6 i M& Q) t; O7 {9 q5 m5 } ]
- jieba 库 ------------【学习直通车】(高中必修)
- I! W5 a1 u7 y; e# z+ t$ O5 @1 C" n
- wordcloud 库 ----【学习直通车】(高中选修)
9 u) N6 _. i$ O; e% Y1 v4 i
( {. ^* O5 ]+ M& _! R' z6 [下面我们以《新大榭python学习社区》为例进行数据词云效果展示,: C8 A8 r$ t* h, n T
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)$ E9 G/ O* i" Y' r9 ^
1 k1 Y# |: B# f3 K8 \; t0 N- z3 ]
( N# z! ?' x. |6 F- l) g9 [7 S图1: 未进行优化处理 - 原版效果图 ↑↑↑
& f. e7 d2 T% @& ?
3 z5 q4 ~! J/ h& _很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
. X3 [) W! W3 e+ N- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成( |$ ^8 v1 }+ ^
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
! v* Q& X1 p7 Q& N6 L! h以上操作就是过滤关键词;
/ ]: d3 J) w. B9 X$ }" v# v反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等' R( ~- ?9 r, g G/ }$ n
- jieba.add_word("仑中")8 C* \2 G6 a2 y, G
- jieba.add_word("蓝桥杯"); g7 l! W C9 E/ @! _
- jieba.add_word("第三方库")
复制代码 6 \" W9 _$ v" s" ]9 q
- `5 w, K* |2 W
图2: 已进行优化处理 - 效果图 ↑↑↑8 D/ z2 Q/ [) K0 V& p( ^
- G$ f8 a& u9 J* ~4 i- E
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
! }5 N5 q- r' I" o9 T' ]) C7 q9 \这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
* z1 K! s& Q5 P4 a
4 P, v" y' L4 o3 P9 D
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑" ^, Q# t" D' o
- @$ V" O: e2 m7 U7 J2 [
核心代码片段如下 ↓↓↓9 f2 J3 a8 K, S1 |1 ~
- import jieba5 j' U$ P( ?' r: ]% j
- import wordcloud
) Q$ ?0 S- X; s( E3 s* B1 [9 a" O/ B/ k
! o, M+ R- [! m- # 引入数据文本文件: R9 E9 C7 u- {9 \' ]
- text = open('text.txt','r',encoding='UTF-8').read()
. `5 H1 L& X; o6 x4 n$ ]7 Z - 8 c' g( L2 ~) T+ Y
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
+ i% ^/ ?9 ?7 E4 o9 \& P* l/ K% S7 _ - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
7 r% b1 V3 v1 Y2 f - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板3 |1 @# _4 P b
- 2 C- x( y, n( U9 F
- w.generate(" ".join(jieba.lcut(text)))
& u6 B3 U: {; Y! ?% ^ - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
5 a$ p2 M+ Z. e+ Q7 \ - ! J/ \2 J+ S3 @' @& {! n B, {% Q3 P2 a
- # 新增关键字词汇) ]" b- {4 I- E7 j' T# F& z- m
- jieba.add_word("蓝桥杯")$ `& k1 p# J6 v- B
- jieba.add_word('仑中')4 j* e: g1 X0 F6 Z: b
- jieba.add_word('新高考')/ {( S& }6 |: O% A: Y9 N* @; p8 ]" a/ z
- jieba.add_word('零基础')& a; j, ~: k- z0 r0 @4 F3 k
- jieba.add_word('第三方库')
* I6 U9 R: y3 |* [! d0 M, Q - 1 Z/ O8 h, l4 h! R! o M. S3 C
- # 过滤干扰词汇3 ~# f+ N5 K3 S# z- y4 D! _4 _8 q$ g
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
2 _& D! ~) u7 D+ d$ b3 s; z - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))% I2 x5 r1 h1 [3 G% P! a
- # K- c$ `8 n* Y& ?' ~2 q
- # 输出图文
4 G" n: f0 r1 S# _; V0 V& ? - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|