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

6 b4 m! U: c: D2 M8 Y. R5 y hello!大家好,今天张老师来讲解词云的具体应用实例,
3 @6 e/ J- t! f1 r4 w2 }1 J8 J 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。( J n1 N3 W8 t, G
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , / e0 C7 M8 L4 L2 }* s$ O
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。, ?# k# v, W" P) j# \) G
- jieba 库 ------------【学习直通车】(高中必修)
3 G+ m) Z+ v! R7 z
- wordcloud 库 ----【学习直通车】(高中选修)
+ t8 v5 W$ `8 w7 g
* j7 M/ X8 _+ x5 m% l8 a下面我们以《新大榭python学习社区》为例进行数据词云效果展示,. s* J( ?9 s. S& L8 J
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
6 v9 F; ~+ z0 `! q5 \9 q4 a) G
' N, K `7 z" }3 g* ]$ ?3 |
. X5 {3 n* R! O/ G( ]! i+ u
图1: 未进行优化处理 - 原版效果图 ↑↑↑
: k0 N2 v1 B/ j6 {. |, G+ B8 Q- s- x& }0 M; B( h
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码- R% o. O7 n; a8 Y6 P6 I
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成4 U) e4 S. N$ ?1 G3 n* q
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 & a$ h/ y8 N4 s z# T" Y
以上操作就是过滤关键词;
# ?' D' ^% D4 d/ G5 p反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等( J }/ t( y- P, f5 F0 F
- jieba.add_word("仑中")
9 A7 X( Y Q4 W+ a8 X - jieba.add_word("蓝桥杯")+ R* C% P; V. j' y! O) a! g
- jieba.add_word("第三方库")
复制代码 0 l1 z4 [; I/ m" G) w; [8 U
6 ?. X+ ?, O' S) k, H' V. _
图2: 已进行优化处理 - 效果图 ↑↑↑
0 O# }1 O- Y" H0 V/ N( N* _: k& E4 y5 [; }/ Z0 C& @/ t, w
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
; U9 C( A" X, n/ T+ B这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
: W! ^9 q+ p; ^. q
% w9 K' n$ |3 y/ G7 p5 c% W. D图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
) q* N+ ^$ c% L
' ^- y/ p0 B) _. c8 Z: X6 |核心代码片段如下 ↓↓↓) V. d/ y9 D6 o/ h
- import jieba* i0 e7 y E) R1 B( t+ h, u
- import wordcloud3 u$ x& t8 }1 k' [! p' [$ H) K
* f _: E8 r# ^, r- # 引入数据文本文件 v1 @( o1 h1 F* g S/ V$ t
- text = open('text.txt','r',encoding='UTF-8').read()
# P; Y! a1 a2 C+ t5 D: g
( \- |3 x% S" m% O- # 设置词云图片大小、字体及背景色(背景色默认黑色)0 I9 Z' [, W2 o# L" J, V. B! T! N) {6 ]
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
9 ]; W% T9 R0 m d% s v) e! s - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板; z8 G% p: o _! O1 Q+ L$ _
% u1 L8 M& g ?! \+ B; D3 Z- w.generate(" ".join(jieba.lcut(text)))
. r% `( v( t, Z* ]3 A7 Z/ R! y - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
! V$ F; Q2 b: ~/ W% |2 _. W# X! z' Q
* K" ~ G8 W8 c+ Q- j6 n" Q9 B3 W. U- # 新增关键字词汇$ v% o6 D; ^1 O4 i* P0 \% H8 a$ S
- jieba.add_word("蓝桥杯")' c0 u. O: z8 V2 I0 j6 d/ s( W) ~
- jieba.add_word('仑中')
3 C, [8 x3 ~8 Y; C9 H7 d - jieba.add_word('新高考')
2 X. w7 [8 H. e% A+ x - jieba.add_word('零基础') J0 c% E/ @$ z8 F. T5 `' m
- jieba.add_word('第三方库')
9 e; B5 C, M2 I& s - 8 f$ C8 v1 r8 k. v6 @* [
- # 过滤干扰词汇 u, D$ j) E2 P8 u0 o' Z: Y
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']- A; }4 P2 \. f/ n3 c
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
3 G+ E& T% J9 w4 S% b L* d6 [
6 a! E6 M" Z% \- {1 M0 V/ b- # 输出图文5 U( T9 U, ^8 r( N0 U$ E+ k5 _
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|