|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
! W9 c0 \; c/ H3 f, J
hello!大家好,今天张老师来讲解词云的具体应用实例,
: ^2 U; }4 O( |4 l 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
8 }! |% B0 z5 e; X* y% Z 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , # [# |1 E& h5 @; e- S
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
+ x* n( a d4 H- ^5 p- jieba 库 ------------【学习直通车】(高中必修)7 S' `8 y2 d. ^( n: X
- wordcloud 库 ----【学习直通车】(高中选修)
0 X5 e2 ?9 {/ I9 C' Q' O. @& O
& }* N x# o- x) i. N; ] i下面我们以《新大榭python学习社区》为例进行数据词云效果展示,; @( u0 J! p Q; |& ~" i
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
H# |" Q& @3 ~& ] {% F
( ^0 R/ T2 b; F+ s8 L
4 ~2 o: ^0 O( _2 S图1: 未进行优化处理 - 原版效果图 ↑↑↑' U% A* U1 z/ d4 v/ F+ T( b. l* ]
, y* s0 t3 C+ x/ _5 G
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
' p. Z1 k% Q A( k J& S9 m- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成- Z' I) T. n! T# d" ]. S: [
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
0 ^" x$ K. t3 \: j& J0 S& B# x以上操作就是过滤关键词;
! P5 }) Y6 [4 H) Z$ P6 h反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
3 \* h0 q7 [" B8 n1 s2 U- jieba.add_word("仑中")( C6 ` A+ {0 T. J! X
- jieba.add_word("蓝桥杯")* ~; `% c( x4 b6 p" A8 d
- jieba.add_word("第三方库")
复制代码
/ q6 w+ z5 t3 d( {5 M$ P7 g' R4 e
: W, |' M# m' m, k, G7 U图2: 已进行优化处理 - 效果图 ↑↑↑* z: z; f" U; O0 J% d# f. b4 X
0 K1 ]0 m8 n9 u/ ^; U% }0 p6 m. c9 c% j通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。1 @- s V% c. J: R
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! , n$ q( R$ \% J" d4 e# {
/ |9 f. ~% V9 C' V
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
" w3 c# b* ^6 n8 _5 r
5 F' m, r4 A. P) g1 o1 a. M7 Z" r核心代码片段如下 ↓↓↓
' G [, U v& G6 m- import jieba
0 v0 \8 i3 W* G, v$ \( \ - import wordcloud# K9 t9 ]% f! l1 p- X) J
- 0 C% g( }9 @& q# y# t0 P1 c3 B/ H
- # 引入数据文本文件" s" |4 ^3 y3 p- s' ]
- text = open('text.txt','r',encoding='UTF-8').read()
" L) g2 f+ j0 |: o2 Y% K% n - 3 A( m% X/ o; i+ ~7 r
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
& c% U. k! j u - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")1 p- _8 C1 J! F
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
2 p9 A* V D, X$ f - 0 E. z* N( f. ?: F
- w.generate(" ".join(jieba.lcut(text)))
1 J( y$ ?* d4 s( u2 T( z6 r/ R3 o - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签% Q6 o) m9 s4 e8 l
- ( D$ n3 s1 T& _7 U% ?( Q/ K1 W
- # 新增关键字词汇- e0 M1 j ^' j- O6 T
- jieba.add_word("蓝桥杯")5 K7 D J, y/ m- K6 \
- jieba.add_word('仑中')
7 F9 a8 ?* M% m3 [ - jieba.add_word('新高考')( e$ ^6 G: ~1 _- X' P* z' ^% n g
- jieba.add_word('零基础')$ d7 t1 R D4 b" r
- jieba.add_word('第三方库')
, G) {' ?' ~& S
, K& K( ]) u' ~1 u' Q+ i$ h6 Y- # 过滤干扰词汇. v& `9 w+ b2 D( b# r# H" [
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']3 p% M6 C1 o- ?+ D( }
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
* k' \+ e4 h6 o5 R5 A - * I3 N+ a: u. y( ]
- # 输出图文1 p% C, f' ?0 a( `2 b& h6 C
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|