【数据分析】近10年学术论文的数据分析!
作者:李攀,北航碩士,Datawhale優秀學習者
arXiv是重要的學術公開網站,也是搜索、瀏覽和下載學術論文的重要工具。它涵蓋的范圍非常廣,涉及物理學的龐大分支和計算機科學的眾多子學科,如數學、統計學、電氣工程、定量生物學和經濟學等等。
本文使用arXiv公開的論文數據集,聚焦2008年-2020年計算機各個方向論文數據,對其進行了數據探索性分析和可視化分析,什么是2020年最火的方向,排名前五的又是哪些呢?一起來看看結論和數據分析過程。
本文目錄
一、 數據轉換
本文數據下載地址:https://tianchi.aliyun.com/competition/entrance/531866/information
從json中讀取數據
#?導入所需的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?#畫圖工具def?readArxivFile(path,?columns=['id',?'submitter',?'authors',?'title',?'comments',?'journal-ref',?'doi','report-no',?'categories',?'license',?'abstract',?'versions','update_date',?'authors_parsed'],?count=None):data??=?[]with?open(path,?'r')?as?f:?for?idx,?line?in?enumerate(f):?if?idx?==?count:breakd?=?json.loads(line)d?=?{col?:?d[col]?for?col?in?columns}data.append(d)data?=?pd.DataFrame(data)return?data?1.1 讀取原始數據
data?=?readArxivFile('D:/Code/Github/data/arxiv-metadata-oai-snapshot.json',?['id',?'categories',?'authors','title','update_date'])1.2?爬取論文類別數據
#爬取所有的類別 website_url?=?requests.get('https://arxiv.org/category_taxonomy').text?#獲取網頁的文本數據 soup?=?BeautifulSoup(website_url,'lxml')?#爬取數據,這里使用lxml的解析器,加速 root?=?soup.find('div',{'id':'category_taxonomy_list'})?#找出?BeautifulSoup?對應的標簽入口 tags?=?root.find_all(["h2","h3","h4","p"],?recursive=True)?#讀取?tags#初始化?str?和?list?變量 level_1_name?=?"" level_2_name?=?"" level_2_code?=?"" level_1_names?=?[] level_2_codes?=?[] level_2_names?=?[] level_3_codes?=?[] level_3_names?=?[] level_3_notes?=?[]#進行 for?t?in?tags:if?t.name?==?"h2":level_1_name?=?t.text????level_2_code?=?t.textlevel_2_name?=?t.textelif?t.name?==?"h3":raw?=?t.textlevel_2_code?=?re.sub(r"(.*)\((.*)\)",r"\2",raw)?#正則表達式:模式字符串:(.*)\((.*)\);被替換字符串"\2";被處理字符串:rawlevel_2_name?=?re.sub(r"(.*)\((.*)\)",r"\1",raw)elif?t.name?==?"h4":raw?=?t.textlevel_3_code?=?re.sub(r"(.*)?\((.*)\)",r"\1",raw)level_3_name?=?re.sub(r"(.*)?\((.*)\)",r"\2",raw)elif?t.name?==?"p":notes?=?t.textlevel_1_names.append(level_1_name)level_2_names.append(level_2_name)level_2_codes.append(level_2_code)level_3_names.append(level_3_name)level_3_codes.append(level_3_code)level_3_notes.append(notes)#根據以上信息生成dataframe格式的數據 df_taxonomy?=?pd.DataFrame({'group_name'?:?level_1_names,'archive_name'?:?level_2_names,'archive_id'?:?level_2_codes,'category_name'?:?level_3_names,'categories'?:?level_3_codes,'category_description':?level_3_notes}) df_taxonomy.head()1.3?取data的子集進行處理
抽取數據的5%進行分析,否則數據量太大,處理時間太長。
#存儲轉換后的原始數據 data.to_csv('D:/Code/Github/data/data.csv',index?=?False) df_taxonomy.to_csv('D:/Code/Github/data/categories.csv',index?=?False) #對數據進行抽樣 data?=?data.sample(frac=0.05,replace=False,random_state=1) data.shape(89846, 5)1.4?對catagories進行處理
categories列中有很多,一篇論文同時屬于很多的類別,只取第一個類別,放棄其他類別。
print(data.categories.nunique()) data['categories']?=?data.categories.str.split('?',expand=True)[0] data.categories.nunique()9488 1721.5?數據連接
data_merge?=?data.merge(df_taxonomy,how='left',on='categories').sort_values(by?=?"update_date").drop_duplicates(['id','group_name'],keep?=?'first') data_merge.shape(89847, 10)發現比原始抽樣數據多了一行,經查明,原來是多了一行空行,進行刪除
data_merge.dropna(how='any',subset=['categories'],inplace=True) data_merge.shape(89846, 10)1.6?存儲轉換后的數據,后面可以直接進行讀取
data_merge.to_csv('D:/Code/Github/data/data_subset_merge.csv',index?=?False)二、 數據探索性分析
2.1?查看數據的缺失信息
可以看到group_name之后的部分列,都有缺失數據
data_merge.info()2.2?統計不同大類的論文數量
可以看到物理學領域的論文數量最多,數學和計算機科學的其次,其他領域的論文數量都相對較少
說明arxiv網站的論文大部分仍然集中在“物理學,數學,計算機科學”領域
2.3?按年度統計論文數量的變化
可以看到論文數量大體上呈現遞增的趨勢
2009年和2015年的數據偏高,有可能是抽樣的隨機因素,也有可能這兩年的論文數量本來就比較高
#繪制回歸圖 data_plot=data_merge.groupby(pd.to_datetime(data_merge.update_date).dt.year)['id'].agg('count').reset_index() sns.regplot(data_plot.iloc[:,0],data_plot.iloc[:,1])
2.4 按月份統計論文發表數量
比較發現一年中5,6,10,11月份是論文出產最多的月份
2.5 統計不同小類論文的數量
只繪制了前20種
高能物理,量子力學領域的論文數量最多
三、 使用BI軟件進行數據可視化分析
3.1 不同年份計算機領域發表數量前五的領域
可以看到計算機領域最火的領域一直在發生著變換,2014年-2016年都是信息理論方面的論文最多,而2017-2019是計算機視覺最火,到了2020年,機器學習則和計算機視覺并駕齊驅。
3.2 計算機領域論文數量對比
排名前五的是計算機視覺、機器學習、信息理論、自然語言處理、人工智能五個方面
3.3 CV、ML等領域論文數量變化趨勢
可以看到論文的數量都呈現出上升的趨勢,但是2014年是一個節點,2014年之后,計算機視覺和機器學習兩個領域的論文數量都開始了非常迅速的增長,這兩個方向依然是計算機領域目前論文中的最火的方向,至于今年比較熱的新方向,如可復現性、差分隱私、幾何深度學習、神經形態計算、強化學習是否成為新增長點,來一個預測吧。
需要論文數據可以閱讀原文下載
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 本站知識星球“黃博的機器學習圈子”(92416895) 本站qq群704220115。 加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【数据分析】近10年学术论文的数据分析!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何成为一名合格的推荐系统工程师?
- 下一篇: 【机器学习基础】前置知识(四):一文掌握