|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 k+ i& @7 O( `& I* u
hello!大家好,今天张老师来讲解词云的具体应用实例,
8 {1 K6 h4 q) h' P0 ]9 v 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。, ]3 z0 h' _: g5 l
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , 8 Y% q2 c( }% `6 ^' E
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
& p; c3 }* i# p6 t1 O- jieba 库 ------------【学习直通车】(高中必修)
% m8 w$ ]2 e7 M& y8 w' D& W
- wordcloud 库 ----【学习直通车】(高中选修)
: G' M6 A- `$ p% {3 @7 `
) Q6 R2 t3 |4 E/ M- ^, D下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
1 z, p' L- P6 H7 k' }首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
4 O& P; k1 O2 P. J: Q0 C
6 ~( s. v8 Y8 P( c$ L. Q6 d
, t* R, W: t" N* C0 k图1: 未进行优化处理 - 原版效果图 ↑↑↑
6 A- E1 g- D+ v3 O0 G
" ?+ V3 b& R3 {很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码; g- `8 t2 W$ I+ z( ?. `
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
% n/ L% m2 x2 A6 P6 y- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
' Q: @% w) s; h4 c& L2 f" D以上操作就是过滤关键词;- V! {' [: H. {
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等/ _. V* ~" V8 y: X: l5 z
- jieba.add_word("仑中")" ^# K. p* V6 x! v& F2 z
- jieba.add_word("蓝桥杯")
+ S/ s& h" Z6 r- ~; h5 U6 r" D - jieba.add_word("第三方库")
复制代码
3 O: |+ t, k. ?$ y+ ^' o
. v T _0 S% i. q ~9 j0 _图2: 已进行优化处理 - 效果图 ↑↑↑1 B3 ]. r4 l, n- S5 Q) r& D# {$ l' Y5 A
2 @+ }7 m& R' t
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
4 j d3 E9 o! t% c这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
/ f e7 D5 f- ~ V' C/ s
& H3 A4 O6 d6 C) f' {
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
( U, X0 h: O2 l& ^. ]" _; J/ v2 }3 @# v- L$ x. N! d
核心代码片段如下 ↓↓↓
9 P3 f6 {- T) [9 d7 m, k- import jieba
; t$ J. L& q! L) m1 L+ o+ h6 O - import wordcloud
* `* ?8 O: `" _) g% y! q) ]& A/ |1 L0 N
( b6 o2 l+ C! P1 X% `/ t0 Q- # 引入数据文本文件
8 r0 F% w Y3 ?' @- l - text = open('text.txt','r',encoding='UTF-8').read()* |" h$ f& D" u' {* H/ `5 {5 i
- : I# B8 i" y& p. j4 ?' v; b
- # 设置词云图片大小、字体及背景色(背景色默认黑色)3 G% ]+ L; @, x- g
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")# ^' M& V/ u' d* i/ {
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
6 V+ \; K( ^; C6 U( R
- {! M+ z, B8 v+ l5 g- w.generate(" ".join(jieba.lcut(text)))
# ^$ T) `; g; {. W% @; A# L4 } - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
8 w+ _' x* R( G5 Q- v - 6 j3 V: L4 g; r
- # 新增关键字词汇" L- l( f/ N( p/ |9 V$ Y8 @
- jieba.add_word("蓝桥杯")3 s0 L- l7 w9 E- z' u
- jieba.add_word('仑中')( T' k( p. ?4 u
- jieba.add_word('新高考')) U9 G. X2 g; u; D6 u, e W, B8 j
- jieba.add_word('零基础')2 \% C, L M3 Y' L" D
- jieba.add_word('第三方库')" q" v( G: I$ K# i( D; P( ^
- 8 ~. d. k* x8 o. ?$ {
- # 过滤干扰词汇
|* l: d/ ]+ n1 n! Q - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
4 _4 b: l9 ~: k - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
6 u5 A2 b" ]5 z9 h' L4 b) X' J - 1 O N9 B3 p, r0 v; ]8 r! a
- # 输出图文
* C2 Z1 P% l" f# s& N {. R* a( q - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|