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

+ Z$ Z- k( u6 b- ~ hello!大家好,今天张老师来讲解词云的具体应用实例,9 h) n% P3 q" {: W' e
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
1 R4 S9 S9 M9 l 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
$ d" m7 W- D0 E 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。: g% W3 z5 }. M# X* n2 Z/ \% c
- jieba 库 ------------【学习直通车】(高中必修)
1 @- A* a) O( l; X# s2 p. A1 ?
- wordcloud 库 ----【学习直通车】(高中选修)* a# n8 h: V, E7 i% Q
; ?5 @: h( w! d下面我们以《新大榭python学习社区》为例进行数据词云效果展示,8 o$ ~# V3 d. Y' q3 D5 ^
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
. C, l; N( d q; }: ? G' _+ z. C
6 Q4 a0 {) Y1 j
' `8 e$ ~7 n* b. f$ x& \! ^1 {图1: 未进行优化处理 - 原版效果图 ↑↑↑1 k8 v' a5 z" O0 e, V- w
9 k5 e/ ?- ~# n. H3 o
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码4 @) z; p2 `5 K
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
) b6 S- v4 z% K/ b9 ^2 ~- [- i- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 0 r, G. K+ x2 m- C3 M0 C
以上操作就是过滤关键词;
, k* I, `! e* {) a6 d& B1 k, V) i反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
5 ~: G8 R: N. Q- ~4 E" K- jieba.add_word("仑中")
: _7 V1 ?* ^5 q* ? - jieba.add_word("蓝桥杯")/ i% m; l0 s* ]. [8 }
- jieba.add_word("第三方库")
复制代码 9 Y' v6 }8 W6 j0 {
- u/ e! z* r2 c
图2: 已进行优化处理 - 效果图 ↑↑↑0 ]5 x, \; p5 S& |! a+ t7 j0 c$ q
+ P; t$ ^! ], v* q% y通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
, C: B$ F& `1 n/ M+ y Y$ T* C这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! 0 ?& U& k! y8 `0 e/ o
3 g5 o ~" h* S2 Y' t* c图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑( o' w# s4 e/ Q! C* M% l
% c) U- X! h) V9 R4 ^" |
核心代码片段如下 ↓↓↓& R( [8 Y0 I, s, x( H9 n# p3 V
- import jieba s0 O! c* U# E: m- g
- import wordcloud
# x8 F8 A4 U: \4 r1 ?
# [4 w: m( k+ _. N- Q( y! j- # 引入数据文本文件; \2 M: o! T( Q# B$ i9 a
- text = open('text.txt','r',encoding='UTF-8').read()
. N: }* @# B; s" K& l( [ - 6 R$ }& R6 ` v; S% d
- # 设置词云图片大小、字体及背景色(背景色默认黑色)6 g2 {1 [! `& z$ q8 o+ f1 @
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
. S9 W& X5 |% o, j% U9 ? - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板8 a* E1 g* a3 y
7 C! y0 A' L+ A" T- w.generate(" ".join(jieba.lcut(text)))) L* v% P6 |$ @( ^. v1 E
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
. d1 @* O" v% X6 I* W
' u9 p$ ?! Z) y- p, N8 ?. z- # 新增关键字词汇
+ l& g5 F; w+ L h# D - jieba.add_word("蓝桥杯")
- i& c9 o) Y) M% B% L - jieba.add_word('仑中')* @3 K0 e- |: U8 k$ ~) o& B
- jieba.add_word('新高考')
# R9 G4 ?) v1 v - jieba.add_word('零基础')" @' f- x& s4 s' Q& Z5 C1 T6 n
- jieba.add_word('第三方库')8 W+ J J0 F3 v* u1 |
9 L5 B! _4 \- }) K: F3 D2 W3 ?( R- # 过滤干扰词汇) _ D5 r0 ?5 b
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']$ z, F6 O% j; a3 ~& g. g2 _
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
8 S* E% }9 \( N8 S, `) p
) \! C- n" W& C. e- # 输出图文+ i1 L) d/ X. ]. C G
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|