|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 l8 z, k6 [0 K5 M4 F2 `9 V& n, g1 A0 X
hello!大家好,今天张老师来讲解词云的具体应用实例,
: n w! y q# c 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。$ F$ y" L4 t# C5 `& [/ G6 _5 X, g
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
+ U# P) D, ^( l I) n) t& M8 G* P& F 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ N( N0 K& d' F b8 f( G
- jieba 库 ------------【学习直通车】(高中必修)
' m) o7 R3 Z5 N; c
- wordcloud 库 ----【学习直通车】(高中选修)
. i+ v1 _- _8 e3 P
* V2 Z6 f( L7 R" S0 d& I
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,. e. i0 G' F8 E# x
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
; C3 Q9 d, Z, e) ^3 y' |, p( H: O+ }7 p$ M' ~4 [) X
! w: c+ n3 P# R: \7 P
图1: 未进行优化处理 - 原版效果图 ↑↑↑0 W8 r- ] V" D3 ]2 c: X* E
% h" ]& P$ O2 x l# a/ a很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
' m x3 x; J' S4 Y; |0 B- s- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
4 I3 z5 b. m: H: H# E0 O- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 % W# {+ R6 K6 P9 |$ ]
以上操作就是过滤关键词;# S7 w) y3 I3 [( p
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等 y* y' Y+ h7 ?' X! ~0 F8 |- c
- jieba.add_word("仑中")
1 w& ?! R2 {! C7 X7 E5 q q% `& n - jieba.add_word("蓝桥杯")+ Y! r+ F, |2 W
- jieba.add_word("第三方库")
复制代码 5 Z& E% f. k0 ]9 J
: t) Z% A3 H; L: x+ [9 ~
图2: 已进行优化处理 - 效果图 ↑↑↑5 n$ {9 U+ U" M3 \/ \7 `0 i# R
4 @- K& u; p0 ?/ ^& t' \通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
8 U, u9 i" ]; e) d这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! 8 ^- c3 j, E1 t ^
' d, _: M& ~1 t% Q图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
5 h9 m; L, u3 X: ^3 l) e- r# r9 q J; D$ h6 F8 l+ w
核心代码片段如下 ↓↓↓4 E* v# R( E6 ]" J5 Z( @4 p+ |
- import jieba1 H" |9 U8 x( q6 ^4 S8 s
- import wordcloud
! ?3 h& i) c/ s( ^$ k - 6 ?1 Y; d- \1 Q7 B+ V+ B
- # 引入数据文本文件
2 ~" l7 i! ~ n' N - text = open('text.txt','r',encoding='UTF-8').read()
. X+ ?, Z5 d5 R9 q2 _$ ]+ _/ b9 i - : l( B% h0 n8 ?# J8 M/ Q- X
- # 设置词云图片大小、字体及背景色(背景色默认黑色)9 b; S+ C4 K/ d+ @, `0 N& }8 p
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")' {( \5 c/ z: k) `$ Q
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板( F/ F' p2 K( b* O L ?
' o! a' ~1 c7 \- w.generate(" ".join(jieba.lcut(text)))
% f- D8 O9 Y0 [: h3 A6 g - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签9 m7 |, g; O: ]
c, E& w' _- Q4 R# Q8 K& t6 t7 t6 y- # 新增关键字词汇9 X" t6 w" W9 y. t4 \8 ~
- jieba.add_word("蓝桥杯")% o3 a. P8 Q1 s+ Z: X2 N$ I% O2 z# ?
- jieba.add_word('仑中')/ X2 g% m) W% r
- jieba.add_word('新高考')
! }1 [6 E; K6 h, [# M4 g v - jieba.add_word('零基础')( b$ c7 m/ I# g7 p* K7 s' g4 k
- jieba.add_word('第三方库')
( b# q2 @6 B7 f$ f
! R; \1 `7 j8 f7 G/ A9 e, w- # 过滤干扰词汇
9 Y$ O! I0 a; H$ w0 H+ H4 T - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
4 ]% X% T1 j" V4 q/ q5 S - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words)): b8 S7 W+ H% i6 [
4 E3 T! A5 D% c: r' v ^- # 输出图文" j! C" i$ \$ ]2 s
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|