|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 M5 y* r* P7 y! C3 u: k
hello!大家好,今天张老师来讲解词云的具体应用实例,3 F# Q, k, P" K+ {$ r
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
$ y8 D, F( V/ X1 U# \( i' m* k 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , * F, m8 G: x9 S- Z, w. V9 J
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。& f% X7 c* @1 i
- jieba 库 ------------【学习直通车】(高中必修)
* o0 A) C: i) k! N' c! u
- wordcloud 库 ----【学习直通车】(高中选修)
$ j9 N& U0 f1 q+ ?& G; G
- n8 o( K- h6 r% ]下面我们以《新大榭python学习社区》为例进行数据词云效果展示,( a* f% n- G! v7 h5 C0 ]
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt); Y6 A4 s* h% F8 V
3 d1 g7 Z1 C( n
: E" z8 e* Q: U) b, Z2 _9 {
图1: 未进行优化处理 - 原版效果图 ↑↑↑& y' y9 P) }0 y3 H) c9 X/ @/ C% T. R
: L& K7 V( D5 C) @* [0 S很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
) l' Q, y7 w- b5 O( n- {- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
- e3 }2 ^0 t- _0 [+ h7 A6 V- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 1 O! e, }1 q4 H Z5 a) Q) [
以上操作就是过滤关键词;
' L3 N2 Q( m6 G: [) U! n反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等) w, h. F* O/ x. |% g
- jieba.add_word("仑中")( _5 O1 J" v7 k w. i+ \3 n' R
- jieba.add_word("蓝桥杯")
5 [- t& L: B8 w* v - jieba.add_word("第三方库")
复制代码
" n3 L& I& q8 W O$ a5 k0 ^
/ {9 y% a1 @* N# A图2: 已进行优化处理 - 效果图 ↑↑↑
0 ?( m# l0 n6 k1 E; F% {, s" `' I4 n
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。( r ]) h& t/ I# W
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
d4 `- g* w' c* n3 ], b! n6 i
; i8 K" u3 @% E; e
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑/ T& O1 z) e$ {
5 V1 ]- \/ T; B; ?: {& V核心代码片段如下 ↓↓↓ h$ K o. t2 ]8 c( f
- import jieba# f2 O3 ]! u" ]% j- g9 t: W
- import wordcloud
# f: H* W; \0 Q% K W
$ p5 ^; f: M5 d: T7 K* f- # 引入数据文本文件+ W' K: ]* Y* g) {/ b* t
- text = open('text.txt','r',encoding='UTF-8').read(); W- [1 U+ i$ A8 R) {1 |: U
- 9 m8 D+ \" o) B& ^+ u" |
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
: E" `' H s2 u+ a+ T: Z1 d) \9 i - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
" b$ e6 c2 u* o+ U - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
5 f. d% R9 s7 X* X' V - % m. w0 @8 i. q' Z w G
- w.generate(" ".join(jieba.lcut(text)))2 t# J6 Z; g0 }/ c, X$ k
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
?& x! c* W/ z0 `# j; O - 8 A+ t5 }1 x9 y2 i F8 T8 f
- # 新增关键字词汇1 w1 G8 s8 p$ ~7 \
- jieba.add_word("蓝桥杯"): W, |! l7 b# U, j! ~* E" P
- jieba.add_word('仑中')8 J* A* U' g$ w
- jieba.add_word('新高考')9 r: A* ^9 L4 ^( W5 N$ j" P
- jieba.add_word('零基础')
" n/ H! c: n, \3 C; J - jieba.add_word('第三方库')- f) Y$ ?3 Y; q, p' A( S
- 2 b, `9 [# B- V- ], Q1 o
- # 过滤干扰词汇
2 M. ?; Q: L! s6 W8 z - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']: W" H" s( K3 V* Y) b4 {) f
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
; h* P9 {2 j1 ?: v7 W" S - 8 l Q0 I' C! w# t" O! ^# e
- # 输出图文7 a c+ y! R) ], c2 \* q6 c
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|