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