|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
: D/ V, q y1 R; R. g. e t
hello!大家好,今天张老师来讲解词云的具体应用实例,
9 }! n& g, H2 @ 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
, D1 X" `9 W& p5 M* R- S+ {) n 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
4 N# q# g6 @$ O h 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。# M5 ?0 v; w0 g5 F
- jieba 库 ------------【学习直通车】(高中必修)
, d2 I6 N, S+ `9 \, I1 I) ?+ h
- wordcloud 库 ----【学习直通车】(高中选修)
) P3 H3 a. \, \! e z9 q
% n$ J0 ~$ L/ y& h! A/ F下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
9 ?8 B) l6 Z/ E6 J首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)+ o% `" J ^: d7 B5 E8 n
1 _% `! i2 Y7 ^5 H$ M) [
; @& N7 B, m i, \7 R+ n! X
图1: 未进行优化处理 - 原版效果图 ↑↑↑( K5 t- j% j. m$ `$ a. ^
0 t' p, c& e& k8 F# k( W很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码4 {6 r' _8 F2 H, ~0 \3 U+ i
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成5 D1 _# A* L2 e0 \6 H7 y3 D4 s
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 ) P- ~+ C9 X& x* [
以上操作就是过滤关键词;
& B: I: V: o4 b% Q$ L* N# R反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
) [ Y, _& s+ D# H$ ?" P4 X- jieba.add_word("仑中"); `0 [8 m# i7 i3 i
- jieba.add_word("蓝桥杯")
" q4 b% X, a; w' E4 A - jieba.add_word("第三方库")
复制代码 - N% P3 l6 \+ y# X3 z& h
) O s7 V0 h" R
图2: 已进行优化处理 - 效果图 ↑↑↑
0 Z9 Y" C" y: S8 L4 I2 O! V% Y' }4 G! O6 f- b0 Q) d; J
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
: w/ y8 e; Q1 o0 H- W这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
- |2 W/ _! E: s3 l8 c
0 Y8 ]+ ?1 {+ i2 Q: K# ~4 j$ ^图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑* @5 k- o! j' n4 h1 s2 X" T
- V, V5 I2 Q+ N+ ^核心代码片段如下 ↓↓↓2 i5 w! i+ Q' J# w
- import jieba! {# Z% o0 _; G& _+ `2 E
- import wordcloud
& g0 w, e' S5 h% @1 i# v6 X9 F
( P9 \' w0 m: X E- # 引入数据文本文件
6 z2 H5 l& P( g0 ~ - text = open('text.txt','r',encoding='UTF-8').read()0 |( |6 {. A$ N D% h
- 0 z& G/ W: c1 R! [) U' a
- # 设置词云图片大小、字体及背景色(背景色默认黑色) _& A" O. s5 b( B3 X N# G
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
3 ?- J9 b K# A7 g - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
2 e8 z0 d* }0 Q/ N- D; G4 p8 H- Y. O3 t# L - 7 f0 x0 X' X. s4 w- E h8 k
- w.generate(" ".join(jieba.lcut(text)))7 a0 V& a3 i6 a3 O+ [
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签) }0 A* X/ E d+ @" z, Y
" w) Z! w8 ~, h) t/ Q# q- # 新增关键字词汇
2 b/ E: n! N& L6 k( o - jieba.add_word("蓝桥杯")
3 ]7 ~! |! M! V% @( T, q( i' \ - jieba.add_word('仑中')" ]# @; f1 y7 X/ i2 ^+ ~
- jieba.add_word('新高考'): _$ s8 B& s) r. F' {* d. V. x0 {
- jieba.add_word('零基础')$ S/ ~; x; K* d; l
- jieba.add_word('第三方库')8 V. x3 `: N) _' y9 P, N6 O
3 B( M1 Y* u/ w5 E" C& w- # 过滤干扰词汇
/ g% I7 Z% X! ?; r% G" V! D$ ] - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
8 ]9 Y, i+ @" }$ [% l' S - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))" Z9 ]) O" s0 Z! o- i8 W4 G
2 C! F C8 V4 X' q- l9 S/ I9 g- # 输出图文
5 `- a/ ]7 F9 y - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|