Python 垃圾短信分析:词云可视化
Python 垃圾短信分析:词云可视化
本文将使用 Python 对 '手机垃圾短信' 数据集进行分析,并利用词云图可视化垃圾短信和非垃圾短信的特点。
数据集: sms_spam.csv
- 该文件包含 5537 行数据,2 列:
- 'type':短信类型,'ham' 为非垃圾短信,'spam' 为垃圾短信
- 'text':短信内容
步骤:
-
安装库:
pip install wordcloud pandas -
读取数据:
import pandas as pd from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取数据集 data = pd.read_csv('sms_spam.csv') -
分类:
# 分类垃圾邮件ham和非垃圾邮件spam spam = data[data['type'] == 'spam'] ham = data[data['type'] == 'ham'] -
生成词云:
# 生成垃圾短信的词云图 spam_text = ' '.join(spam['text'].tolist()) spam_cloud = WordCloud(background_color='white').generate(spam_text) plt.imshow(spam_cloud, interpolation='bilinear') plt.axis('off') plt.savefig('spam_wordcloud.png') # 生成非垃圾短信的词云图 ham_text = ' '.join(ham['text'].tolist()) ham_cloud = WordCloud(background_color='white').generate(ham_text) plt.imshow(ham_cloud, interpolation='bilinear') plt.axis('off') plt.savefig('ham_wordcloud.png')
说明:
WordCloud类的background_color参数用于设置词云图的背景颜色,默认为黑色;interpolation参数用于设置图像插值方式,这里使用双线性插值(bilinear)。matplotlib库的imshow和savefig方法分别用于显示和保存词云图。
原文地址: https://www.cveoy.top/t/topic/neRz 著作权归作者所有。请勿转载和采集!