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

" X9 J& n A5 K+ c: y hello!大家好,今天张老师来讲解词云的具体应用实例,9 ]( {. W; X9 q! F( Y/ U2 [( d# I
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
. Q5 A+ P8 A' M- [( N, S: Q 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
: ?% N( j I% L! N4 Z$ J 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
: U- T* Z* G" D) p$ u- jieba 库 ------------【学习直通车】(高中必修)
! {; K. A/ n4 j; C W+ g
- wordcloud 库 ----【学习直通车】(高中选修)
% K- N" N. [& v, j
- ]( v/ ]( o; h1 ]% Y6 P7 [( _下面我们以《新大榭python学习社区》为例进行数据词云效果展示,/ z: ^% B& E4 t- D3 f* Q& e
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
& w1 s) j; M' L# _
, W* n) F( o E* l2 R# S( n
% {# s6 q" u5 D0 g
图1: 未进行优化处理 - 原版效果图 ↑↑↑. T% A- Z s7 _1 a& ?7 q$ y9 u
/ a4 t Q( }& S' [$ _/ O6 K& C
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码! V& c# C* }* x/ ]0 z
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成- }$ i1 U) g; ^( Y+ |3 o
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 ) t1 p* J( m( h. [
以上操作就是过滤关键词;: x$ @# U4 q. S9 i T
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
' K( U n! O4 i% O) a% G- jieba.add_word("仑中")$ u. ]$ ?& Z/ c6 U' ~$ i- n' t8 t% d
- jieba.add_word("蓝桥杯")
h+ m1 c/ Q& R b" b4 }: [/ ] - jieba.add_word("第三方库")
复制代码 ( p, o; ^+ H% L8 p+ x$ ^( ?6 h% A
5 a, a- [& w+ Z5 Y图2: 已进行优化处理 - 效果图 ↑↑↑
5 F' b/ z% q* v: y, g+ ~+ c4 b0 ^7 g; J
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
( t* P7 E: W/ Z. j5 W ]这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
0 t- _$ F" T0 O, n
w4 G8 {. R8 P
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
4 F: C$ i; {4 s ^7 D' C+ t
) j6 I3 a9 c: W9 ?" }' D核心代码片段如下 ↓↓↓
$ G8 J7 }+ M) U& O- import jieba2 d- K5 X0 T5 x0 B7 [- T
- import wordcloud
8 u1 e, S# m4 h7 J1 m
& |, S h R) m* S' e; `- # 引入数据文本文件& f. }7 X3 L- r* |! b0 T
- text = open('text.txt','r',encoding='UTF-8').read(); E. y; F: y# y$ [
- # b1 w: b$ `5 t, h+ a3 g' g) D
- # 设置词云图片大小、字体及背景色(背景色默认黑色)" I. x- r! S$ c' K5 `. F
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
) O" W; e$ u/ ^+ x - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板; K$ F) F6 V& j. V- y
- 6 c1 K1 X6 ~- r$ {9 b) Y, k
- w.generate(" ".join(jieba.lcut(text)))4 ~4 f" S# v$ N9 H V% e; T" _
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签& |& i; [% e4 w4 ~
$ ~2 m% ]& P2 C# g- # 新增关键字词汇
* e6 N; W ~7 b6 n2 N$ F' ? x( } - jieba.add_word("蓝桥杯")5 E! U: V$ D( ?2 e, \# i
- jieba.add_word('仑中')
9 A0 i9 C9 b6 S+ r" ~, G- t& H - jieba.add_word('新高考')( p. {' c* q; V& m$ }4 X
- jieba.add_word('零基础')2 ] b8 K H1 `* j: v3 r7 \: C
- jieba.add_word('第三方库')6 W- q* V0 H9 p5 x& Z
/ D- w x* P. `- # 过滤干扰词汇
; E1 N w! C' G3 X" W* \ - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
* |7 ^# K* n( ^ - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
. @; v! X8 z8 Z9 b" z( c - " y; C" y$ B) b6 u0 d8 f0 q9 q
- # 输出图文
% ?) @0 E6 F4 d+ e; H - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|