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

! ]1 M' t! ?+ K; Y% d hello!大家好,今天张老师来讲解词云的具体应用实例,
# i0 R4 B+ d0 O& s 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
2 Z3 }* E i- s, q! b, m6 { 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
5 X+ R. s; @7 s+ i2 S+ y/ f 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
, q4 n1 n# R' k5 j% U- ^- jieba 库 ------------【学习直通车】(高中必修)
% ]6 ?4 {$ P6 D8 m G& L
- wordcloud 库 ----【学习直通车】(高中选修)
1 l! k6 B0 o% _, T6 H7 _$ m
1 r, b2 s ^. C" r( I* W8 L5 C下面我们以《新大榭python学习社区》为例进行数据词云效果展示,) V& |4 t' j& l( y9 \) {
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)# _5 Y' k$ |, o% q1 G9 l4 e
( @! O) C0 k' k/ @
# \; A: d( S$ H N. d9 B图1: 未进行优化处理 - 原版效果图 ↑↑↑ Q+ P3 B! V2 ] w. F. h l2 c+ ~
/ N1 j: n% d5 l, ?, c# N1 R
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码; L/ w' X) @) K; |' D% C+ l
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
, W2 u: H% Y; e( ? z- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 0 {, f6 v% N$ E) b& @6 L
以上操作就是过滤关键词;/ ]- x2 _4 U' r" {! D9 ]
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等3 `4 k- H6 i5 y# h
- jieba.add_word("仑中")
# f5 g/ P. V; S# `, e0 _1 t - jieba.add_word("蓝桥杯")# ^. p' U! ^8 b6 @+ v7 l: J0 @
- jieba.add_word("第三方库")
复制代码
0 P( ~* p/ u( l& {
/ E6 i) \- { l* z# I
图2: 已进行优化处理 - 效果图 ↑↑↑
. O9 [; t, k% j; H/ E* r( N4 K; Z/ k9 z6 F1 q1 d* o
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。3 [% a9 e, H9 o; A8 V0 ?, x" u1 Y
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! ' M# t) X$ \. e# V4 D' a% ?
; `- z4 a- `" e$ P
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
h K1 Z4 d# q6 b, V
( J, U$ ?: J7 M3 U( k; x核心代码片段如下 ↓↓↓
( S n% b5 i" j3 V8 G* l- import jieba
, Q( A8 p- D( T7 X - import wordcloud
9 n9 S! l5 z" p; G5 T
6 q7 \- d/ n: r. a- # 引入数据文本文件
+ ?; h1 w" v$ D* u7 s - text = open('text.txt','r',encoding='UTF-8').read()& `+ ]+ P# ^, P3 {) @
: d( B; Z1 E7 X* A/ K9 F1 l- # 设置词云图片大小、字体及背景色(背景色默认黑色)
' R# x5 z& w0 |: P, D+ ^; v - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")3 L/ V+ Q/ s: a; N& |" Y2 ]
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板$ I7 b) ]* [! s- r$ _0 Q- a
- 3 u3 f" V. @/ d d% s5 K
- w.generate(" ".join(jieba.lcut(text)))
0 v: O1 ~ i- a3 U5 `+ M3 Q( q - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签- n5 ?2 ?3 W0 Y
* s0 z+ ?! H/ U/ n- # 新增关键字词汇
+ e% f- C4 W* c6 w# X N - jieba.add_word("蓝桥杯")
+ K! \% v7 U5 G1 w2 w" U - jieba.add_word('仑中')
5 V+ x% C* d& n1 z - jieba.add_word('新高考')
& f5 L+ J. M7 w# Z# ` - jieba.add_word('零基础')
. D1 x* I N! n) L1 J/ K/ V - jieba.add_word('第三方库')/ u+ k9 o6 K! t8 F+ `
- ' @1 s$ E+ v4 e- L* G4 [; _
- # 过滤干扰词汇# g1 U7 o7 R" H, A$ l5 X3 H2 c, r2 N
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']+ E4 g8 g4 e2 l2 x4 y
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
& x0 T! X0 ~" G, k; @ F) P, e- f - & G2 H* _/ H1 T5 [+ R
- # 输出图文
1 A2 V" p5 R2 a7 L2 v- l% u - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|