|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
% k8 o# b% q. U. ?) a( y/ z+ L
hello!大家好,今天张老师来讲解词云的具体应用实例,% |0 ?& `; _% H) M9 ~0 p
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。% H) d4 N; y+ W7 ]
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , 0 ]' P9 y1 z" x% k# k, {, b& F
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。( ^' Z* `' a2 ?7 _
- jieba 库 ------------【学习直通车】(高中必修)
, l) {! V2 j# }( Y4 O
- wordcloud 库 ----【学习直通车】(高中选修)$ N% _4 J1 f+ W6 k4 n3 B( x& ~
9 ^. P7 i8 ]- c i b0 I9 A
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
8 ^$ C% ~+ y$ w4 p& r首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)$ I2 L3 o6 t. l& g+ u
3 q! _, G6 X3 E. t/ Z% E
, j1 v, B7 a; _4 F1 D
图1: 未进行优化处理 - 原版效果图 ↑↑↑
5 w6 A& H* c; `3 J
+ m; m! L9 z: r很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码4 A" Q- ]6 M: y( A
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
+ o) t8 F. ^% G% H- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 : B3 j z9 J" U: m1 b
以上操作就是过滤关键词;
8 `( N0 d% b; e0 h+ [反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等+ K( }1 G2 W) v# c3 q
- jieba.add_word("仑中")1 j$ ?5 F$ I) ^* B- W7 I+ Q: l/ M
- jieba.add_word("蓝桥杯")
$ R% r: C$ e% l - jieba.add_word("第三方库")
复制代码
, b9 U# a, \. \
/ `; p" A; L* ]" p0 T7 k; [; N$ _2 J图2: 已进行优化处理 - 效果图 ↑↑↑# o3 W! {5 U( Y
4 a n8 S' y5 m! E& F- i; S# }
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
4 a0 D9 I& n9 Z这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
0 @! I* X \$ d" k* F# x
/ `. B k9 m" O$ w
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑7 \2 v/ N" B! I
3 \7 _9 b8 S# P9 U( L. R8 I- z1 \
核心代码片段如下 ↓↓↓7 v; G( A0 D. V8 A! v
- import jieba) Y8 T* w5 u! v' |0 R0 h* r: ]; Z% D
- import wordcloud
- `3 ] g( x* }7 e' N' ` - 7 f! d# P% |4 S9 |; u
- # 引入数据文本文件5 `8 e# @. t0 ]
- text = open('text.txt','r',encoding='UTF-8').read()
& B9 M+ w9 c/ W6 \ - : l8 t5 ~' s! P: ?6 G
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
9 V8 n. \4 w @' j - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
' t& @. R7 Z, w, c6 G/ r - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
3 X1 r- K& @( v9 R$ b( B
+ {; u8 E4 ^7 _- U9 J1 [- w.generate(" ".join(jieba.lcut(text)))
! B- o# ]9 c1 P# z3 Q! d - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签0 b* J3 z4 l7 C t& H
- ' C. j2 g+ t& |8 C' o1 {; J9 [
- # 新增关键字词汇
A' i+ _: Y+ ^0 @ - jieba.add_word("蓝桥杯")( R( W6 x, Y1 F5 o
- jieba.add_word('仑中')
: f5 k- \0 q# a- c1 [0 t- G - jieba.add_word('新高考')" w+ w0 q. f7 F D
- jieba.add_word('零基础')3 a1 w; ` E/ M K) \. [6 A( j
- jieba.add_word('第三方库')" J- U6 Q* B5 u! {# a
+ ^$ \! |# c/ H- M( ], h- # 过滤干扰词汇
; R% i+ I2 ]7 P6 d6 R) Y# v9 ~! w7 C - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']1 X! j# n% m$ f! d, D% ^$ R' y
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
4 S3 y$ I2 v! R; P( }* X- _ - ' N+ |+ \9 @' U2 X9 c+ g: R8 ~
- # 输出图文
# m$ v% o* b9 ^0 x - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|