文章数据分析与自动分类

一、相关说明

  1. 文章难免有不足的地方,欢迎讨论和斧正,文章可以对文本类数据分析有所启发;
  2. 文章数据获取参见我的另一篇文章,https://blog.csdn.net/weixin_51749229/article/details/115558292
  3. 数据可以自己替换或者去相关网站查找;
  4. 预测分类处理思路:由于sklearn 学习的时候需要的是数值型的数据,而文本是类别型的,所以需要将文本向量化,然后找出合适的特征来拟合,最后利用特征结合逻辑回归算法求出模型,就可以利用训练好的模型预测未知文章的分类了。
  5. 由于主要目标是进行分类预测,所以在文本数据分析的过程中主要从文章的词的角度进行拆解数据指标。

二、项目任务

        根据文章文本内容对文本预处理,建模等操作对校内网站文章进行综合性评估并实现自动将文章划分到最可能的类别中。

  1. 对文本数据进行清洗、分词,去除停用词,文本向量化等操作;
  2. 运用描述性统计分析方法分析文章现状,使用python统计词频生成词云图;
  3. 运用推断统计分析方法,如方差分析进行特征选择;
  4. 根据文本内容,对文本数据进行分类,完成数据建模。

三、文章数据综合评价

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sns

sns.set(style= "darkgrid", font_scale=1.2)
plt.rcParams["font.family"] = "SimHei"
plt.rcParams["axes.unicode_minus"]=False

news = pd.read_csv("news.csv",sep=" ",index_col=0)
print(news.shape)
display(news.head())
date headline content 详情页 tag
2 2021-03-19 13:14:17 ND高级技工学校专业设置专题研讨会 NaN http://www.gdnjsxy.com/home/article/detail/id/... 教学研究
3 2021-03-18 22:52:20 劳动最光荣,公益在行动——ND高级技工学校公益日活动 劳动创造美好。劳动者用辛勤的双手,编织了这个五彩斑澜的世界,创造了人类的文明。 为了... http://www.gdnjsxy.com/home/article/detail/id/... 其他
4 2021-03-13 06:48:29 ND高级技工学校开始报名了! ND高级技工学校开始报名了! http://www.gdnjsxy.com/home/article/detail/id/... 其他

数据处理

空值处理

news.isnull().sum()
date         0
headline     0
content     31
详情页          0
tag          0
dtype: int64
news.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 192 entries, 0 to 191
Data columns (total 5 columns):
 #   Column    Non-Null Count  Dtype 
---  ------    --------------  ----- 
 0   date      192 non-null    object
 1   headline  192 non-null    object
 2   content   161 non-null    object
 3   详情页       192 non-null    object
 4   tag       192 non-null    object
dtypes: object(5)
memory usage: 9.0+ KB
#用标题填充空值内容
index = news[news.content.isnull()].index
# news["content"][index] = news["headline"][index]
news.content[index] = news.headline[index]
news.isnull().sum()
date        0
headline    0
content     0
详情页         0
tag         0
dtype: int64
#随机取样 sample
news.loc[index].sample(5)
date headline content 详情页 tag
85 2019-07-18 13:03:47 喜 报 喜 报 http://www.gdnjsxy.com/home/article/detail/id/... 教学研究
30 2020-11-09 10:01:33 ND高级技工学校 2020年(秋)免学费初审名单公示 ND高级技工学校 2020年(秋)免学费初审名单公示 http://www.gdnjsxy.com/home/article/detail/id/... 其他
87 2019-06-29 11:23:00 青春不散场.....我们毕业啦 青春不散场.....我们毕业啦 http://www.gdnjsxy.com/home/article/detail/id/... 其他
47 2020-07-09 23:02:15 喜 报 喜 报 http://www.gdnjsxy.com/home/article/detail/id/... 技能培训

重复值处理

print(news.duplicated().sum())
display(news[news.duplicated()])
0

<

news.drop_duplicates(inplace=True)
print(news.duplicated().sum())
0
display(news.content.sample(5))
91                          品小布茗茶,赏文学佳作本期由小布金叶茶业专业合作社协办。
94     地域上虽相隔千里,但对技工教育事业共同的追求跨越了界限。 紧张又充实的5天结束了,参赛老师纷...
123    \n2018年11月23日,为时三天的首届“骏亚杯”田径运动会圆满落幕。本次运动会共有47个...
Name: content, dtype: object

数据清洗

  1. 去除文章里的标点符号和特殊符号


import re 

pattern =  r"[!\"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~!,。?、¥……【】《》‘’“”\s]+"

re_obj = re.compile(pattern)

def clear(text):
    return re_obj.sub("",text)

news.content = news.content.apply(clear)
news.sample(5)
date headline content 详情页 tag
180 2017-08-18 22:48:07 ND技工学校选派教师赴河北邢台技师学院参加“一体化”教学培训 关于做好定点帮助ND技工学校的通知精神扎实做好帮助对接工作河北邢台技师学院... http://www.gdnjsxy.com/home/article/detail/id/... 教学研究
49 2020-07-07 20:52:18 ND高级技工学校第二届精品小课比赛 为加强我校师资建设提高教师综合素养提升教师业务能力促进一体化教学改革特开展精品小课比赛为广大... http://www.gdnjsxy.com/home/article/detail/id/... 其他
50 2020-06-23 16:13:00 ND高级技工学校2020年面向社会公开招聘教师笔试时间和地点公告 根据ND高级技工学校2020年面向社会公开招聘教师公告要求现将笔试时间地点及有关事项公告如下... http://www.gdnjsxy.com/home/article/detail/id/... 其他
  1. 中文分词
import jieba

def cut_word(text
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值