曹潔 崔霄
摘要:新工科是基于國(guó)家戰(zhàn)略發(fā)展新需求、國(guó)際競(jìng)爭(zhēng)新形勢(shì)、立德樹(shù)人新要求而提出的我國(guó)工程教育改革方向,是對(duì)工科學(xué)科建設(shè)的優(yōu)化再造和內(nèi)容升級(jí),新工科的建設(shè)和發(fā)展有重要的意義。面向新工科,當(dāng)前誰(shuí)能更好地處理、分析數(shù)據(jù),誰(shuí)就能真正搶得時(shí)代的先機(jī)。研究數(shù)據(jù)分析課程的內(nèi)容設(shè)置,能很好地培養(yǎng)學(xué)生的創(chuàng)新能力與邏輯思維能力。本研究基于當(dāng)前數(shù)據(jù)分析最重要的編程語(yǔ)言Python,從數(shù)據(jù)結(jié)構(gòu)特點(diǎn)、學(xué)生已有的編程基礎(chǔ)、數(shù)據(jù)來(lái)源的多樣性、數(shù)據(jù)分析流程、數(shù)據(jù)分析實(shí)戰(zhàn)等五個(gè)方面探討Pvthon數(shù)據(jù)分析課程教學(xué)內(nèi)容。
關(guān)鍵詞:新工科;Python;知識(shí)體系;數(shù)據(jù)分析;教學(xué)內(nèi)容
近年,以物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)、移動(dòng)互聯(lián)網(wǎng)、人工智能、區(qū)塊鏈等為代表的新一代信息技術(shù)深刻地影響了人類社會(huì)的發(fā)展,高等教育領(lǐng)域也不例外。新一代信息技術(shù)也在改變著傳統(tǒng)高等工程教育的實(shí)現(xiàn)方式和教育內(nèi)容,并促使新工科的產(chǎn)生和發(fā)展。
一、新工科是工科教育發(fā)展的必然
工科是指應(yīng)用科學(xué)原理,結(jié)合生產(chǎn)實(shí)踐所積累的技術(shù)經(jīng)驗(yàn)而發(fā)展起來(lái)的學(xué)科,主要特征有三:一是依據(jù)一定的科學(xué)技術(shù)原理,二是造出人工物(機(jī)器),三是解決實(shí)際問(wèn)題。傳統(tǒng)工科教育過(guò)分強(qiáng)調(diào)課程的工程性,忽視了對(duì)學(xué)生人文素質(zhì)等方面的培養(yǎng),同時(shí)傳統(tǒng)工科的課程設(shè)置不太合理,培養(yǎng)出來(lái)的學(xué)生很難適應(yīng)新的社會(huì)發(fā)展要求。高校亟需新的工科教育教學(xué)理念,來(lái)培養(yǎng)具有創(chuàng)新能力的新興工程技術(shù)人才。
2017年12月,國(guó)務(wù)院辦公廳《關(guān)于深化產(chǎn)教融合的若干意見(jiàn)》提出,“適應(yīng)新一輪科技革命和產(chǎn)業(yè)變革及新經(jīng)濟(jì)發(fā)展,促進(jìn)學(xué)科專業(yè)交叉融合,加快推進(jìn)新工科建設(shè)”。新工科是基于國(guó)家戰(zhàn)略發(fā)展新需求、國(guó)際競(jìng)爭(zhēng)新形勢(shì)、立德樹(shù)人新要求而提出的我國(guó)工程教育改革方向,是對(duì)工科學(xué)科建設(shè)的優(yōu)化再造和內(nèi)容升級(jí),也是對(duì)未來(lái)工科學(xué)生培養(yǎng)目標(biāo)、培養(yǎng)方式、培養(yǎng)內(nèi)容的探索。新興的工科人才需要具備三大素質(zhì)和特點(diǎn):一是他們不僅要在某一學(xué)科上研究精深,其知識(shí)結(jié)構(gòu)還應(yīng)具有“多學(xué)科交叉融合”的特征:二是他們不僅能夠運(yùn)用所掌握的知識(shí)解決現(xiàn)有的問(wèn)題,還應(yīng)具備學(xué)習(xí)新知識(shí)、新技術(shù)以應(yīng)對(duì)未來(lái)發(fā)展出現(xiàn)的新難題的能力,并能對(duì)未來(lái)技術(shù)和產(chǎn)業(yè)發(fā)展起到積極的引領(lǐng)作用:三是他們不僅要有精湛的技術(shù),還要熟悉經(jīng)濟(jì)、社會(huì)和管理等知識(shí),即具有良好的人文素養(yǎng)。因而,研究適應(yīng)新一輪科技革命和產(chǎn)業(yè)變革及新經(jīng)濟(jì)發(fā)展的工科課程知識(shí)體系是當(dāng)前新工科建設(shè)的重要內(nèi)容。
二、Python數(shù)據(jù)分析課程
當(dāng)今世界對(duì)信息技術(shù)的依賴程度日漸加深,每天都會(huì)產(chǎn)生和存儲(chǔ)海量的數(shù)據(jù)。面對(duì)海量數(shù)據(jù),誰(shuí)能更好地處理、分析數(shù)據(jù),誰(shuí)就能真正搶得時(shí)代的先機(jī)。對(duì)數(shù)據(jù)的分析已經(jīng)成為了企業(yè)、政府非常重要且迫切的需求。Python程序設(shè)計(jì)語(yǔ)言是一種解釋型、面向?qū)ο蟆?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言,具有開(kāi)源、簡(jiǎn)潔易讀、快速上手、多場(chǎng)景應(yīng)用等優(yōu)點(diǎn)。Python程序設(shè)計(jì)語(yǔ)言在數(shù)據(jù)分析與挖掘領(lǐng)域中的地位非常突出,已經(jīng)當(dāng)仁不讓地成為數(shù)據(jù)分析人員的一把“利器”。數(shù)據(jù)分析人員用適當(dāng)?shù)臄?shù)學(xué)模型對(duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行行業(yè)應(yīng)用分析,以求最大化地開(kāi)發(fā)數(shù)據(jù)背后隱藏的價(jià)值,充分發(fā)揮數(shù)據(jù)的預(yù)測(cè)指導(dǎo)功能。其目的在于把隱沒(méi)在雜亂無(wú)章的數(shù)據(jù)中的有用信息集中、萃取和提煉出來(lái)。工科不同學(xué)科之間差異很大,不同學(xué)科對(duì)數(shù)據(jù)分析的內(nèi)容及能力要求差別也很大。在此,筆者主要以工科中軟件工程學(xué)科為例,基于當(dāng)前數(shù)據(jù)分析最流行的Python程序設(shè)計(jì)語(yǔ)言來(lái)探討數(shù)據(jù)分析的知識(shí)體系以及具體應(yīng)用的實(shí)現(xiàn),以期為新工科數(shù)據(jù)分析課程建設(shè)提供一種參考。
三、面向新工科的Python數(shù)據(jù)分析課程內(nèi)容
不同的人對(duì)數(shù)據(jù)分析有不同的定義,常見(jiàn)的定義有:從大量數(shù)據(jù)中提取出想要的信息就是數(shù)據(jù)分析:有針對(duì)性地搜集、加工、整理數(shù)據(jù),并采用統(tǒng)計(jì)、數(shù)據(jù)挖掘技術(shù)分析和解釋數(shù)據(jù)等就是數(shù)據(jù)分析:基于行業(yè)目的,有目的地搜集、整理、加工和分析數(shù)據(jù),提煉有價(jià)值的信息就是數(shù)據(jù)分析。綜合上述定義,筆者認(rèn)為數(shù)據(jù)分析是用適當(dāng)?shù)臄?shù)據(jù)整合方法對(duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行整合,為從中發(fā)現(xiàn)因果關(guān)系、內(nèi)部聯(lián)系和業(yè)務(wù)規(guī)律而對(duì)數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過(guò)程。筆者具體地將Python數(shù)據(jù)分析課程分為五部分教學(xué)內(nèi)容,下面分別論述。
第一部分,新工科要求課程內(nèi)容要有利于培養(yǎng)學(xué)生的創(chuàng)新能力和工程實(shí)踐能力。數(shù)據(jù)分析是隨著大數(shù)據(jù)技術(shù)、云計(jì)算技術(shù)、移動(dòng)互聯(lián)網(wǎng)、Web2.0技術(shù)的發(fā)展以及類型多樣的海量數(shù)據(jù)的涌現(xiàn)而出現(xiàn)的一門(mén)技術(shù),要求學(xué)生明確數(shù)據(jù)分析與大數(shù)據(jù)處理、大數(shù)據(jù)存儲(chǔ)、云計(jì)算、移動(dòng)互聯(lián)網(wǎng)等技術(shù)之間的關(guān)系,了解大數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)特點(diǎn)。當(dāng)前比較常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)有結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、列式數(shù)據(jù)等,學(xué)生要深刻理解數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)及價(jià)值所在,要在這個(gè)基礎(chǔ)上創(chuàng)新數(shù)據(jù)分析的方法,而不僅僅是掌握傳統(tǒng)的數(shù)據(jù)挖掘、數(shù)據(jù)倉(cāng)庫(kù)等技術(shù)。
第二部分,課程以Python程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)為數(shù)據(jù)分析技術(shù)提供支撐。但對(duì)軟件工程學(xué)科的學(xué)生來(lái)說(shuō),他們已經(jīng)具備了基本的程序設(shè)計(jì)能力,因而教師只需簡(jiǎn)要介紹Python程序設(shè)計(jì)語(yǔ)言的特點(diǎn)、Python安裝方法、編寫(xiě)python代碼的方式等內(nèi)容,而要重點(diǎn)介紹python的基本數(shù)據(jù)類型,如number(數(shù)值)、string(字符串)、list(列表)、tuple(元組)、dictionary(字典)、set(集合)的操作命令。之后,教師會(huì)向?qū)W生講授Pvthon程序控制結(jié)構(gòu)、函數(shù)、類、正則表達(dá)式、文件與文件夾、數(shù)據(jù)可視化等知識(shí)。
第三部分,由于數(shù)據(jù)來(lái)源的多樣性、數(shù)據(jù)模式的多樣性,教師要向?qū)W生介紹Python各種類型數(shù)據(jù)庫(kù)的的常用操作。課程重點(diǎn)在于教師基于連接的數(shù)據(jù)庫(kù)特點(diǎn)及相應(yīng)的數(shù)據(jù)存儲(chǔ)模式特點(diǎn)開(kāi)展數(shù)據(jù)分析的創(chuàng)新性應(yīng)用,從而讓學(xué)生綜合掌握Pvthon數(shù)據(jù)存儲(chǔ)的相關(guān)知識(shí)。因此,該門(mén)課程也需引入python語(yǔ)言來(lái)開(kāi)發(fā)數(shù)據(jù)存儲(chǔ)的實(shí)際系統(tǒng)。課程教師會(huì)系統(tǒng)介紹python操作Mysql數(shù)據(jù)庫(kù)、MongoDB數(shù)據(jù)庫(kù)Pvthon操作、SQLite數(shù)據(jù)庫(kù)、Redis數(shù)據(jù)庫(kù)的常用方法。
第四部分,課程將以數(shù)據(jù)分析的流程為重點(diǎn)。數(shù)據(jù)質(zhì)量分析主要包括缺失值分析、異常值分析、一致性分析和數(shù)據(jù)特征分析;數(shù)據(jù)預(yù)處理主要包括講解數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)規(guī)范化、數(shù)據(jù)離散化、數(shù)據(jù)規(guī)約和數(shù)據(jù)降維。在數(shù)據(jù)分析方法方面,教師重點(diǎn)講解相似性和相異性的度量以及分類分析方法、回歸分析方法、聚類分析方法。值得注意的是,數(shù)據(jù)質(zhì)量分析是數(shù)據(jù)分析中數(shù)據(jù)準(zhǔn)備過(guò)程的重要環(huán)節(jié),是數(shù)據(jù)預(yù)處理的前提,也是數(shù)據(jù)分析結(jié)論有效性和準(zhǔn)確性的基礎(chǔ)。沒(méi)有高質(zhì)量的可信數(shù)據(jù),構(gòu)建的數(shù)據(jù)分析模型將是“空中樓閣”。數(shù)據(jù)質(zhì)量分析的關(guān)鍵任務(wù)是檢查原始數(shù)據(jù)中是否存在臟數(shù)據(jù)。所謂臟數(shù)據(jù),一般是指不符合行業(yè)應(yīng)用要求、不能直接進(jìn)行相應(yīng)分析的數(shù)據(jù),具體包括缺失值、異常值、不一致的值、重復(fù)數(shù)據(jù)及含有特殊符號(hào)的數(shù)據(jù),其主要表現(xiàn)形式為數(shù)據(jù)缺失、數(shù)據(jù)重復(fù)、數(shù)據(jù)錯(cuò)誤、數(shù)據(jù)不可用等。
同時(shí),數(shù)據(jù)分析工作始終是以數(shù)據(jù)為中心開(kāi)展的,分類、聚類、回歸、關(guān)聯(lián)分析以及可視化等工作的順利進(jìn)行完全是建立在良好的數(shù)據(jù)輸入的基礎(chǔ)之上的。采集到的原始數(shù)據(jù)通常來(lái)自多個(gè)異構(gòu)數(shù)據(jù)源,數(shù)據(jù)在準(zhǔn)確性、完整性和一致性等方面存在一些問(wèn)題。在數(shù)據(jù)分析和數(shù)據(jù)挖掘之前,教師要讓學(xué)生明確,首先要做的就是對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,處理數(shù)據(jù)中的臟數(shù)據(jù),提高數(shù)據(jù)分析的準(zhǔn)確性和有效性。數(shù)據(jù)預(yù)處理有多種方法,如數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)規(guī)范化、數(shù)據(jù)離散化、數(shù)據(jù)規(guī)約等。
第五部分,教師要講解數(shù)據(jù)分析實(shí)戰(zhàn)。筆者在這里選取文本情感分析(具體內(nèi)容主要包括:電商手機(jī)評(píng)論數(shù)據(jù)的采集、中文分詞方法、文本的關(guān)鍵詞提取、中文文本情感傾向分析、主題模型和運(yùn)用LDA主題模型對(duì)電商手機(jī)評(píng)論進(jìn)行主題分析等)作為案例,這是因?yàn)樵谫?gòu)買(mǎi)商品時(shí)消費(fèi)者希望通過(guò)其他用戶發(fā)表的評(píng)論來(lái)確定是否應(yīng)該購(gòu)買(mǎi)。同時(shí),許多商家也希望通過(guò)用戶評(píng)論來(lái)及時(shí)了解產(chǎn)品的優(yōu)缺點(diǎn)及用戶滿意度。文本情感分析技術(shù)可自動(dòng)地從海量評(píng)論語(yǔ)料中挖掘有用信息,并對(duì)這些信息進(jìn)行組織和分類,然后直觀展示給用戶和商家。此外,通過(guò)大眾輿論導(dǎo)向分析,政府部門(mén)可以了解公眾對(duì)熱門(mén)事件的情感傾向,從而掌握大眾輿論導(dǎo)向,為政府制定相關(guān)政策提供一定支持等。