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

5 ^" `+ i1 o5 d, P hello!大家好,今天张老师来讲解词云的具体应用实例,+ K, N0 r/ l2 |% t- J
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
# T3 W* S% e7 U* `, e1 ? 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , 9 m$ }. E- p7 _# ? ^( U
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。* x1 x; c$ D2 N' [% i' \
- jieba 库 ------------【学习直通车】(高中必修) x( c# y2 T0 k
- wordcloud 库 ----【学习直通车】(高中选修)1 E9 r/ F0 u( K; j2 K' g
- D. N' d: {" ^ B8 g
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
( r8 K2 T \; |. L$ ~5 k首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
; y! p/ @) d0 F( n2 e: l |0 L5 T( [; L
% \3 B' P: U8 c& l6 h- k( _
图1: 未进行优化处理 - 原版效果图 ↑↑↑
+ U: H5 [0 T, @; A$ o L6 w
0 W7 b( v. _: W2 b1 u5 L很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码$ Z: ]6 @, B- q# v6 J0 i
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成' V. I2 a7 v2 F9 E/ ? {* z3 k
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
* c5 U6 s) `1 S& H以上操作就是过滤关键词;
0 T& i: [: P6 e0 ?反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
5 q& X6 O) C+ X( D4 A+ n2 h4 @- jieba.add_word("仑中")
6 ` W/ i- h5 } P, ? - jieba.add_word("蓝桥杯")
4 @1 p* A% f1 L& l6 k - jieba.add_word("第三方库")
复制代码 8 V9 Q1 Y" G& ~0 C$ @# o
3 r7 P+ n, V9 _9 i; B/ @( n9 Q6 H( S
图2: 已进行优化处理 - 效果图 ↑↑↑& j Q' G, v) o: u+ V
3 |' H4 I% N; @8 _. e* `. y" X( l$ V
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
; D% Z6 N$ H( F9 H. o这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
8 k$ c" d |' x" U9 ]0 U
& ^+ M. M9 }0 l7 u2 z/ R8 z
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
5 ^+ k1 y1 v6 b( s1 ~+ u+ S" B8 O; {. a! u2 u) O: f
核心代码片段如下 ↓↓↓' O3 X& R1 y" O2 Y C) {
- import jieba
. j+ v$ @# j4 V8 s! \/ ` - import wordcloud f+ k" Y) J8 M0 g5 x+ o
- - C; A; R1 u' j8 D
- # 引入数据文本文件
& L7 I0 g1 h- n: y0 l4 Z! J3 D% N8 x - text = open('text.txt','r',encoding='UTF-8').read()
2 X2 N i5 `" \+ |
7 O( w) t) s [& F- b+ U- # 设置词云图片大小、字体及背景色(背景色默认黑色)
3 {0 t `$ h0 E; J) y& L5 e: s0 ? - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")8 h* }+ k% Z% @6 r5 l4 i5 P4 `
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板* z# B0 w9 t5 c8 ?6 B9 ?8 D& S0 V
& z9 e: L3 R) S( s- w.generate(" ".join(jieba.lcut(text)))
0 L: s6 ~9 h, v) r9 j7 a - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
6 Z! f$ [# n" K$ x3 a+ p - 8 e7 p5 T: k+ |
- # 新增关键字词汇
3 r- C/ H f) d2 j - jieba.add_word("蓝桥杯")1 i6 r! d' `8 ^% L0 x* S
- jieba.add_word('仑中')
( M B8 R5 s% E+ q( k; q8 y+ d - jieba.add_word('新高考')
9 r% i7 b# }3 a+ r6 a4 G, W - jieba.add_word('零基础')
1 [; \$ S) Z. c( q - jieba.add_word('第三方库')% W% B' X. |, d
' r# N0 a- u) T1 k1 t- # 过滤干扰词汇
* _7 A( }! T5 M8 ]( b) B2 I8 h, h a - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']: g. ^, E: h* S
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))8 F$ [2 _* J6 W% J
- , B$ F2 V `3 r& x3 W
- # 输出图文4 U3 O; W, e1 b+ c/ u
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|