马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 L8 H1 ~6 L2 l t
hello!大家好,今天张老师来讲解词云的具体应用实例,
. a3 y0 ^$ B% K' _/ O) s4 ]3 U. U3 \( o; V 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。$ q5 x: a0 t% e5 w% D' F$ D* F! j; r
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
: v9 `) j* f: B2 Y3 f t8 I 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ m! j/ E1 t- y9 {4 u9 }# a
- jieba 库 ------------【学习直通车】(高中必修)
9 X3 L& |5 b& M: K2 M
- wordcloud 库 ----【学习直通车】(高中选修)
! L$ a( O+ O/ s4 ~
+ u8 M8 I3 E9 {2 U- L* x
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,' s9 }5 i% d& B3 ~# L- i
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
6 n7 I( n* i1 h. E- N8 M3 {% I
- y+ v/ x& R3 Q! |
" L2 T" N+ J- t; c4 Y ]& f Q图1: 未进行优化处理 - 原版效果图 ↑↑↑+ L1 [. j& c/ a2 @( z
; |1 E2 c8 G7 D8 {- Z
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码6 i" ]- o& W% T3 a# ^/ `1 w) \
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成. z }% E' G' h# M' Q$ i- w# q) c c
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
1 d; c+ f' T+ O以上操作就是过滤关键词;
6 m; `( n# a1 w0 ~反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
; Q* _6 R7 t# s& ?/ B- jieba.add_word("仑中")
. V _: g3 w+ c: O. l - jieba.add_word("蓝桥杯")! N [; \5 a" j$ K5 B" c
- jieba.add_word("第三方库")
复制代码
* {" c$ ~$ I9 x: M6 |2 a
3 G8 d0 X! Z5 T7 ]8 w图2: 已进行优化处理 - 效果图 ↑↑↑
8 X' j6 F" ]9 l, r4 Z& @
- m$ X% _0 Z% n ~/ P通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
7 ? a4 o9 G N. N) ]# m这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! , l7 ]' l o; @% A n; Z- C+ F
+ F. c# p6 m7 d7 |图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑- A) K5 T3 i7 z! H3 ^. f: m) |0 m
Q6 J* o& o* |; q% s/ }核心代码片段如下 ↓↓↓( J( @+ r+ p* D; C1 r5 v& ]- b
- import jieba
0 ^& R+ k5 l- Y! u; I6 O2 _$ K# y - import wordcloud& u M9 M. a9 O, x3 b
2 `; _* {9 I$ U& q( {1 E& j: L- # 引入数据文本文件
% V/ n# O! g# x' S. P - text = open('text.txt','r',encoding='UTF-8').read()" S4 M' q7 J( E. h
- * i; l; @( U0 f$ f' W6 Z* j; v
- # 设置词云图片大小、字体及背景色(背景色默认黑色) \! Q7 e# V! U
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black"). g5 r- j. l; Y# O8 `' G7 b
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板% g, w, B! X# R0 m5 j6 ~# u
/ |- p) W1 ]7 g( x; c- w.generate(" ".join(jieba.lcut(text)))
8 j# a5 Q& |2 f- K; y4 G - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签5 |: _; v2 o: w& |6 V
- / g! b# r: n! x( e
- # 新增关键字词汇6 X. @' M! `4 I# y) T3 r
- jieba.add_word("蓝桥杯")
/ c; h8 h: [8 j - jieba.add_word('仑中')
/ Y; n& @6 K$ B" C2 c( s- C/ o - jieba.add_word('新高考')
! x$ \$ J' n3 X) z/ @5 v - jieba.add_word('零基础')
+ N0 g2 C% E! v# R: W" X* Q" z2 h4 x - jieba.add_word('第三方库')% i; N2 ~$ _1 q
, T& e p. ~: E9 p/ g* o* A! }5 `- # 过滤干扰词汇8 P; N5 ~5 l, `( C2 w
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']5 f3 y, t- W2 H0 R. K
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))- H# b; s( ^8 A/ s& Z$ V7 @! u6 k
+ y- b3 B& W" u: r& `* j L- # 输出图文
7 [0 d. J' H/ k; L x' C0 }( O - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|