|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
; t: _: i0 k+ }: d6 x: o6 r1 f- R
hello!大家好,今天张老师来讲解词云的具体应用实例,
4 L' x) \# v* G8 v, l 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
: u; o/ b S) I/ @2 `5 U 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
. A/ g3 b% a3 ?- [ 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ s$ Y5 [/ [7 Q5 H+ z3 X
- jieba 库 ------------【学习直通车】(高中必修)5 `9 [% z' t8 j+ k! m1 d1 P
- wordcloud 库 ----【学习直通车】(高中选修). l3 e& A. I+ r1 u" g7 ^
2 G7 M% ~# L2 z. f3 ]1 |, U1 V
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,) r9 n$ C8 v: N h# Z, S) j
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)$ \5 Y& Y, }! e) `
- O2 T- y+ s7 q- N0 A/ t0 V
i; x' P- X8 }+ @" p3 x- v6 Y图1: 未进行优化处理 - 原版效果图 ↑↑↑$ Q3 v7 o. u. u; g: X6 @
3 G! ?( s" B' R/ n很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
. ]" L0 e6 Z# B- N2 l- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
8 F: k2 l% W% p' }- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 5 t1 `; a p! X0 U i& k
以上操作就是过滤关键词;
0 O' N) _* c4 Q2 B' c1 g反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等8 q) e: _, \% V; G2 J$ h
- jieba.add_word("仑中")2 W7 K' A# \5 y. B7 Z" H7 z: Y
- jieba.add_word("蓝桥杯")
7 t& z6 u6 G$ f - jieba.add_word("第三方库")
复制代码 4 [: v/ y2 e2 [5 A% A6 ^ U# _
0 a$ z3 V1 d$ d3 T5 h( u2 ^
图2: 已进行优化处理 - 效果图 ↑↑↑
o0 o. O: G2 D7 X$ Z
' x+ f8 H* s& \# Z' K+ [2 z通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。2 V2 Z+ O0 @# `& m+ B3 d
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
# g* D8 e! s: o' y5 D
# i5 M- A- G F9 G3 t" m) ^图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑0 C0 S4 j6 z* d: `2 q% [
6 B3 s( }9 B8 `; {7 h8 ?
核心代码片段如下 ↓↓↓! b. Q5 D* w# b% Y4 _9 o. N' _
- import jieba
e! k4 @8 |9 D$ N - import wordcloud1 B) w8 Q: ]" N
- ) ?3 ^6 r, a8 h6 V- i. {
- # 引入数据文本文件
- X9 x. Y) C! Q* | - text = open('text.txt','r',encoding='UTF-8').read()
+ O2 H: C1 g s4 A/ P8 j& R) L
: _, j _0 b. i1 {9 }- B- # 设置词云图片大小、字体及背景色(背景色默认黑色). U1 k; j" F: V( H/ n3 u. A' J
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black"); M# n, S) R8 e# J9 ]6 m9 j; ^
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
$ w6 ]9 S! A0 ]" | - - A, o+ L# v# e
- w.generate(" ".join(jieba.lcut(text)))7 V. f! h; j/ \2 H" r# ~
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签; P) e% V' D3 `5 ^. \. J
0 I0 |+ W4 `0 m4 X: D- L- # 新增关键字词汇
: v& w; m; f8 R, c - jieba.add_word("蓝桥杯")- t, i& w0 u9 C
- jieba.add_word('仑中')
1 ]7 U1 P ]8 E- F - jieba.add_word('新高考')
! m' L8 n: @ v! K) R+ [ K( C - jieba.add_word('零基础')
, T: r z: c- w* G, h - jieba.add_word('第三方库')) N% [, }5 l- \% o
9 z8 @3 ]7 {/ E: f3 R2 P! p( g- # 过滤干扰词汇
7 |& Y0 i0 x9 n) s6 f2 `# s - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']: O# P9 j3 d- M3 B
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
. ?7 B3 H v7 U3 N6 g) d& @ - 7 z% S2 P {8 y+ ~# k! i
- # 输出图文
e2 S3 J3 D( b: X) ] - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|