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

2 P* i" m4 ~" W5 e3 a; G& M hello!大家好,今天张老师来讲解词云的具体应用实例,0 G. u- u. K0 [- }
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
2 ?7 K. F+ @7 Q 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
. z6 x2 H. d; s) U3 l 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。8 B3 }, i* O/ {% t
- jieba 库 ------------【学习直通车】(高中必修)
. i5 s% y' s$ \# r& J( y- }7 h
- wordcloud 库 ----【学习直通车】(高中选修)" c, }& Y/ d: o) v+ p7 H( A/ \3 T
8 v3 g2 c0 F) z- ~2 L1 v, B下面我们以《新大榭python学习社区》为例进行数据词云效果展示,4 Z$ Z) J8 c# J
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
6 r/ Z' h* k( S( A! T U
3 j/ c# n+ R( W. s, T0 F/ l9 ^% h
( B3 O) h! M% ~% B8 U1 B图1: 未进行优化处理 - 原版效果图 ↑↑↑
+ J: P8 r) E( J8 M) S, ~
. V2 @# V$ D$ a" ^很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码1 \9 u5 b1 G. W) x; [$ C
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成) z) z: E8 B; p
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
, i% j) d0 v2 ?" |1 a9 W. h以上操作就是过滤关键词;7 B% X. G+ ]( G0 W
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等* s. R7 b9 ^6 P. X) _
- jieba.add_word("仑中")! z& J! k" B3 w# j: Z, L& p4 X8 q
- jieba.add_word("蓝桥杯")
: d5 s l- w1 n6 `; e8 n - jieba.add_word("第三方库")
复制代码
1 i0 i3 g; e/ n" W: Z
) V! S+ e& D4 U0 R7 k
图2: 已进行优化处理 - 效果图 ↑↑↑
$ {, K! ]$ M5 Y9 F$ d6 z! n) [
) |+ A) D- p2 \! X1 k通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。$ c( V: U( i3 D, B# u0 P6 v
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! $ t2 o: P; v' F
, [8 D0 g0 w, q& ^) ~+ O
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑! t1 G. s1 m; L- R; b# H9 [
; y# H+ K) s5 A& o! T5 l核心代码片段如下 ↓↓↓* E1 u9 H9 G8 o
- import jieba
3 W! g& e0 H& G4 m5 x - import wordcloud
3 N; B: `4 O3 q+ Z) h - 7 O4 p9 S7 f7 _" }" {
- # 引入数据文本文件" A5 V: O5 L; H' f s: l; G6 V/ f
- text = open('text.txt','r',encoding='UTF-8').read()
! h& a7 \3 y, }3 [
; X" p& |) U- i0 L' p, _6 C- # 设置词云图片大小、字体及背景色(背景色默认黑色)+ u& k& V+ w' o) `
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")% y( R+ W K; m$ k2 {& h# F
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
4 W; O' |4 z, `( f
2 |+ l; Q& Z2 M3 w# l9 h- w.generate(" ".join(jieba.lcut(text)))
: R0 E1 q% ]- H% d. i( Z+ | - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
% B1 ]0 T- W, B0 q r1 M& Z - 0 p. U5 L2 p: x$ s
- # 新增关键字词汇
x: ]& U& Q: {+ q; v! V - jieba.add_word("蓝桥杯")7 \9 R' A% v2 i. X: d8 g- C0 H
- jieba.add_word('仑中')
$ m& s2 f$ q i2 e/ `7 C - jieba.add_word('新高考')
8 y& d# }: o( n7 C& ]& R) ~ - jieba.add_word('零基础')' M: }8 C/ K; \* e% K9 k5 \
- jieba.add_word('第三方库')6 X! ]' ]% p4 k. W3 n* V; s
$ B6 }; V" O- s9 K1 Z- # 过滤干扰词汇
! E% S- S0 c$ @7 g - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
2 L4 l: v- l$ v4 d3 O0 `8 a' i' l - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))! K: q' p* e, z7 q
- : J I, s* A# d2 ]" [
- # 输出图文; B) w/ V' j9 @/ g) o- F4 u5 S( g
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|