一、相关说明
- 文章难免有不足的地方,欢迎讨论和斧正,文章可以对文本类数据分析有所启发;
- 文章数据获取参见我的另一篇文章,https://blog.csdn.net/weixin_51749229/article/details/115558292
- 数据可以自己替换或者去相关网站查找;
- 预测分类处理思路:由于sklearn 学习的时候需要的是数值型的数据,而文本是类别型的,所以需要将文本向量化,然后找出合适的特征来拟合,最后利用特征结合逻辑回归算法求出模型,就可以利用训练好的模型预测未知文章的分类了。
- 由于主要目标是进行分类预测,所以在文本数据分析的过程中主要从文章的词的角度进行拆解数据指标。
二、项目任务
根据文章文本内容对文本预处理,建模等操作对校内网站文章进行综合性评估并实现自动将文章划分到最可能的类别中。
- 对文本数据进行清洗、分词,去除停用词,文本向量化等操作;
- 运用描述性统计分析方法分析文章现状,使用python统计词频生成词云图;
- 运用推断统计分析方法,如方差分析进行特征选择;
- 根据文本内容,对文本数据进行分类,完成数据建模。
三、文章数据综合评价
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.isnull().sum()
date 0
headline 0
content 0
详情页 0
tag 0
dtype: int64
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
数据清洗
- 去除文章里的标点符号和特殊符号
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/... |
其他 |
</