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

5 B3 ?( Q H9 G8 } hello!大家好,今天张老师来讲解词云的具体应用实例,
- d1 s7 q. o2 B: L& `$ R3 c, x 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。$ L/ O2 x' u4 B/ T9 d5 Z
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
6 { i, e. C: {0 ^# d$ K2 k 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
3 z3 m( P0 h+ ?, G9 ?. T- jieba 库 ------------【学习直通车】(高中必修)
: r" P: @, _4 h+ @7 p6 }. Z- k
- wordcloud 库 ----【学习直通车】(高中选修)' U r0 N, Z0 R* o* U& C
2 ~4 p+ P9 W/ ?7 p7 p, v4 h
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
! _: @; E: O- ?: Q首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
% p' O) w; D1 s* A# h# u- G+ |, U" v% ]9 \ W v
6 y ^5 o3 Z F. B图1: 未进行优化处理 - 原版效果图 ↑↑↑
0 L, T9 d3 W, {* K$ F4 U- D% H5 k, Z f2 }2 V" R) M
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
" p/ a! @0 ^8 r4 B* W0 ]. ~/ U! ]- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
. d# d. U& A, r" W# U( o9 |- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
& J9 \+ s- h) }9 V# S以上操作就是过滤关键词;! m0 @* g# P5 ], ^& n! F! I/ S
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等7 a4 w. X" N3 a% `0 z1 z" `
- jieba.add_word("仑中")
8 `7 I1 H7 ~0 n; ^' A3 Q - jieba.add_word("蓝桥杯")
9 i* H! f6 ?9 q - jieba.add_word("第三方库")
复制代码
! k8 [" I2 d% F6 ]
5 Q/ Q2 u$ S: ]
图2: 已进行优化处理 - 效果图 ↑↑↑! Y1 _" \6 p) V8 @+ n9 R& @
# C) F; q2 {9 c1 ~5 a通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
, k+ k$ B4 Q, `" {- ^8 Y3 w这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
. O0 \# k Q7 [( h: t x2 F
, p7 k" ^, C% x图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
# o% g# R+ c6 E2 s) Z: v% S( ?4 e& S
核心代码片段如下 ↓↓↓
2 P8 B4 L- ^$ n+ G- import jieba
3 g$ S) C. Y! {, I - import wordcloud
* C- z0 r8 @: p3 {
5 l6 \5 V, @5 D9 L! C6 w% h- # 引入数据文本文件 e" ^% ]0 z) b
- text = open('text.txt','r',encoding='UTF-8').read()
, J+ @' u% |( M. B; _: R - % T, _! d' R5 S) b1 j; [" G# _( x( a
- # 设置词云图片大小、字体及背景色(背景色默认黑色)5 j* V2 P! z# }" t1 I( Q) e
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")/ f3 a# A* e) }# b- j
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
0 _* V/ \% {2 N' F3 | S2 z: I
1 e7 e( a. P, B9 w5 R- w.generate(" ".join(jieba.lcut(text)))
- K' t' u* K. u- S' y. V - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
- X( Z+ ~2 J3 G3 _& _- q - # L$ |" I! D Z+ d0 H9 n3 _, m
- # 新增关键字词汇
" T/ d; w& A' C. B+ ]. ~ - jieba.add_word("蓝桥杯")0 {- q' \# D0 S% s$ x _
- jieba.add_word('仑中')( Y/ P! }, @0 I# ~- B0 W
- jieba.add_word('新高考'). ^5 a7 O9 g- U
- jieba.add_word('零基础')7 C. b+ `: V/ y2 ?# {! p
- jieba.add_word('第三方库')6 n9 j7 l0 I2 f. e3 M5 \
- 3 R! c3 z4 b' }1 B( [" L0 P
- # 过滤干扰词汇
* l' K6 |( c' |' l, [, Z - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
3 K& D- A4 b: b: k2 K7 ^ V - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
+ e0 Y. q- r: b! o - " s+ m9 T E5 g* i7 n) i4 V' I1 E& F
- # 输出图文! N" T; S" r6 Q+ i. N) J o. P
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|