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

8 n- t) @) ~% V1 E* d6 f5 R hello!大家好,今天张老师来讲解词云的具体应用实例,
1 k8 t. U7 Q' Y8 s( g 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
5 b8 D; u9 B) ]) h. u8 {; w 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
, W( g! }7 S, g% ]( O2 ? 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ V$ x/ V b5 ~, ], ]4 Q, H
- jieba 库 ------------【学习直通车】(高中必修)
0 m9 @% d# {* s
- wordcloud 库 ----【学习直通车】(高中选修)2 `: U1 m. X" ~& f I+ I( {! T- t( |
( z1 X0 u6 A3 E p
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
4 W6 D( f% K4 n* \6 G5 Z5 X首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
/ d% p; `3 T+ G2 i3 ~: |7 n, v# z7 Y- F' e2 T; H
# B8 W7 l0 n$ w( c5 x/ H图1: 未进行优化处理 - 原版效果图 ↑↑↑4 \& d: i6 m$ ?9 z& R2 E) y
) j3 F: A2 v8 {7 R9 O
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码, Q7 l* @7 @/ d7 Z1 s
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
( V" h% n q6 O9 e" d* C- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 ' k8 f) O3 p- ~
以上操作就是过滤关键词;+ X) @ N: U- m5 l
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
) e9 \8 Y; K, @5 ]- jieba.add_word("仑中")
6 O% B! C) @3 T. j - jieba.add_word("蓝桥杯")( ~7 b. H6 S( {1 m- @& o* _
- jieba.add_word("第三方库")
复制代码
/ t" i4 W- d$ ]+ e2 m; L; v
- \$ q/ w" H5 T$ m图2: 已进行优化处理 - 效果图 ↑↑↑; Q9 \' ]/ Z( Z& _, `8 D6 A4 g
1 `0 x* E" d8 q% _; k; m; F
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。+ d& ~* M& G2 E
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
! ?: _3 t9 S" x ?$ Q+ s& G" Y
9 S( c- u/ l$ d: D( a+ m8 K! w* {图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
1 X* S5 @5 `) h2 ^0 M# R; e4 I, b1 c
; a: g$ W+ x `, l [3 a核心代码片段如下 ↓↓↓0 I# h6 {# Z& T3 C+ y# {- V% M
- import jieba
2 Z9 l2 y3 q+ K z - import wordcloud* X) G* g7 I2 a9 e. s5 S
5 J2 N R. R4 A, G" ~ R$ h- # 引入数据文本文件
; Q5 H1 U- k! Y - text = open('text.txt','r',encoding='UTF-8').read()
% v1 u0 {; w9 Q. V( }6 b( [ - ; O( t% J4 {( {. v+ }% H0 x
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
1 p3 n) v3 \ x, _7 w7 L - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black"). o$ }; g$ D+ f- u2 L$ ^$ y4 h
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
5 o: {8 X5 x8 x6 U - 0 ^+ ^8 v8 B; }3 I6 u
- w.generate(" ".join(jieba.lcut(text)))
) @' [ s$ V; m& U& H& \5 ] - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
" G: |, M8 ?, U4 Q& y) ?8 a
; |% v/ e+ y: M- _( V% y$ p- # 新增关键字词汇
( w& \1 L: t# U2 H: C3 F+ q! b1 Z - jieba.add_word("蓝桥杯")0 }4 y' n# M- b2 s1 a9 a- e
- jieba.add_word('仑中')
f8 d2 M/ E8 L$ n - jieba.add_word('新高考')
: J3 g6 p1 K9 \5 @ - jieba.add_word('零基础')
( h5 d( C! q; e- z9 g - jieba.add_word('第三方库'); N* [; k0 \6 ^
- 9 I |7 g. e/ ~7 G
- # 过滤干扰词汇
+ t4 O X) W- x' a2 H - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
# E8 }$ K1 x3 ] o! [* @( D - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
& S( o ~1 e! l: @ - ! \+ T* B" d8 X6 c
- # 输出图文
S1 |& I' w" |- b% ~ - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|