【数据分析 04】论文种类分类

本文探讨了如何利用TF-IDF对论文进行分类,从数据处理到特征提取,包括类别编码、TF-IDF向量化以及模型精确度验证。介绍了one-hot encoding、Label encoding等机器学习编码方式,并提供了相关参考资料。
摘要由CSDN通过智能技术生成


一、预备工作

前言:安装tensorflow框架耗时较长未能正确安装,故没有使用深度学习

任务说明

1.学习主题:论⽂分类(数据建模任务),利⽤已有数据建模,对新论⽂进⾏类别分类;
2.学习内容:使⽤论⽂标题完成类别分类;
3.学习成果:学会⽂本分类的基本⽅法、 TF-IDF 等;

具体细节

在原始arxiv论⽂中论⽂都有对应的类别,⽽论⽂类别是作者填写的。在本次任务中我们可以借助论⽂标题和摘要完成:
1.对论⽂标题和摘要进⾏处理;
2.对论⽂类别进⾏处理;
3.构建⽂本分类模型;

二、数据处理

1.引入库

# 导⼊所需的package
import seaborn as sns #⽤于画图
from bs4 import BeautifulSoup #⽤于爬取arxiv的数据
import re #⽤于正则表达式,匹配字符串的模式
import requests #⽤于⽹络连接,发送⽹络请求,使⽤域名获取对应信息
import json #读取数据,我们的数据为json格式的
import pandas as pd #数据处理,数据分析
import matplotlib.pyplot as plt #画图⼯具

2.读入数据

提取原始数据中的title,categories,abstract三列数据

#读取数据
data = [] #初始化
file_path = r"C:\Users\monster\Desktop\Data King\archive\arxiv-metadata-oai-snapshot.json"
with open(file_path,'r') as f:
    for idx,line in enumerate(f):
        d = json.loads(line)  ##json.load(file,s,...)需指定文件  json.loads(s,...)
        d = {
   'title': d['title'], 'categories': d['categories'], 'abstract':
d['abstract']}
        data.append(d)
        #选部分数据
        if idx > 20000:
            break
        
data = pd.DataFrame(data)

data.head()

输出:在这里插入图片描述

3.拼接标题和摘要

data['text'] = data['title'] + data['abstract']

#替换换行符并转换为小写
data['text'] = data['text'].apply(lambda x: x.replace('\n',''))
data['text'] = data['text'].apply(lambda x: x.lower())

#删除title和abstract列
data = data.drop(['title','abstract'],axis=1)
data.head()

输出:在这里插入图片描述

4.提取类别并编码

由于原始论⽂有可能有多个类别,所以也需要处理

#多个类别,包含子分类 如:math.CA math.FA
data['categories'] = data['categories'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值