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