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

, i" ^) Z2 B4 H" ? hello!大家好,今天张老师来讲解词云的具体应用实例,
2 `! g# n' C" }# \7 w: w, Z 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。0 ]/ f Z* H( h5 J( P2 R, N
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
* h* |' F4 n" l1 P* p6 ^& N 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。! {+ x* R6 a3 ^, u7 N4 z m
- jieba 库 ------------【学习直通车】(高中必修)
# ]8 s5 `9 E+ d; ?& E
- wordcloud 库 ----【学习直通车】(高中选修)
5 M$ v. Q5 b$ [
: y) D0 P& j. n$ ]* K0 c
下面我们以《新大榭python学习社区》为例进行数据词云效果展示, X, `. L, A* M1 T
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
/ e0 w% [( \5 Y5 a* q& }- J4 C- [2 U9 O, a" W
1 i3 p; p9 `1 ^5 h图1: 未进行优化处理 - 原版效果图 ↑↑↑
: ] ^( j. n+ Z1 c+ l0 I h4 V6 @3 O& X" v6 A. n7 d
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
3 i' [ S8 k. [& y: A- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
. r3 `) b, l% {* H8 u- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
7 F% t+ h* |; h/ d# p" x5 W以上操作就是过滤关键词; [6 m* I# C. r1 l: L% d& w: U
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等: i- X1 z m7 L- f. X: k7 |9 p/ Z- x
- jieba.add_word("仑中") G* Y5 J* @6 y6 Q2 X# \5 b
- jieba.add_word("蓝桥杯")
+ A: K6 P2 V- H2 X. } - jieba.add_word("第三方库")
复制代码 0 H) g& O3 \' { N, z, ^0 e. e: G
# u8 ^3 v; F/ l# `0 M
图2: 已进行优化处理 - 效果图 ↑↑↑' c% k. i1 [ `9 \" Y' R+ H( s
# i7 `, N' u& S9 @
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
- z, v/ \# x7 F# G+ d7 F; b这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
* O) m1 p* f6 `* V/ n0 a3 U
- s4 Y0 b) `0 @( A# w" B
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
+ ^, n& _: `: G% L# j4 R9 }" @1 }5 S8 L9 D# R. \
核心代码片段如下 ↓↓↓( Z& d1 b* M* }) b0 _
- import jieba8 O/ y) [* ^$ T7 t* N
- import wordcloud
) R' [" W- ^! h8 a p% J* q& K9 @+ i - 7 l/ s0 u# b" Q8 G( e: d
- # 引入数据文本文件0 g) n- M( s" K- O
- text = open('text.txt','r',encoding='UTF-8').read()( q) y, d( M; ]6 T1 T. m
1 [& X+ l8 p8 X$ q- H! r3 L% a9 f- # 设置词云图片大小、字体及背景色(背景色默认黑色)
! q8 K$ p1 X5 s; l! U3 m7 H# N - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
* `( w: R3 e" o( a- y: ^% {3 a+ E; A - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
0 } F' p% K6 R2 M, F - 3 T3 y( \2 b7 V' u6 Y; o
- w.generate(" ".join(jieba.lcut(text)))
) Q+ X9 f d0 h( b1 e o - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签 q1 Z3 P" C1 j0 S8 |! v# Q) @
- : m, } v+ A3 p
- # 新增关键字词汇
' k. T2 n! r7 E8 z+ J( L& N - jieba.add_word("蓝桥杯")
6 c7 r9 s6 C8 m4 E) `! J+ G - jieba.add_word('仑中')* H7 n s8 M# j5 Q) @# w1 L
- jieba.add_word('新高考')! L M# O# L& R7 t$ p$ k
- jieba.add_word('零基础')0 \+ p+ n' E' K' ? |+ m. o- B0 X
- jieba.add_word('第三方库')' s% }: G* M9 i- ?* C* J, ]
- 0 X8 s4 g2 {& L# k9 `
- # 过滤干扰词汇4 n* i, {* J2 H" x! b( m9 M
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
$ C# D- P6 S/ C/ `3 [' z# W - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))- m0 y1 f: v+ |0 D' H+ ^3 v
- I# p! ^( T. o9 N- # 输出图文 g. [0 f, b9 b" y. w3 ]3 Z0 a1 l
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|