摘 要:隨著數(shù)據(jù)時代的到來,數(shù)據(jù)分析人才現(xiàn)在受到各個行業(yè)的重視。而高校的數(shù)據(jù)分析人才培養(yǎng)體系暫未有公認的標(biāo)準(zhǔn),本文旨在分析企業(yè)對數(shù)據(jù)分析人才的能力要求,對應(yīng)知識分解的方式來研究數(shù)據(jù)分析人才背景課程體系的建立。
關(guān)鍵詞:數(shù)據(jù)科學(xué);機器學(xué)習(xí);python;數(shù)據(jù)分析
中圖分類號:TN915.11 文獻標(biāo)識碼:A 文章編號:2096-4706(2017)03-0026-02
Analysis of Background Knowledge System of Data Analysis Based on Knowledge Decomposition
PENG Zhijun
(Neusoft Institute Guangdong,F(xiàn)oshan 528225,China)
Abstract: With the advent of the data age, data science talent is now the attention of various industries. And the university data science personnel training system yet to recognize the standard, this paper aims to analyze the ability of enterprises to data science talent requirements, corresponding to the way decomposition of knowledge to study the establishment of data personnel training system.
Keywords: data science; machine learning; python; data analysis
信息技術(shù)的廣泛深入各行行業(yè),每時每刻都在產(chǎn)生和存儲海量的數(shù)據(jù)。數(shù)據(jù)的來源越來越多元化,網(wǎng)絡(luò)入侵檢測,傳感器,網(wǎng)站訪問點擊記錄,超市購物記錄,銀行的交易記錄都會產(chǎn)生記錄。
如何讓這些數(shù)據(jù)產(chǎn)生價值?這就是數(shù)據(jù)分析工程師面臨的問題。從這些原始數(shù)據(jù)抽取,整理,分析從而得到有價值的結(jié)論,從原始數(shù)據(jù)中抽取有價值信息的過程稱為數(shù)據(jù)分析。
圖1為數(shù)據(jù)分析的工作流程[1]。
現(xiàn)在用于數(shù)據(jù)分析的工具,處理傳統(tǒng)的Excel和R語言和Matlab。Python語言由于它除了提供數(shù)據(jù)處理平臺,它本身是一門通用的編程語言。它可以操作數(shù)據(jù)庫,還可以開發(fā)Web應(yīng)用程序。所以它越來越廣泛地應(yīng)用于數(shù)據(jù)分析領(lǐng)域。
根據(jù)對數(shù)據(jù)科學(xué)就業(yè)工作職位的調(diào)查,對于一名合格的數(shù)據(jù)分析工程師或者高級的數(shù)據(jù)科學(xué)家。他(她)所應(yīng)該具有的知識結(jié)構(gòu)如圖2[1]。
本文分析Python被廣泛使用的數(shù)據(jù)分析包NumPy庫,Pandas庫和機器學(xué)習(xí)庫scikit-learn中所需要的背景知識對應(yīng)的課程體系。
從圖2可以看出數(shù)據(jù)分析師的所需的科學(xué)知識主要分為四個方面(除了溝通技巧等軟技能)。
1 計算機科學(xué)
至少掌握C++、Java、Python等編程語言和一種用于統(tǒng)計的語言如R語言等。掌握常見的數(shù)據(jù)存儲格式,如XML,JSON,CVS,XLS等。掌握在數(shù)據(jù)庫系統(tǒng)中存儲和讀取數(shù)據(jù)。
2 數(shù)學(xué)和統(tǒng)計學(xué)
數(shù)據(jù)分析的目的已經(jīng)稱為數(shù)據(jù)建模的一種方法論。建模就必不可少的需要數(shù)學(xué)知識。數(shù)據(jù)分析也涉及大量的數(shù)學(xué)和統(tǒng)計學(xué)知識。數(shù)據(jù)分析使用的頻率較高的統(tǒng)計技術(shù)有以下幾點。
(1)貝葉斯方法;
(2)回歸;
(3)聚類。
3 人工智能和機器學(xué)習(xí)
谷歌公司的AlphaGo戰(zhàn)勝人類最頂尖的棋手向我們展示了人工智能和機器學(xué)習(xí)技術(shù)的強大之處。機器學(xué)習(xí)方法是目前數(shù)據(jù)分析領(lǐng)域最先進的工具之一。機器學(xué)習(xí)已經(jīng)成為一個獨立的人工智能分支,機器學(xué)習(xí)慢慢成為數(shù)據(jù)分析的基礎(chǔ)工具,數(shù)據(jù)分析師至少要了解基本的機器學(xué)習(xí)知識。
4 業(yè)務(wù)領(lǐng)域知識
數(shù)據(jù)來源于各行各業(yè),例如醫(yī)學(xué),金融,生物,物理等。對數(shù)據(jù)來源的業(yè)務(wù)熟悉,能夠深入地理解數(shù)據(jù)從而更好地解釋數(shù)據(jù)的含義。
以下我們將會對以Python語言的數(shù)據(jù)分析包中的各個知識點進行分解,需要的背景知識點。
在NumPy中主要的操作是數(shù)組的創(chuàng)建和運算等操作,這在任何計算機編程語言中都能學(xué)習(xí)到相關(guān)的或類似的背景知識。
NumPy中還要用到矩陣的運算,那就需要開發(fā)者具有線性代數(shù)的基礎(chǔ)知識。
而在Pandas包也引用到了NumPy包,另外的DataFrame這種數(shù)據(jù)形式,需要學(xué)生具有數(shù)據(jù)結(jié)構(gòu)的背景知識。
并且Pandas包新增統(tǒng)計功能,例如計算相關(guān)性(correlation)和協(xié)方差(covrariance),需要統(tǒng)計學(xué)的相關(guān)知識。
在對于文件的讀取中,Pandas支持讀取以上提到的XML,JSON,CVS,XLS以及HTML多種格式,這需要在計算機課程的課程中涉及到相關(guān)的知識,CVS和Excel非常簡單但是XML和JSON以及HTML至少需要16-32學(xué)時的時間才能掌握。
而對于操作數(shù)據(jù)庫中的數(shù)據(jù),這需要有數(shù)據(jù)庫的背景知識。
最后討論機器學(xué)習(xí)算法的包。
機器學(xué)習(xí)的算法主要有三大部分:預(yù)測,分類和聚類。
其中貝葉斯方法基于概率論中的貝葉斯公式。而回歸分析中簡單的線性回歸只需要學(xué)生掌握線性方程,這個知識點在高中數(shù)學(xué)中學(xué)習(xí)過,但是復(fù)雜的回歸方法例如多項式回歸和多元線性回歸則必須要有統(tǒng)計學(xué)的相關(guān)知識。
5 結(jié) 論
由上表1可以看出。
(1)目前計算機科學(xué)中設(shè)置的主干課程基本都包含了《程序設(shè)計語言》《數(shù)據(jù)結(jié)構(gòu)》《數(shù)據(jù)庫》。而《Web開發(fā)》不是特別普遍。
(2)數(shù)學(xué)與統(tǒng)計學(xué)背景知識中,普通工科專業(yè)一般設(shè)置的三門數(shù)學(xué)相關(guān)課程《高等數(shù)學(xué)》《線性代數(shù)》《概率論與數(shù)理統(tǒng)計》都已經(jīng)基本涵蓋。在統(tǒng)計學(xué)基礎(chǔ)不夠,需要補充64學(xué)時左右的統(tǒng)計學(xué)課程。
(3)程序設(shè)計語言中開設(shè)Python的院校較少,如果沒有開設(shè)但有其他面向獨享編程的經(jīng)驗,需要補充32學(xué)時左右的對應(yīng)課程
參考文獻:
[1] [美]Rachel Schutt等 數(shù)據(jù)科學(xué)實戰(zhàn) [M].北京.人民郵電出版社,2015.
[2] [意]Fabio Nelli Python數(shù)據(jù)分析實戰(zhàn) [M].北京.人民郵電出版社,2016.
[3] [美]Brett Lantz 機器學(xué)習(xí)與R語言 [M].北京.機械工業(yè)出版社,2015.
作者簡介:彭之軍,男,講師,高級工程師。研究方向:JavaEE企業(yè)信息系統(tǒng)開發(fā)、數(shù)據(jù)分析與機器學(xué)習(xí)。