版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
***********學(xué)院教案課程名稱:Python數(shù)據(jù)分析與可視化項(xiàng)目實(shí)戰(zhàn)授課班級(jí):****************************************授課時(shí)間:***********學(xué)年第1學(xué)期第1周至第2周共16周總學(xué)時(shí)64-96周學(xué)時(shí)4-6任課教師:***************教案1:基于大數(shù)據(jù)的求職信息分析與挖掘一、教學(xué)設(shè)計(jì)課程名稱數(shù)據(jù)分析授課班級(jí)大數(shù)據(jù)2201、2202軟件2201、2202、2203、2204授課時(shí)數(shù)6學(xué)時(shí)授課人數(shù)人授課地點(diǎn)1304、1306授課方式教學(xué)做一體學(xué)習(xí)項(xiàng)目基于大數(shù)據(jù)的求職信息分析與挖掘所選教材《Python數(shù)據(jù)分析與可視化實(shí)戰(zhàn)》教學(xué)內(nèi)容Python環(huán)境配置及turtle繪圖教學(xué)目標(biāo)素質(zhì)目標(biāo)具備技術(shù)應(yīng)用與解決問(wèn)題的素養(yǎng),能夠運(yùn)用技術(shù)解決實(shí)際挑戰(zhàn);具備數(shù)據(jù)可視化與溝通的素養(yǎng),能夠有效傳達(dá)數(shù)據(jù)分析的結(jié)果;3、具備團(tuán)隊(duì)協(xié)作與項(xiàng)目管理的素養(yǎng),能夠與團(tuán)隊(duì)合作完成項(xiàng)目任務(wù)知識(shí)目標(biāo)理解大數(shù)據(jù)的概念與特征;熟悉大數(shù)據(jù)處理的基本流程;理解數(shù)據(jù)挖掘的定義、任務(wù)、主要算法和流程;4、掌握在求職信息分析中使用的算法和模型,學(xué)習(xí)數(shù)據(jù)預(yù)處理和模型訓(xùn)練的方法能力目標(biāo)1.掌握安裝Anaconda3與Pandas庫(kù)的方法2.能夠?qū)?shù)據(jù)進(jìn)行查看與提取3、能夠?qū)嵤┣舐毿畔⒎治雠c挖掘任務(wù)的各個(gè)階段,包括數(shù)據(jù)加工、模型訓(xùn)練和數(shù)據(jù)分析。教學(xué)重難點(diǎn)重點(diǎn)難點(diǎn)教學(xué)方法教法任務(wù)驅(qū)動(dòng)教法、情景化教法、差異化教法、討論式教法學(xué)法自主式學(xué)習(xí)、協(xié)作式學(xué)習(xí)、體驗(yàn)式學(xué)習(xí)、探究式學(xué)習(xí)教學(xué)設(shè)計(jì)思路及知識(shí)導(dǎo)圖教學(xué)實(shí)施教學(xué)環(huán)節(jié)時(shí)間分配教學(xué)內(nèi)容及時(shí)間分配教學(xué)平臺(tái)資源課前課前導(dǎo)學(xué)1.完成課前學(xué)習(xí)問(wèn)卷調(diào)查;2.觀看視頻;3.課前自學(xué)測(cè)試及問(wèn)卷;課中項(xiàng)目介紹(5mins)大數(shù)據(jù)是指規(guī)模龐大、多樣化、高速生成的數(shù)據(jù)集,這些數(shù)據(jù)通常超出了傳統(tǒng)數(shù)據(jù)處理工具的能力范圍。大數(shù)據(jù)技術(shù)在各個(gè)領(lǐng)域都具有廣泛的影響:在商業(yè)智能和分析方面,大數(shù)據(jù)幫助企業(yè)分析客戶行為、市場(chǎng)趨勢(shì)和銷售數(shù)據(jù),支持決策制定和市場(chǎng)營(yíng)銷策略;在醫(yī)療方面,大數(shù)據(jù)分析可以用于疾病預(yù)測(cè)、藥物研發(fā)、患者管理和醫(yī)療成本控制;在交通和城市規(guī)劃方面,大數(shù)據(jù)支持智能交通系統(tǒng)、城市規(guī)劃和交通流量?jī)?yōu)化;在社交媒體和娛樂(lè)方面,大數(shù)據(jù)分析用于個(gè)性化推薦、廣告定位和社交趨勢(shì)分析等。大數(shù)據(jù)技術(shù)已經(jīng)成為各行各業(yè)的重要工具,對(duì)于就業(yè)市場(chǎng)也不例外。畢業(yè)生在步入職場(chǎng)之前,由于信息不對(duì)稱、缺乏經(jīng)驗(yàn),往往對(duì)就業(yè)前景和實(shí)際情況存在一定的疑慮和不確定性。這種不確定性可能會(huì)導(dǎo)致畢業(yè)生對(duì)自己的職業(yè)選擇和薪資期望與實(shí)際就業(yè)情況存在一定差距。而通過(guò)大數(shù)據(jù)分析和挖掘,可以幫助求職者更客觀地看待就業(yè)問(wèn)題,減少就業(yè)預(yù)期與實(shí)際差距,從而更好地融入職場(chǎng)并實(shí)現(xiàn)職業(yè)目標(biāo)。今天,我們就來(lái)學(xué)習(xí)如何使用大數(shù)據(jù)來(lái)進(jìn)行信息的采集挖掘和分析任務(wù)準(zhǔn)備(80mins)1.1大數(shù)據(jù)的特征大數(shù)據(jù)是一個(gè)仁者見(jiàn)仁、智者見(jiàn)智的寬泛概念。關(guān)于“什么是大數(shù)據(jù)”這個(gè)問(wèn)題,大家比較認(rèn)可關(guān)于大數(shù)據(jù)的“4V”說(shuō)法。所謂“4V”,指的是大數(shù)據(jù)的四個(gè)特點(diǎn),包含四個(gè)層面:Volume(數(shù)據(jù)量大),Variety(數(shù)據(jù)類型繁多),Velocity(處理速度快),Value(價(jià)值密度低)。大數(shù)據(jù)的價(jià)值本質(zhì)上體現(xiàn)為:提供了一種人類認(rèn)識(shí)復(fù)雜系統(tǒng)的新思維和新手段。就理論上而言,在足夠小的時(shí)間和空間尺度上,對(duì)現(xiàn)實(shí)世界數(shù)字化,可以構(gòu)造一個(gè)現(xiàn)實(shí)世界的數(shù)字虛擬映像,這個(gè)映像承載了現(xiàn)實(shí)世界的運(yùn)行規(guī)律,在擁有充足的計(jì)算能力和高效的數(shù)據(jù)分析方法的前提下,對(duì)這個(gè)數(shù)字虛擬映像的深度分析,將有可能理解和發(fā)現(xiàn)現(xiàn)實(shí)復(fù)雜系統(tǒng)的運(yùn)行行為、狀態(tài)和規(guī)律。應(yīng)該說(shuō)大數(shù)據(jù)為人類提供了全新的思維方式、探知客觀規(guī)律、改造自然和社會(huì)的新手段,這也是大數(shù)據(jù)引發(fā)經(jīng)濟(jì)社會(huì)變革最根本性的原因。1.2大數(shù)據(jù)處理的基本流程大數(shù)據(jù)處理的基本流程主要包括數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理與分析、數(shù)據(jù)展示/數(shù)據(jù)可視化、數(shù)據(jù)應(yīng)用等環(huán)節(jié),其中數(shù)據(jù)質(zhì)量貫穿于整個(gè)大數(shù)據(jù)流程,每一個(gè)數(shù)據(jù)處理環(huán)節(jié)都會(huì)對(duì)大數(shù)據(jù)質(zhì)量產(chǎn)生影響和作用。通常,一個(gè)好的大數(shù)據(jù)產(chǎn)品要有大量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)處理、精確的數(shù)據(jù)分析與預(yù)測(cè)、優(yōu)秀的可視化圖表以及簡(jiǎn)練易懂的結(jié)果解釋。1.2.1數(shù)據(jù)采集大數(shù)據(jù)的采集是指利用多個(gè)數(shù)據(jù)庫(kù)來(lái)接收發(fā)自客戶端(Web網(wǎng)站訪問(wèn)終端、App移動(dòng)應(yīng)用終端或者物聯(lián)網(wǎng)終端等)的數(shù)據(jù),并且用戶可以通過(guò)這些數(shù)據(jù)庫(kù)來(lái)進(jìn)行簡(jiǎn)單的查詢和處理工作。比如,電商會(huì)使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)MySQL和Oracle等來(lái)存儲(chǔ)每一筆事務(wù)數(shù)據(jù),除此之外,Redis和MongoDB這樣的NoSQL數(shù)據(jù)庫(kù)也常用于數(shù)據(jù)的采集。在大數(shù)據(jù)的采集過(guò)程中,其主要特點(diǎn)和挑戰(zhàn)是并發(fā)數(shù)高,因?yàn)橥瑫r(shí)有可能會(huì)有成千上萬(wàn)的用戶來(lái)進(jìn)行訪問(wèn)和操作,比如火車票售票網(wǎng)站和淘寶,它們并發(fā)的訪問(wèn)量在峰值時(shí)達(dá)到上百萬(wàn),所以需要在采集端部署大量數(shù)據(jù)庫(kù)才能支撐。并且如何在這些數(shù)據(jù)庫(kù)之間進(jìn)行負(fù)載均衡和分片,的確需要深入的思考和設(shè)計(jì)。1.2.2數(shù)據(jù)預(yù)處理大數(shù)據(jù)采集過(guò)程中通常有一個(gè)或多個(gè)數(shù)據(jù)源,這些數(shù)據(jù)源包括同構(gòu)或異構(gòu)的數(shù)據(jù)庫(kù)、文件系統(tǒng)、服務(wù)接口等,易受到噪聲數(shù)據(jù)、數(shù)據(jù)值缺失、數(shù)據(jù)沖突等影響,因此需首先對(duì)收集到的大數(shù)據(jù)集合進(jìn)行預(yù)處理,以保證大數(shù)據(jù)分析與預(yù)測(cè)結(jié)果的準(zhǔn)確性與價(jià)值性。大數(shù)據(jù)的預(yù)處理環(huán)節(jié)主要包括數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)歸約與數(shù)據(jù)轉(zhuǎn)換等內(nèi)容,可以大大提高大數(shù)據(jù)的總體質(zhì)量,是大數(shù)據(jù)過(guò)程質(zhì)量的體現(xiàn)。(1)數(shù)據(jù)清理包括對(duì)數(shù)據(jù)的不一致檢測(cè)、噪聲數(shù)據(jù)的識(shí)別、數(shù)據(jù)過(guò)濾與修正等方面,有利于提高大數(shù)據(jù)的一致性、準(zhǔn)確性、真實(shí)性和可用性等方面的質(zhì)量。(2)數(shù)據(jù)集成則是將多個(gè)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行集成,從而形成集中、統(tǒng)一的數(shù)據(jù)庫(kù)、數(shù)據(jù)立方體等,這一過(guò)程有利于提高大數(shù)據(jù)的完整性、一致性、安全性和可用性等方面的質(zhì)量。(3)數(shù)據(jù)歸約是在不損害分析結(jié)果準(zhǔn)確性的前提下降低數(shù)據(jù)集規(guī)模,使之簡(jiǎn)化,包括維歸約、數(shù)據(jù)歸約、數(shù)據(jù)抽樣等技術(shù),這一過(guò)程有利于提高大數(shù)據(jù)的價(jià)值密度,即提高大數(shù)據(jù)存儲(chǔ)的價(jià)值性。(4)數(shù)據(jù)轉(zhuǎn)換處理包括基于規(guī)則或元數(shù)據(jù)的轉(zhuǎn)換、基于模型與學(xué)習(xí)的轉(zhuǎn)換等技術(shù),可通過(guò)轉(zhuǎn)換實(shí)現(xiàn)數(shù)據(jù)統(tǒng)一,這一過(guò)程有利于提高大數(shù)據(jù)的一致性和可用性。總之,數(shù)據(jù)預(yù)處理環(huán)節(jié)有利于提高大數(shù)據(jù)的數(shù)據(jù)質(zhì)量,實(shí)現(xiàn)大數(shù)據(jù)的一致性、準(zhǔn)確性、真實(shí)性、可用性、完整性、安全性和價(jià)值性,而大數(shù)據(jù)預(yù)處理中的相關(guān)技術(shù)是影響大數(shù)據(jù)過(guò)程質(zhì)量的關(guān)鍵因素。1.2.3數(shù)據(jù)處理與分析1.數(shù)據(jù)處理大數(shù)據(jù)的分布式處理技術(shù)與存儲(chǔ)形式、業(yè)務(wù)數(shù)據(jù)類型等相關(guān),針對(duì)大數(shù)據(jù)處理的主要計(jì)算模型有MapReduce、分布式內(nèi)存計(jì)算系統(tǒng)、分布式流計(jì)算系統(tǒng)等。MapReduce是一個(gè)批處理的分布式計(jì)算框架,可對(duì)海量數(shù)據(jù)進(jìn)行并行分析與處理,它適合對(duì)各種結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的處理。分布式內(nèi)存計(jì)算系統(tǒng)可有效減少數(shù)據(jù)讀寫和移動(dòng)的開(kāi)銷,提高大數(shù)據(jù)處理性能。分布式流計(jì)算系統(tǒng)則是對(duì)數(shù)據(jù)流進(jìn)行實(shí)時(shí)處理,以保障大數(shù)據(jù)的時(shí)效性和價(jià)值性??傊?,無(wú)論哪種大數(shù)據(jù)分布式處理與計(jì)算系統(tǒng),都有利于提高大數(shù)據(jù)的價(jià)值性、可用性、時(shí)效性和準(zhǔn)確性。大數(shù)據(jù)的類型和存儲(chǔ)形式?jīng)Q定了其所采用的數(shù)據(jù)處理系統(tǒng),而數(shù)據(jù)處理系統(tǒng)的性能與優(yōu)劣直接影響大數(shù)據(jù)質(zhì)量的價(jià)值性、可用性、時(shí)效性和準(zhǔn)確性。因此在進(jìn)行大數(shù)據(jù)處理時(shí),要根據(jù)大數(shù)據(jù)類型選擇合適的存儲(chǔ)形式和數(shù)據(jù)處理系統(tǒng),以實(shí)現(xiàn)大數(shù)據(jù)質(zhì)量的最優(yōu)化。2.大數(shù)據(jù)分析大數(shù)據(jù)處理的核心就是對(duì)大數(shù)據(jù)進(jìn)行分析,只有通過(guò)分析才能獲取很多智能的、深入的、有價(jià)值的信息,越來(lái)越多的應(yīng)用涉及大數(shù)據(jù)。由于大數(shù)據(jù)的特點(diǎn),大數(shù)據(jù)的分析方法在大數(shù)據(jù)領(lǐng)域就顯得尤為重要。(1)機(jī)器學(xué)習(xí):機(jī)器學(xué)習(xí)(MachineLearning)是研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu),使之不斷改善自身的性能。(2)數(shù)據(jù)挖掘:數(shù)據(jù)挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的,人們事先不知道的,但又是潛在有用的信息和知識(shí)的過(guò)程。(3)模式識(shí)別:模式識(shí)別指對(duì)表征事物或現(xiàn)象的各種形式的信息進(jìn)行處理和分析,以對(duì)事物或現(xiàn)象進(jìn)行描述、辨認(rèn)、分類和解釋的過(guò)程,是信息科學(xué)和人工智能的重要組成部分。(4)統(tǒng)計(jì)分析:對(duì)于大數(shù)據(jù)的統(tǒng)計(jì)分析主要利用分布式數(shù)據(jù)庫(kù)或者分布式計(jì)算集群來(lái)對(duì)存儲(chǔ)于其內(nèi)的海量數(shù)據(jù)進(jìn)行普通的分析和分類匯總等,以滿足大多數(shù)常見(jiàn)的分析需求。(5)并行處理:大數(shù)據(jù)分析的三大挑戰(zhàn)是數(shù)據(jù)量的膨脹、數(shù)據(jù)深度分析需求的增長(zhǎng)和數(shù)據(jù)類型不斷的多樣化。大數(shù)據(jù)分析采用MapReduce等并行處理方式,將海量數(shù)據(jù)進(jìn)行分解并分布存儲(chǔ),由數(shù)據(jù)挖掘系統(tǒng)并行處理,然后將多個(gè)局部處理結(jié)構(gòu)合成最終的輸出模式,實(shí)現(xiàn)海量數(shù)據(jù)挖掘。1.2.4數(shù)據(jù)可視化與應(yīng)用1.數(shù)據(jù)可視化數(shù)據(jù)可視化是指將大數(shù)據(jù)分析與預(yù)測(cè)結(jié)果以計(jì)算機(jī)圖形或圖像的直觀方式顯示給用戶的過(guò)程,并可與用戶進(jìn)行交互式處理。數(shù)據(jù)可視化技術(shù)有利于發(fā)現(xiàn)大量業(yè)務(wù)數(shù)據(jù)中隱含的規(guī)律性信息,以支持管理決策。數(shù)據(jù)可視化環(huán)節(jié)可大大提高大數(shù)據(jù)分析結(jié)果的直觀性,便于用戶理解與使用,故數(shù)據(jù)可視化是影響大數(shù)據(jù)可用性和易于理解性質(zhì)量的關(guān)鍵因素。2.數(shù)據(jù)應(yīng)用大數(shù)據(jù)應(yīng)用是指將經(jīng)過(guò)分析處理后挖掘得到的大數(shù)據(jù)結(jié)果應(yīng)用于管理決策、戰(zhàn)略規(guī)劃等的過(guò)程,它是對(duì)大數(shù)據(jù)分析結(jié)果的檢驗(yàn)與驗(yàn)證,大數(shù)據(jù)應(yīng)用過(guò)程直接體現(xiàn)了大數(shù)據(jù)分析處理結(jié)果的價(jià)值性和可用性。大數(shù)據(jù)應(yīng)用對(duì)大數(shù)據(jù)的分析處理具有引導(dǎo)作用。在大數(shù)據(jù)收集、處理等一系列操作之前,通過(guò)對(duì)應(yīng)用情境的充分調(diào)研,對(duì)管理決策需求信息的深入分析,可明確大數(shù)據(jù)處理與分析的目標(biāo),從而為大數(shù)據(jù)收集、存儲(chǔ)、處理、分析等過(guò)程提供明確的方向,并保障大數(shù)據(jù)分析結(jié)果的可用性、價(jià)值性,滿足用戶的需求。近年來(lái),數(shù)據(jù)挖掘引起了信息產(chǎn)業(yè)界的極大關(guān)注,其主要原因是存在大量數(shù)據(jù),可以廣泛使用,并且迫切需要將這些數(shù)據(jù)轉(zhuǎn)換成有用的信息和知識(shí)。獲取的信息和知識(shí)可以廣泛用于各種應(yīng)用領(lǐng)域,包括商務(wù)管理、生產(chǎn)控制、市場(chǎng)分析、工程設(shè)計(jì)和科學(xué)探索等。本情境將對(duì)數(shù)據(jù)挖掘的概念、分類、預(yù)測(cè)、聚類分析、挖掘的工具分析進(jìn)行介紹和對(duì)外貿(mào)出口數(shù)據(jù)挖掘?qū)嵗M(jìn)行分析。2.1數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(DataMining)是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中提取隱含在其中人們事先不知道的,但又是潛在有用的信息和知識(shí)的過(guò)程。隨著信息技術(shù)的高速發(fā)展,人們積累的數(shù)據(jù)量急劇增長(zhǎng),動(dòng)額以TB計(jì),如何從海量的數(shù)據(jù)中提取有用的知識(shí)成為當(dāng)務(wù)之急,數(shù)據(jù)挖掘就是為順應(yīng)這種需要應(yīng)運(yùn)而生發(fā)展起來(lái)的數(shù)據(jù)處理技術(shù),是知識(shí)發(fā)現(xiàn)(KnowledgeDiscoveryinDatabase)的關(guān)鍵步驟。數(shù)據(jù)挖掘是目前人工智能和數(shù)據(jù)庫(kù)領(lǐng)域研究的熱點(diǎn)問(wèn)題,主要基于人工智能、機(jī)器學(xué)習(xí)、模式識(shí)別、統(tǒng)計(jì)學(xué)、數(shù)據(jù)庫(kù)、可視化技術(shù)等,高度自動(dòng)化地分析企業(yè)的數(shù)據(jù),做出歸納性的整理,從中挖掘出潛在的模式,從而幫助決策者調(diào)整市場(chǎng)策略,減少風(fēng)險(xiǎn)。數(shù)據(jù)挖掘是通過(guò)分析每個(gè)數(shù)據(jù),從大量數(shù)據(jù)中尋找其規(guī)律的技術(shù),主要有數(shù)據(jù)準(zhǔn)備、規(guī)律尋找和規(guī)律表示三個(gè)步驟。數(shù)據(jù)準(zhǔn)備是從相關(guān)的數(shù)據(jù)源中選取所需的數(shù)據(jù)并整合成用數(shù)據(jù)挖掘的數(shù)據(jù)集;規(guī)律尋找是用某種方法將數(shù)據(jù)集所含的規(guī)律找出來(lái);規(guī)律表示是盡可能以用戶可理解的方式(如可視化)將找出的規(guī)律表示出來(lái)。數(shù)據(jù)挖掘的任務(wù)有關(guān)聯(lián)分析、聚類分析、分類分析、異常分析、特異群組分析和演變分析等。2.2數(shù)據(jù)挖掘的任務(wù)數(shù)據(jù)挖掘的任務(wù)主要是關(guān)聯(lián)分析、聚類分析、分類、預(yù)測(cè)、時(shí)序模式和偏差分析等。1.關(guān)聯(lián)分析關(guān)聯(lián)規(guī)則挖掘是由RakeshApwal等人首先提出的。兩個(gè)或兩個(gè)以上變量的取值之間存在某種規(guī)律性,就稱為關(guān)聯(lián)。數(shù)據(jù)關(guān)聯(lián)是數(shù)據(jù)庫(kù)中存在的一類重要的、可被發(fā)現(xiàn)的知識(shí)。關(guān)聯(lián)分為簡(jiǎn)單關(guān)聯(lián)、時(shí)序關(guān)聯(lián)和因果關(guān)聯(lián)。關(guān)聯(lián)分析的目的是找出數(shù)據(jù)庫(kù)中隱藏的關(guān)聯(lián)網(wǎng)。一般用支持度和可信度兩個(gè)閾值來(lái)度量關(guān)聯(lián)規(guī)則的相關(guān)性,還不斷引入興趣度、相關(guān)性等參數(shù),使得所挖掘的規(guī)則更符合需求。2.聚類分析聚類分析是把數(shù)據(jù)按照相似性歸納成若干類別,同一類中的數(shù)據(jù)彼此相似,不同類中的數(shù)據(jù)相異。聚類分析可以建立宏觀的概念,發(fā)現(xiàn)數(shù)據(jù)的分布模式,以及可能的數(shù)據(jù)屬性之間的相互關(guān)系。3.分類分類就是找出一個(gè)類別的概念描述,它代表了這類數(shù)據(jù)的整體信息,即該類的內(nèi)涵描述,并用這種描述來(lái)構(gòu)造模型,一般用規(guī)則或決策樹(shù)模式表示。分類是利用訓(xùn)練數(shù)據(jù)集通過(guò)一定的算法而求得分類規(guī)則。分類可被用于規(guī)則描述和預(yù)測(cè)。4.預(yù)測(cè)預(yù)測(cè)是利用歷史數(shù)據(jù)找出變化規(guī)律,建立模型,并由此模型對(duì)未來(lái)數(shù)據(jù)的種類及特征進(jìn)行預(yù)測(cè)。預(yù)測(cè)關(guān)心的是精度和不確定性,通常用預(yù)測(cè)方差來(lái)度量。5.時(shí)序模式時(shí)序模式是指通過(guò)時(shí)間序列搜索出的重復(fù)發(fā)生概率較高的模式。與回歸一樣,它也是用已知的數(shù)據(jù)預(yù)測(cè)未來(lái)的值,但這些數(shù)據(jù)的區(qū)別是變量所處時(shí)間的不同。6.偏差分析在偏差中包括很多有用的知識(shí),數(shù)據(jù)庫(kù)中的數(shù)據(jù)存在很多異常情況,發(fā)現(xiàn)數(shù)據(jù)庫(kù)中數(shù)據(jù)存在的異常情況是非常重要的。偏差檢驗(yàn)的基本方法就是尋找觀察結(jié)果與參照物之間的差別。2.3數(shù)據(jù)挖掘的主要算法目前,數(shù)據(jù)挖掘的算法主要包括神經(jīng)網(wǎng)絡(luò)法、決策樹(shù)法、遺傳算法、粗糙集法、模糊集法、關(guān)聯(lián)規(guī)則法等。1.神經(jīng)網(wǎng)絡(luò)法神經(jīng)網(wǎng)絡(luò)法是模擬生物神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能,是一種通過(guò)訓(xùn)練來(lái)學(xué)習(xí)的非線性預(yù)測(cè)模型,它將每一個(gè)連接看作一個(gè)處理單元,試圖模擬人腦神經(jīng)元的功能,可完成分類、聚類、特征挖掘等多種任務(wù),神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法主要表現(xiàn)在權(quán)值的修改上。神經(jīng)網(wǎng)絡(luò)法主要應(yīng)用于數(shù)據(jù)挖掘的聚類技術(shù)中。其優(yōu)點(diǎn)是具有抗干擾、非線性學(xué)習(xí)、聯(lián)想記憶功能,對(duì)復(fù)雜情況能得到精確的預(yù)測(cè)結(jié)果;缺點(diǎn)是不適合處理高維變量,不能觀察中間的學(xué)習(xí)過(guò)程,具有“黑箱”性,輸出結(jié)果也難以解釋,學(xué)習(xí)時(shí)間較長(zhǎng)。2.決策樹(shù)法決策樹(shù)是根據(jù)對(duì)目標(biāo)變量產(chǎn)生效用的不同而建構(gòu)分類的規(guī)則,通過(guò)一系列的規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過(guò)程,其表現(xiàn)形式是類似于樹(shù)形結(jié)構(gòu)的流程圖。最典型的算法是J.R.Quinlan于1986年提出的ID3算法,之后在ID3算法的基礎(chǔ)上又提出了C4.5算法。采用決策樹(shù)法的優(yōu)點(diǎn)是決策制定的過(guò)程是可見(jiàn)的,不需要長(zhǎng)時(shí)間構(gòu)造過(guò)程,描述簡(jiǎn)單、易于理解、分類速度快;缺點(diǎn)是很難基于多個(gè)變量組合發(fā)現(xiàn)規(guī)則。決策樹(shù)法擅長(zhǎng)處理非數(shù)值型數(shù)據(jù),而且特別適合大規(guī)模的數(shù)據(jù)處理。決策樹(shù)提供了一種展示類似在什么條件下會(huì)得到什么值這類規(guī)則的方法。比如,在貸款申請(qǐng)中,要對(duì)申請(qǐng)的風(fēng)險(xiǎn)大小作出判斷。3.遺傳算法遺傳算法模擬了自然選擇和遺傳中發(fā)生的繁殖、交配和基因突變現(xiàn)象,是一種采用遺傳結(jié)合、遺傳交叉變異及自然選擇等操作來(lái)生成實(shí)現(xiàn)規(guī)則的,基于進(jìn)化理論的機(jī)器學(xué)習(xí)方法。它的基本觀點(diǎn)是“適者生存”原理,具有隱含并行性、易于和其他模型結(jié)合等性質(zhì)。主要的優(yōu)點(diǎn)是可以處理許多數(shù)據(jù)類型,同時(shí)可以并行處理各種數(shù)據(jù);缺點(diǎn)是需要的參數(shù)太多,編碼困難,一般計(jì)算量比較大。遺傳算法常用于優(yōu)化神經(jīng)元網(wǎng)絡(luò),能夠解決其他技術(shù)難以解決的問(wèn)題。4.粗糙集法粗糙集法也稱粗糙集理論,是由波蘭數(shù)學(xué)家Z.Pawlak在20世紀(jì)80年代初提出的,是一種新的處理含糊、不精確、不完備問(wèn)題的數(shù)學(xué)工具,可以處理數(shù)據(jù)約簡(jiǎn)、數(shù)據(jù)相關(guān)性發(fā)現(xiàn)、數(shù)據(jù)意義的評(píng)估等問(wèn)題。其優(yōu)點(diǎn)是算法簡(jiǎn)單,在其處理過(guò)程中可以不需要關(guān)于數(shù)據(jù)的先驗(yàn)知識(shí),可以自動(dòng)找出問(wèn)題的內(nèi)在規(guī)律;缺點(diǎn)是難以直接處理連續(xù)的屬性,需先進(jìn)行屬性的離散化。因此,連續(xù)屬性的離散化問(wèn)題是制約粗糙集理論實(shí)用化的難點(diǎn)。粗糙集理論主要應(yīng)用于近似推理、數(shù)字邏輯分析和化簡(jiǎn)、建立預(yù)測(cè)模型等問(wèn)題。5.模糊集法模糊集法是利用模糊集合理論對(duì)問(wèn)題進(jìn)行模糊評(píng)判、模糊決策、模糊模式識(shí)別和模糊聚類分析。模糊集合理論是用隸屬度來(lái)描述模糊事物的屬性。系統(tǒng)的復(fù)雜性越高,模糊性就越強(qiáng)。6.關(guān)聯(lián)規(guī)則法關(guān)聯(lián)規(guī)則反映了事物之間的相互依賴性或關(guān)聯(lián)性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出頻繁性至少和預(yù)定意義的最小支持度一樣的所有頻集,然后由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。最小支持度和最小可信度是為了發(fā)現(xiàn)有意義的關(guān)聯(lián)規(guī)則給定的兩個(gè)閾值。在這個(gè)意義上,數(shù)據(jù)挖掘的目的就是從源數(shù)據(jù)庫(kù)中挖掘出滿足最小支持度和最小可信度的關(guān)聯(lián)規(guī)則。2.4數(shù)據(jù)挖掘的流程在實(shí)施數(shù)據(jù)挖掘之前,先制定采取什么樣的步驟,每一步都做什么,達(dá)到什么樣的目標(biāo)是必要的,有了好的計(jì)劃才能保證數(shù)據(jù)挖掘有條不紊地實(shí)施并取得成功。很多軟件供應(yīng)商和數(shù)據(jù)挖掘顧問(wèn)公司提供了一些數(shù)據(jù)挖掘過(guò)程模型,來(lái)指導(dǎo)他們的用戶進(jìn)行數(shù)據(jù)挖掘工作。建立數(shù)據(jù)挖掘過(guò)程模型的步驟主要包括定義問(wèn)題、建立數(shù)據(jù)挖掘庫(kù)、分析數(shù)據(jù)、準(zhǔn)備數(shù)據(jù)、建立模型、評(píng)價(jià)模型和實(shí)施。3、Python數(shù)據(jù)挖掘Python語(yǔ)言具有易學(xué)易用、強(qiáng)大的第三方庫(kù)支持等特點(diǎn),被廣泛應(yīng)用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)領(lǐng)域。數(shù)據(jù)挖掘是指從大量數(shù)據(jù)中提取有效信息的過(guò)程,包括數(shù)據(jù)預(yù)處理、特征選擇、模型選擇和評(píng)估等環(huán)節(jié)。Python中的數(shù)據(jù)挖掘庫(kù)主要有以下幾個(gè):(1)NumPy:用于科學(xué)計(jì)算和數(shù)學(xué)操作,提供多維數(shù)組對(duì)象和一些便捷的函數(shù)操作。(2)Pandas:用于數(shù)據(jù)分析和處理,提供豐富的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作方法。(3)Matplotlib:用于數(shù)據(jù)可視化,提供各種繪圖函數(shù)和樣式設(shè)置。(4)Scikit-learn:用于機(jī)器學(xué)習(xí),提供各種監(jiān)督/非監(jiān)督/半監(jiān)督的學(xué)習(xí)算法,包括分類、回歸、聚類等。機(jī)器學(xué)習(xí)是基于數(shù)據(jù)構(gòu)建模型并進(jìn)行預(yù)測(cè)或分類的過(guò)程。Python中的機(jī)器學(xué)習(xí)庫(kù)相較于數(shù)據(jù)挖掘庫(kù)更加強(qiáng)調(diào)算法的實(shí)現(xiàn)和模型的優(yōu)化,主要有以下幾個(gè):(1)TensorFlow:由Google開(kāi)發(fā)的機(jī)器學(xué)習(xí)框架,提供各種深度學(xué)習(xí)算法的實(shí)現(xiàn)和優(yōu)化,包括神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等。(2)Keras:基于TensorFlow或Theano開(kāi)發(fā)的高層次神經(jīng)網(wǎng)絡(luò)庫(kù),封裝了各種神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)和訓(xùn)練操作。(3)PyTorch:由Facebook開(kāi)發(fā)的機(jī)器學(xué)習(xí)框架,提供各種深度學(xué)習(xí)算法的實(shí)現(xiàn)和優(yōu)化,具有動(dòng)態(tài)計(jì)算圖和易變性等特點(diǎn)。(4)Scikit-learn:雖然是數(shù)據(jù)挖掘庫(kù),但也提供了許多常見(jiàn)的機(jī)器學(xué)習(xí)算法,如決策樹(shù)、支持向量機(jī)、樸素貝葉斯等。綜上所述,Python的數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)生態(tài)系統(tǒng)非常完善,提供了豐富的工具和庫(kù)支持,為數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師提供了便利。Python可以用于不同類型的數(shù)據(jù)挖掘任務(wù),例如:數(shù)據(jù)預(yù)處理:Python可以用于數(shù)據(jù)處理、轉(zhuǎn)換和清洗,例如數(shù)據(jù)過(guò)濾、去重、缺失值填充等。探索性數(shù)據(jù)分析:Python可以用于生成可視化圖形和摘要統(tǒng)計(jì)信息,以幫助分析數(shù)據(jù)集的特征并發(fā)現(xiàn)潛在的關(guān)系和趨勢(shì)。監(jiān)督式學(xué)習(xí):Python可以用于建立和優(yōu)化監(jiān)督式模型來(lái)進(jìn)行分類、回歸和預(yù)測(cè)任務(wù)。無(wú)監(jiān)督式學(xué)習(xí):Python可以用于進(jìn)行聚類和降維操作,以便于發(fā)現(xiàn)和理解數(shù)據(jù)集中隱藏的信息和模式。任務(wù)分析及實(shí)現(xiàn)(75mins)4、求職信息分析任務(wù)4.1研究?jī)?nèi)容及方法本項(xiàng)目以分析電子商務(wù)類人才為例,通過(guò)對(duì)招聘網(wǎng)站電子商務(wù)人才職位信息進(jìn)行數(shù)據(jù)入庫(kù)、數(shù)據(jù)清理、數(shù)據(jù)預(yù)處理、相關(guān)數(shù)據(jù)分析、結(jié)巴分詞、數(shù)據(jù)可視化、崗位薪資預(yù)測(cè)及LDA主題文本相似度模型建立等操作,完成整體項(xiàng)目的開(kāi)發(fā)工作。具體包含:(1)通過(guò)調(diào)用python中的pandas庫(kù)對(duì)數(shù)據(jù)進(jìn)行入庫(kù)處理,調(diào)用其中的各種函數(shù)對(duì)數(shù)據(jù)進(jìn)行去重、去空等操作,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理操作,方便后期建立模型。(2)通過(guò)調(diào)用pyecharts對(duì)各個(gè)特征和薪資的關(guān)系進(jìn)行數(shù)據(jù)可視化分析、對(duì)招聘職位信息進(jìn)行探索分析、使用jieba對(duì)崗位描述進(jìn)行中文分詞并查找其中的差別。(3)對(duì)和薪資有關(guān)的數(shù)據(jù)進(jìn)行特征降維、數(shù)據(jù)標(biāo)準(zhǔn)化等操作,將70%的數(shù)據(jù)集劃分為訓(xùn)練集,剩下的30%劃分為測(cè)試集,調(diào)用隨機(jī)森林、xgboost、lightGBM等算法對(duì)其進(jìn)行訓(xùn)練,然后觀察其RMSE分?jǐn)?shù)、R2評(píng)分,確定最優(yōu)模型并抽取其中一些數(shù)據(jù)作為測(cè)試集對(duì)崗位薪資進(jìn)行預(yù)測(cè)。(4)在TF-IDF的基礎(chǔ)上建立職位LDA模型對(duì)求職者的能力進(jìn)行相似度的計(jì)算,并輸出LDA主題模型的可視化分析結(jié)果。4.2算法及模型4.2.1lightGBM回歸算法LightGBM(LightGradientBoostingMachine)是一個(gè)梯度boosting框架,是基于決策樹(shù)算法的分布式梯度提升框架。LightGBM相較于xgboost,它擁有更快的訓(xùn)練效率,更高的準(zhǔn)確率,支持并行化學(xué)習(xí),占用更少的內(nèi)存,還能夠處理大規(guī)模數(shù)據(jù)。Xgboost采用了預(yù)排序方法(pre-sorted),這種方法既要保留數(shù)據(jù)的特征值,又要保留特征的排序結(jié)果,占用空間很大,而且每次經(jīng)過(guò)分割點(diǎn)都要進(jìn)行分解運(yùn)算,耗費(fèi)的資源實(shí)在是太多了。而lightGBM使用了直方圖算法如圖6-1所示,將特征值轉(zhuǎn)化為了bin值,且不需要存儲(chǔ)特征到樣本的索引,極大地節(jié)省了運(yùn)行內(nèi)存,在訓(xùn)練過(guò)程中采用了互斥特征捆綁算法和單邊梯度算法,對(duì)數(shù)據(jù)特征進(jìn)行剪枝,減少了大規(guī)模的計(jì)算。它使用了帶有深度限制的按葉子生長(zhǎng)(leaf-wise)算法,拋棄了傳統(tǒng)的按層生長(zhǎng)(level-wise)算法,以這種算法構(gòu)建的決策樹(shù)減少了很多不必要的計(jì)算量。4.2.2LDA主題模型LDA模型是一種可以將文檔數(shù)據(jù)集中的每篇文章的主題以概率分布形式給出的主題模型,再通過(guò)這個(gè)主題分布進(jìn)行主題聚類或者文本分類,這樣就相當(dāng)于抽出了每篇文章的主旨。這也是一種典型的“詞包”模式,即一篇文章是由一系列單詞組成的,它們之間沒(méi)有一定的順序,因此,在抽取文本的隱性主題時(shí),往往會(huì)忽視其語(yǔ)法結(jié)構(gòu)和詞匯的先后次序。LDA有三層生成式貝葉斯網(wǎng)絡(luò)結(jié)構(gòu),包含了單詞,文檔和文檔整體三者之間的概率分布關(guān)系,其結(jié)構(gòu)依次是文檔層、主題層和特征詞層,其網(wǎng)絡(luò)結(jié)構(gòu)如圖6-2所示。LDA主題模型建立的核心公式如下:P(w|d)=P(w|t)*P(t|d)直觀地去看以上公式,就是將Topic作為中間層,可以通過(guò)當(dāng)前的θd和φt給出了文檔d中出現(xiàn)單詞w的概率。其中P(t|d)利用θd計(jì)算得到,P(w|t)利用φt計(jì)算得到。由于文本的主題分布是文本向量空間的簡(jiǎn)單映射,所以我們只需對(duì)LDA模型文本進(jìn)行向量化,然后就可以比對(duì)他們的相似度,計(jì)算并輸出相似的文本結(jié)果和相似度。本文選取的數(shù)據(jù)集結(jié)構(gòu)主要分成兩個(gè)部分:結(jié)構(gòu)化數(shù)據(jù)和文本數(shù)據(jù),其中結(jié)構(gòu)化數(shù)據(jù)主要包括公司性質(zhì)、公司行業(yè)、工作類別、薪資、公司規(guī)模、工作地址、招聘人數(shù)、工作經(jīng)驗(yàn)、學(xué)歷要求等。文本數(shù)據(jù)主要包括公司能力需求與公司名稱。由于一些企業(yè)在發(fā)布招聘信息的時(shí)候不嚴(yán)謹(jǐn),為了快速達(dá)到招聘發(fā)布而大規(guī)模重復(fù)發(fā)布或者少填漏填信息,導(dǎo)致數(shù)據(jù)集中有許多重復(fù)值已經(jīng)缺失值,所以我們要對(duì)數(shù)據(jù)集進(jìn)行去除重復(fù)值和缺失值的操作。其中duplicated函數(shù)的作用是去遍歷數(shù)據(jù)并尋找出其中重復(fù)數(shù)據(jù)的行,isnull函數(shù)就是查找出字典中的所有缺失值,再用sum函數(shù)將其統(tǒng)計(jì)出來(lái),最后將重復(fù)或含有缺失值的行進(jìn)行刪除。4.3數(shù)據(jù)加工與訓(xùn)練模型數(shù)據(jù)加工是指融合多源海量的數(shù)據(jù),并將其轉(zhuǎn)化為可被操作的智能數(shù)據(jù)的過(guò)程。具體地說(shuō),是處理來(lái)自單個(gè)和多個(gè)數(shù)據(jù)源的數(shù)據(jù)或數(shù)據(jù)組合,以及數(shù)據(jù)間關(guān)系,實(shí)現(xiàn)精確定位和特性預(yù)估,并完成對(duì)危險(xiǎn)態(tài)勢(shì)和重要性的及時(shí)評(píng)估的過(guò)程。數(shù)據(jù)加工集成了多個(gè)數(shù)據(jù)源以產(chǎn)生比任何單個(gè)數(shù)據(jù)源提供的信息更一致、更準(zhǔn)確和更有用的信息,其特點(diǎn)是根據(jù)任務(wù)需求增加搜集的數(shù)據(jù)源,并且通過(guò)不斷地預(yù)估和評(píng)價(jià)算法,修正數(shù)據(jù)加工過(guò)程,以達(dá)到更好的結(jié)果。設(shè)訓(xùn)練數(shù)據(jù)集為D,表示其樣本容量,設(shè)有j個(gè)類,,為屬于類的樣本個(gè)數(shù),。設(shè)特征A有n個(gè)不同的取值,根據(jù)特征A的取值將D劃分為n個(gè)子集,為的樣本個(gè)數(shù),。記子集中屬于的樣本的集合為,即,為的樣本個(gè)數(shù),于是信息增益的算法如下:輸入:所需要的訓(xùn)練數(shù)據(jù)集D和表示特征屬性A:輸出:特征A對(duì)訓(xùn)練數(shù)據(jù)集D的信息增益。計(jì)算數(shù)據(jù)集D的經(jīng)驗(yàn)熵計(jì)算特征A對(duì)數(shù)據(jù)集D的經(jīng)驗(yàn)條件熵計(jì)算信息增益提高樹(shù)的深度可以得到更確切的模型,而這與預(yù)期的內(nèi)生動(dòng)力模型圖大致相同,同時(shí)模型的復(fù)雜度隨著決策樹(shù)的深度會(huì)越來(lái)越復(fù)雜。但是樹(shù)的深度對(duì)模型訓(xùn)練的精確度也有一定的影響,樹(shù)的深度越大,其擬合程度越嚴(yán)重,即會(huì)產(chǎn)生較多的影響。在使用k-means算法聚類時(shí),k值的選擇十分重要,肘部法則和輪廓系數(shù)可以方便我們選擇出最佳的k值。并基于以下方法實(shí)現(xiàn):(1)對(duì)所獲特征進(jìn)行篩選。對(duì)特征值進(jìn)行分類,聯(lián)系目標(biāo)值的相關(guān)程度將其分為有效特征值與無(wú)效特征值。過(guò)多的特征值參與訓(xùn)練容易出現(xiàn)多維災(zāi)難的問(wèn)題,且會(huì)降低代碼的運(yùn)行速率及模型過(guò)擬合的缺陷,故此步是關(guān)鍵。采用Filter過(guò)濾法對(duì)現(xiàn)有特征值進(jìn)行逐步篩選,過(guò)濾無(wú)關(guān)特征值及冗余特征值,并留存有效相關(guān)特征值以對(duì)模型進(jìn)行更好的準(zhǔn)確度提升訓(xùn)練。(2)對(duì)提取特征后的數(shù)據(jù)進(jìn)行算法建模。對(duì)于所選數(shù)據(jù)集有目標(biāo)類別的二分類特征,故選用貝葉斯模型進(jìn)行構(gòu)建與預(yù)測(cè)。先對(duì)所用數(shù)據(jù)集做標(biāo)簽值與特征值的分類處理,并按相關(guān)比例進(jìn)行訓(xùn)練集和測(cè)試集的劃分,之后構(gòu)建貝葉斯模型將訓(xùn)練集進(jìn)行模型訓(xùn)練,對(duì)模型進(jìn)行準(zhǔn)確度的測(cè)試并進(jìn)行驗(yàn)證,得出最終預(yù)測(cè)數(shù)據(jù)。4.4數(shù)據(jù)分析與預(yù)測(cè)通過(guò)數(shù)據(jù)統(tǒng)計(jì)和挖掘反映出了發(fā)布大數(shù)據(jù)崗位招聘的數(shù)量在不同大城市當(dāng)中的具體占比,通過(guò)圖6-3可以看出,招聘崗位主要集中在北京、上海、廣州、浙江四個(gè)城市,說(shuō)明電子商務(wù)崗位在這些城市有很好的發(fā)展前景,工作薪酬較高,但是通過(guò)觀察圖6-4可以發(fā)現(xiàn)不僅以上四個(gè)地區(qū)的平均薪資較高還有福建、江蘇等地區(qū)也有較為可觀的薪資水準(zhǔn),所以求職者也可以考慮去這些地區(qū)謀求發(fā)展。通過(guò)對(duì)薪資數(shù)據(jù)進(jìn)行區(qū)間劃分,得到下列分類并對(duì)各分類的數(shù)量進(jìn)行統(tǒng)計(jì),以便觀察電子商務(wù)崗位的平均薪資如何,如6-5所示。我們可以看出薪酬在5000以下的崗位較多,說(shuō)明社會(huì)需要許多廉價(jià)勞動(dòng)力去完成一些相關(guān)事務(wù),但高薪酬的高水平技術(shù)的工作崗位仍有許多空缺,需要大規(guī)模人才去補(bǔ)充。高水平、對(duì)自己有要求的求職者往往希望得到一份薪資較高的比較符合自己能力的工作崗位,所以本文統(tǒng)計(jì)了工作薪酬最高的前20個(gè)崗位,來(lái)幫助想要獲得高薪工作的求職者指明道路,如圖6-6所示。薪酬較高的工作大多數(shù)都是企業(yè)主管、企業(yè)核心技術(shù)工程師、軟件開(kāi)發(fā)工程師、總經(jīng)理這樣的職位,這些職位需要應(yīng)聘人員有大規(guī)模的工作經(jīng)驗(yàn)和相應(yīng)的技術(shù)水平。不止工作崗位地區(qū)、崗位類別對(duì)薪資有影響,不同性質(zhì)的企業(yè)之間的薪資水平也存在差異,本文通過(guò)對(duì)不同性質(zhì)的企業(yè)數(shù)量和平均薪資進(jìn)行了統(tǒng)計(jì),得到了6-7和6-8。通過(guò)兩張圖我們可以發(fā)現(xiàn),社會(huì)企業(yè)的主體為民營(yíng)企業(yè),但是民營(yíng)企業(yè)的平均薪資卻相對(duì)較低,合資企業(yè)的平均薪酬處于較高水準(zhǔn),不過(guò)其他性質(zhì)的企業(yè)間平均薪資倒也相差不多,所以求職者可以嘗試著去自己喜歡的性質(zhì)的企業(yè)去謀求崗位。通過(guò)統(tǒng)計(jì)公司行業(yè)類別可以看出社會(huì)上哪些行業(yè)的職位有空缺,有了這些數(shù)據(jù)可以使得高校有針對(duì)性地培養(yǎng)相關(guān)人才,還可以影響求職者的選擇,通過(guò)6-9可以看出需求量最大的是互聯(lián)網(wǎng)/電子商務(wù)類的相關(guān)崗位,遠(yuǎn)多于其他崗位,有關(guān)于互聯(lián)網(wǎng)/電子商務(wù)方面的人員需求依舊有很大的空缺,而且通過(guò)6-10可以看出互聯(lián)網(wǎng)/電子商務(wù)相關(guān)崗位的平均薪資在10000左右,也是非??捎^的,所以各個(gè)高校可以著力于培養(yǎng)相關(guān)專業(yè)人才以應(yīng)對(duì)社會(huì)上的人才需求,緩解當(dāng)代大學(xué)畢業(yè)生就業(yè)困難的問(wèn)題,求職者也可以通過(guò)學(xué)習(xí)相關(guān)知識(shí)進(jìn)行轉(zhuǎn)型。在現(xiàn)實(shí)生活中,崗位薪資還與求職者的學(xué)歷和工作經(jīng)驗(yàn)有密切的聯(lián)系。求職者的學(xué)歷越高或者工作經(jīng)驗(yàn)越豐富,那么相應(yīng)需求的崗位薪資也越豐厚。如圖6-11和圖6-12所示,我們可以發(fā)現(xiàn)此次實(shí)驗(yàn)所用的招聘數(shù)據(jù)集中的學(xué)歷要求大多為大專或不限,工作經(jīng)驗(yàn)要求不限的居多,可以說(shuō)明社會(huì)中極其缺少基層工作人員,學(xué)歷要求越高或工作經(jīng)驗(yàn)越豐富的工作薪資越高。而且通過(guò)圖6-13和圖6-14我們可以發(fā)現(xiàn)10年以上工作經(jīng)驗(yàn)的平均薪資要比博士的平均薪資要高,這說(shuō)明工作經(jīng)驗(yàn)是否豐厚要比學(xué)歷高低對(duì)薪資的影響力更大。除了以上因素對(duì)崗位薪資有影響,公司規(guī)模和工作的發(fā)布時(shí)間也與崗位的薪資有關(guān)。通過(guò)圖6-15和6-16我們可以發(fā)現(xiàn)一般來(lái)說(shuō)公司的規(guī)模越大,崗位的薪資越高,工作發(fā)布的年份該項(xiàng)行業(yè)正在蓬勃發(fā)展,崗位的薪資越高,反之崗位的薪資越低。通過(guò)下圖我們可以看出公司規(guī)模在20-99人、500-999人、1000-9999人時(shí)的平均薪資較高,在2017年發(fā)布的工作的平均崗位薪資較高,說(shuō)明2017年時(shí)社會(huì)經(jīng)濟(jì)發(fā)展較好,各行業(yè)經(jīng)濟(jì)景氣,也可以看出公司規(guī)模對(duì)崗位薪資有一定的影響。通過(guò)對(duì)高薪崗位和低薪崗位的能力需求進(jìn)行分詞,然后輸出可視化結(jié)果,觀察其中的關(guān)鍵詞變化,來(lái)分辨高薪和低薪崗位的差別,以便求職者更有針對(duì)性地提升自己,獲取更高的薪資報(bào)酬。通過(guò)詞云圖可以發(fā)現(xiàn)薪資高于10000的崗位能力需要的是完成工程、作為經(jīng)理、管理者一類的需要豐富經(jīng)驗(yàn)和較高學(xué)歷水平的人才如圖6-18所示,而薪資低于10000的崗位主要負(fù)責(zé)運(yùn)營(yíng)管理和客戶對(duì)接等基礎(chǔ)工作如圖6-17所示。項(xiàng)目拓展(80mins)由此可見(jiàn),工作崗位地區(qū)、學(xué)歷、工作經(jīng)驗(yàn)、公司規(guī)模等因素都對(duì)薪資水平有一定的影響,這也符合前文提出的這些因素都對(duì)薪資有影響,而且不同的因素對(duì)薪資高低的影響不同。根據(jù)對(duì)招聘網(wǎng)站信息的分析,可以得到如下啟示:(1)求職者在瀏覽招聘信息時(shí)第一關(guān)注的崗位的薪資狀況,當(dāng)看到心儀的薪資后再去查看該崗位招聘人員的具體需求,當(dāng)遇到無(wú)法給定薪資的崗位時(shí),求職者無(wú)法清晰地判斷出該崗位的真實(shí)薪資區(qū)間。通過(guò)對(duì)招聘信息中的崗位能力需求進(jìn)行文本相似度分析,推薦相似崗位的名稱及薪資狀況,幫助求職者明確崗位薪資狀況是否符合自身期望。(2)由于招聘網(wǎng)站的審查制度存在漏洞,導(dǎo)致了大規(guī)模虛假的招聘信息流入,其中有許多詐騙團(tuán)伙捏造的高薪低要求。通過(guò)數(shù)據(jù)處理,回歸模型訓(xùn)練預(yù)測(cè)出擁有相關(guān)特征的薪資,來(lái)幫助求職者分辨真假招聘信息,避免求職者自身利益受到損害。(3)關(guān)于中小型企業(yè)無(wú)法合理給定相關(guān)崗位的薪資從而導(dǎo)致人才流失。通過(guò)崗位薪資的預(yù)測(cè),可以幫助企業(yè)了解市場(chǎng)相關(guān)崗位的薪資狀況,從而幫助企業(yè)設(shè)定合理的薪資,吸引相關(guān)人才,提高企業(yè)招聘效率。如今我國(guó)已經(jīng)進(jìn)入了大數(shù)據(jù)時(shí)代,不論任何行業(yè)或企業(yè)都會(huì)有與之對(duì)應(yīng)的大數(shù)據(jù)分析。大數(shù)據(jù)分析的出現(xiàn)不僅能讓人們的生活更便利,也可以指導(dǎo)人們的投資、企業(yè)的營(yíng)銷和應(yīng)聘者求職。大數(shù)據(jù)技術(shù)作為互聯(lián)網(wǎng)產(chǎn)業(yè)的核心技術(shù)之一,將在產(chǎn)業(yè)互聯(lián)網(wǎng)賦能傳統(tǒng)行業(yè)的過(guò)程中發(fā)揮重要的作用。課后項(xiàng)目實(shí)戰(zhàn)***********學(xué)院教案課程名稱:程序設(shè)計(jì)基礎(chǔ)(Python)授課班級(jí):****************************************授課時(shí)間:***********學(xué)年第1學(xué)期第1周至第2周共16周總學(xué)時(shí)64-96周學(xué)時(shí)4-6任課教師:***************教案1選學(xué)內(nèi)容——Python編程基礎(chǔ)一、教學(xué)設(shè)計(jì)課程名稱數(shù)據(jù)分析授課班級(jí)大數(shù)據(jù)2201、2202軟件2201、2202、2203、2204授課時(shí)數(shù)6學(xué)時(shí)授課人數(shù)人授課地點(diǎn)1304、1306授課方式教學(xué)做一體學(xué)習(xí)項(xiàng)目選學(xué)內(nèi)容——Python編程基礎(chǔ)所選教材《Python數(shù)據(jù)分析與可視化實(shí)戰(zhàn)》教學(xué)內(nèi)容Python編程基礎(chǔ)教學(xué)目標(biāo)素質(zhì)目標(biāo)理解Python的基本結(jié)構(gòu)和特點(diǎn)。掌握Python的基本語(yǔ)法,如變量命名規(guī)則、數(shù)據(jù)類型、運(yùn)算符、條件語(yǔ)句、循環(huán)語(yǔ)句等。理解序列數(shù)據(jù)結(jié)構(gòu)的概念,包括字符串、列表和集合的定義和用法。知識(shí)目標(biāo)能夠獨(dú)立編寫簡(jiǎn)單的Python程序,實(shí)現(xiàn)基本的輸入、處理和輸出功能。能夠運(yùn)用條件語(yǔ)句和循環(huán)語(yǔ)句解決問(wèn)題,實(shí)現(xiàn)程序的流程控制。能夠使用序列數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)的存儲(chǔ)、操作和處理。能力目標(biāo)培養(yǎng)邏輯思維能力,能夠?qū)?shí)際問(wèn)題轉(zhuǎn)化為計(jì)算機(jī)程序?qū)崿F(xiàn)的思路。培養(yǎng)問(wèn)題解決能力,能夠通過(guò)編寫程序解決實(shí)際問(wèn)題。培養(yǎng)代碼書寫規(guī)范和良好的編程習(xí)慣,提高代碼可讀性和可維護(hù)性。4、培養(yǎng)自學(xué)能力和團(tuán)隊(duì)協(xié)作能力,能夠主動(dòng)學(xué)習(xí)和探索新的知識(shí),并與他人合作完成編程任務(wù)。教學(xué)重難點(diǎn)重點(diǎn)難點(diǎn)教學(xué)方法教法任務(wù)驅(qū)動(dòng)教法、情景化教法、差異化教法、討論式教法學(xué)法自主式學(xué)習(xí)、協(xié)作式學(xué)習(xí)、體驗(yàn)式學(xué)習(xí)、探究式學(xué)習(xí)教學(xué)設(shè)計(jì)思路及知識(shí)導(dǎo)圖教學(xué)實(shí)施教學(xué)環(huán)節(jié)時(shí)間分配教學(xué)內(nèi)容及時(shí)間分配教學(xué)平臺(tái)資源課前課前導(dǎo)學(xué)1.完成課前學(xué)習(xí)問(wèn)卷調(diào)查;2.觀看視頻;3.課前自學(xué)測(cè)試及問(wèn)卷;課中項(xiàng)目介紹(5mins)Python是一種高級(jí)編程語(yǔ)言,具有簡(jiǎn)單、易讀、易學(xué)的特點(diǎn)。Python支持多種編程范式,如面向?qū)ο缶幊?、函?shù)式編程和命令式編程等,使得開(kāi)發(fā)者有更大的自由度和靈活性。它被廣泛應(yīng)用于數(shù)據(jù)分析、科學(xué)計(jì)算、機(jī)器學(xué)習(xí)、Web開(kāi)發(fā)等領(lǐng)域,因?yàn)樗鼡碛袕?qiáng)大的庫(kù)和工具,使得編寫代碼變得更加高效和便捷。項(xiàng)目七系統(tǒng)地介紹了Python編程基礎(chǔ),包括Python的基本語(yǔ)法、變量、數(shù)據(jù)類型、運(yùn)算符、流程控制、函數(shù)、基本結(jié)構(gòu)等知識(shí)點(diǎn)。通過(guò)學(xué)習(xí)這些內(nèi)容,掌握基本的Python編程技能,更好地學(xué)習(xí)Python數(shù)據(jù)分析與可視化,并能夠應(yīng)用Python解決實(shí)際問(wèn)題,為進(jìn)一步深入學(xué)習(xí)和應(yīng)用Python打下堅(jiān)實(shí)的基礎(chǔ)。知識(shí)講解基礎(chǔ)知識(shí)1.1計(jì)算機(jī)程序和基本結(jié)構(gòu)計(jì)算機(jī)程序是一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令,是對(duì)計(jì)算任務(wù)的處理對(duì)象和處理規(guī)則的描述。它以某些程序設(shè)計(jì)語(yǔ)言編寫,運(yùn)行于某種目標(biāo)結(jié)構(gòu)體系上。簡(jiǎn)單的說(shuō)程序是一個(gè)指令序列,根據(jù)用戶使用的編程語(yǔ)言的不同,而采用不同的方式進(jìn)行編寫。程序設(shè)計(jì)是設(shè)計(jì)和構(gòu)建可執(zhí)行的程序以完成特定計(jì)算結(jié)果的過(guò)程,是軟件構(gòu)造活動(dòng)的重要組成部分,一般包含分析、設(shè)計(jì)、編碼、調(diào)試、測(cè)試等階段。熟悉和掌握程序設(shè)計(jì)的基礎(chǔ)知識(shí),是在現(xiàn)代信息社會(huì)中生存和發(fā)展的基本技能之一。1.2計(jì)算機(jī)程序和基本結(jié)構(gòu)在程序執(zhí)行的過(guò)程中,其值不發(fā)生改變的量稱為常量。常量分為直接常量和符號(hào)常量。直接常量(字面常量)包括以下幾種:(1)整數(shù)常量:6、0、-6(2)實(shí)型常量:6.8、-5.18(3)字符常量:‘x’、‘y’符號(hào)常量是指用標(biāo)識(shí)符代表一個(gè)常量。需要注意的是,Python沒(méi)有真正意義上的符號(hào)常量,但有的時(shí)候需要用到符號(hào)常量。一般是在import語(yǔ)句下面用大寫字母作為常量名,如NUMBER=100。但這并不意味著這個(gè)值不可以被改變。習(xí)慣上符號(hào)常量的標(biāo)識(shí)符用大寫字母,變量標(biāo)識(shí)符用小寫字母,以示區(qū)別。使用符號(hào)常量的好處是能做到“一改全改”。即如果該常量被使用了很多次,也只需在最開(kāi)始的地方改變其初值即可。變量的概念基本上和初中代數(shù)方程中的變量是一致的,只是在計(jì)算機(jī)程序中,變量不僅可以是數(shù)字,還可以是任意數(shù)據(jù)類型。值可以改變的量稱為變量。一個(gè)變量應(yīng)該有一個(gè)名字,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。在Python中,對(duì)一個(gè)變量賦值之前并不需要對(duì)其定義或聲明,它會(huì)在第一次賦值時(shí)自動(dòng)生成。在使用一個(gè)變量之前需要先對(duì)其進(jìn)行賦值。變量命名規(guī)則如下:(1)變量名必須以字母或下劃線開(kāi)頭,后面可以跟任意數(shù)量的字母、下劃線和數(shù)字。變量名中只能有字母、下劃線和數(shù)字。(2)區(qū)分大小寫,如Python和python是不同的。(3)變量名不能使用保留字。1.3標(biāo)識(shí)符與關(guān)鍵字1.3.1Python標(biāo)識(shí)符標(biāo)識(shí)符用來(lái)表示常量、變量、函數(shù)、對(duì)象等程序要素的名字。Python標(biāo)識(shí)符的命名規(guī)則如下:(1)標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,不能以數(shù)字開(kāi)頭。(2)標(biāo)識(shí)符區(qū)分大小寫字母。(3)不能使用Python關(guān)鍵字作為標(biāo)識(shí)符1.3.2Python關(guān)鍵字關(guān)鍵字也稱保留字,不能把它們用作任何標(biāo)識(shí)符名稱。Python的標(biāo)準(zhǔn)庫(kù)提供了一個(gè)keyword模塊,可以輸出當(dāng)前版本的所有關(guān)鍵字。示例如下:importkeywordprint(keyword.kwlist)#輸出關(guān)鍵字列表1.4輸入與輸出1.4.1print介紹在Python中內(nèi)置有字符串的格式化操作,所以print()函數(shù)支持格式化輸出。在格式化字符串時(shí),Python會(huì)插入格式操作符(如%s)到字符串中,為真實(shí)的數(shù)值預(yù)留位置,并說(shuō)明真實(shí)數(shù)值需要呈現(xiàn)的格式。1.4.2認(rèn)識(shí)input系統(tǒng)需要交互,就需要讓用戶向計(jì)算機(jī)輸入一些字符,Python提供了一個(gè)input()函數(shù),該函數(shù)可以讓用戶輸入字符串,并存放到一個(gè)變量里。input只能接收字符型,+表示聯(lián)系為一個(gè)字符串,因此要進(jìn)行數(shù)學(xué)運(yùn)算時(shí),需要用eval()進(jìn)行轉(zhuǎn)換。如家庭能耗計(jì)算中用水、用電、用氣量的輸出。1.5注釋語(yǔ)句python中的注釋有多種,有單行注釋,多行注釋,批量注釋,中文注釋也是常用的。Python注釋也有自己的規(guī)范,在文章中會(huì)介紹到。注釋可以起到一個(gè)備注的作用。團(tuán)隊(duì)合作的時(shí)候,個(gè)人編寫的代碼經(jīng)常會(huì)被多人調(diào)用。為了讓別人能更容易理解代碼的用途,使用注釋是非常有效的1.5.1python單行注釋符號(hào)(#)井號(hào)(#)常被用作單行注釋符號(hào),在代碼中使用#時(shí),它右邊的任何數(shù)據(jù)都會(huì)被忽略,當(dāng)做是注釋,#號(hào)右邊的內(nèi)容在執(zhí)行的時(shí)候是不會(huì)被輸出的1.5.2批量、多行注釋符號(hào)在python中也會(huì)有注釋有很多行的時(shí)候,這種情況下就需要批量多行注釋符了。多行注釋是用三引號(hào)''''''包含的,例如:輸入''''''或者"""""",將要注釋的代碼插在中間。Windows中IDLE的注釋快捷鍵是Alt+3,取消注釋是Alt+4。JupyterNotebook和Pycharm中,快速注釋代碼(ctrl+/),快速取消注釋代碼(ctrl+/)1.6認(rèn)識(shí)Python的基本數(shù)據(jù)類型1.6.1認(rèn)識(shí)Python的基本數(shù)據(jù)類型打開(kāi)計(jì)算器(右鍵單擊Windows圖標(biāo),搜索中找到計(jì)算器,調(diào)整為程序員模式),認(rèn)識(shí)整型中的不同進(jìn)制。整數(shù)類型,英文為integer,簡(jiǎn)寫為int,可以表示正數(shù)、負(fù)零。整數(shù)的不同進(jìn)制表示方式:·十進(jìn)制→默認(rèn)的進(jìn)制·二進(jìn)制→以0b開(kāi)頭·八進(jìn)制→以0o開(kāi)頭·十六進(jìn)制→以0x開(kāi)頭ython提供了內(nèi)置函數(shù)hex(a)、oct(a)、bin(a),可以將一個(gè)十進(jìn)制數(shù)a分別轉(zhuǎn)換成十六進(jìn)制、八進(jìn)制及二進(jìn)制的字符串1.6.2浮點(diǎn)型數(shù)據(jù)浮點(diǎn)數(shù)即帶有小數(shù)部分的數(shù)字。在Python里,浮點(diǎn)數(shù)分為兩類,一種是普通的由數(shù)字和小數(shù)點(diǎn)組成的,如1.0、2.3等。這是由科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)。另外一種是由數(shù)字、小數(shù)點(diǎn)以及科學(xué)計(jì)數(shù)標(biāo)志e或E組成,如:2.1e10則表示2.1ⅹ1010。浮點(diǎn)類型●浮點(diǎn)數(shù)由整數(shù)部分和小數(shù)部分組成●浮點(diǎn)數(shù)儲(chǔ)存不精確性使用浮點(diǎn)數(shù)進(jìn)行計(jì)算時(shí),可能會(huì)出現(xiàn)小數(shù)位數(shù)不確定的情況解決方案:導(dǎo)入模塊decimal1.6.3字符串類型字符串又被稱為不可變的字符序列,可以使用單引號(hào)‘’雙引號(hào)“”三引號(hào)“‘’”或“““”””來(lái)定義,單引號(hào)和雙引號(hào)定義的字符串必須在一行,三引號(hào)定義的字符串可以分布在連續(xù)的多行1.6.4布爾型類型在Python中,有一種特殊的數(shù)據(jù)類型叫布爾型(bool),該類型只有兩種取值:True和False分別代表真和假。實(shí)際上,可以把True和False看成Python內(nèi)置的變量名,值分別為1和0。因?yàn)閷?shí)際上True的值就是1,而False則為01.6.5實(shí)現(xiàn)不同類型數(shù)據(jù)的轉(zhuǎn)換類型轉(zhuǎn)換是一種采用一種類型的數(shù)據(jù)對(duì)象并創(chuàng)建多種類型的等效數(shù)據(jù)對(duì)象的操作。1.7認(rèn)識(shí)常用運(yùn)算1.7.1算數(shù)運(yùn)算Python中常見(jiàn)的算數(shù)運(yùn)算有加、減、乘、除、求余、取整、冪運(yùn)算等。1.7.2數(shù)值運(yùn)算函數(shù)除了基本的算數(shù)運(yùn)算,Python以函數(shù)形式提供了一些數(shù)值運(yùn)算,例如四舍五入函數(shù)、最大值,最小值等。在使用math庫(kù)前,要用import導(dǎo)入該math庫(kù),調(diào)用時(shí)用math.函數(shù)名(參數(shù))。1.7.3賦值運(yùn)算符賦值運(yùn)算的功能是:將一個(gè)表達(dá)式或?qū)ο筚x給一個(gè)左值,其中左值必須是一個(gè)可修改的值,不能為一個(gè)常量?!?”是基本的賦值運(yùn)算符,此外“=”可與算術(shù)運(yùn)算符組合成復(fù)合賦值運(yùn)算符。Python中的復(fù)合賦值運(yùn)算符有:+=、-=、*=、/=、//=、**=,他們的功能相似,例如“a+=b”等價(jià)于“a=a+b”,“a-=b”等價(jià)于“a=a-b”,諸如此類。1.7.4關(guān)系運(yùn)算符邏輯運(yùn)算符為and(與,全真才真)、or(或,全假才假)、not(非)用于邏輯運(yùn)算、判斷表達(dá)式的True或者False,通常與流程控制一起使用1.7.5邏輯運(yùn)算符邏輯運(yùn)算符為and(與,全真才真)、or(或,全假才假)、not(非)用于邏輯運(yùn)算、判斷表達(dá)式的True或者False,通常與流程控制一起使用。1.7.6運(yùn)算優(yōu)先級(jí)上面學(xué)習(xí)了算數(shù)運(yùn)算、賦值運(yùn)算、位運(yùn)算、比較運(yùn)算、邏輯運(yùn)算等,當(dāng)遇到復(fù)雜的表達(dá)式時(shí),就需要根據(jù)運(yùn)算優(yōu)先級(jí)決定先做什么運(yùn)算,在Python中各類運(yùn)算的優(yōu)先級(jí)規(guī)則從高到低依次如附表7-11所示2、程序的基本結(jié)構(gòu)在程序設(shè)計(jì)中,語(yǔ)句可以按照結(jié)構(gòu)化程序設(shè)計(jì)的思想構(gòu)成三種基本結(jié)構(gòu),它們分別是順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。為方便描述程序的結(jié)構(gòu)關(guān)系會(huì)使用程序流程圖。一個(gè)流程從開(kāi)始符開(kāi)始,以結(jié)束符結(jié)束。處理流程需以單一入口和單一出口繪制,要畫出規(guī)范的流程圖,最基本的就是流程圖的形狀一致,字號(hào)統(tǒng)一2.1順序結(jié)構(gòu)順序結(jié)構(gòu)指的是按照指令順序依次執(zhí)行每一條語(yǔ)句。例如,你和計(jì)算機(jī)進(jìn)行對(duì)話:1計(jì)算機(jī)問(wèn)道:你的愛(ài)好是什么?請(qǐng)用戶輸入2計(jì)算機(jī)顯示:你的愛(ài)好是(用戶輸入的內(nèi)容)3計(jì)算機(jī)問(wèn)道:你有欣賞的明星嗎?請(qǐng)用戶輸入4計(jì)算機(jī)顯示:我也喜歡(顯示用戶輸入的內(nèi)容)2.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)指的是根據(jù)判斷條件,只執(zhí)行滿足條件的部分語(yǔ)句,并且只執(zhí)行一次。2.2.1雙分支選擇結(jié)構(gòu)用if語(yǔ)句可以構(gòu)成選擇結(jié)構(gòu),它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。如圖7-8所示為一個(gè)雙分支選擇結(jié)構(gòu).例如從鍵盤上輸入一個(gè)數(shù),判斷這個(gè)數(shù)是奇數(shù)還是偶數(shù)。如果輸入的數(shù)是偶數(shù),則執(zhí)行條件為真的分支,顯示該數(shù)是偶數(shù);如果輸入的數(shù)是奇數(shù),則執(zhí)行條件為假的分支,顯示該數(shù)是奇數(shù)。該程序的流程圖例如,要制作一個(gè)簡(jiǎn)單的加法運(yùn)算判斷程序,可以由random函數(shù)隨機(jī)生成兩個(gè)整數(shù),如果用戶輸入的值與計(jì)算結(jié)果一致,則顯示回答正確,否則顯示回答錯(cuò)誤。通過(guò)調(diào)用random模塊可以生成隨機(jī)數(shù),其中random.uniform(起始值,終止值),例如random.uniform(1,50)生成的是1-50之間的隨機(jī)浮點(diǎn)數(shù),如果要生成隨機(jī)整數(shù)可以使用int(random.uniform(1,50))進(jìn)行轉(zhuǎn)換,也可以直接使用random.randint(起始值,終止值)。有時(shí)會(huì)遇到邏輯與邏輯或共同使用的多條件判斷,比如生活中的閏年分為普通閏年和世紀(jì)閏年,其判斷方法為:公歷年份是4的倍數(shù),且不是100的倍數(shù),為普通閏年。公歷年份是整百數(shù),且必須是400的倍數(shù)才是世紀(jì)閏年。歸結(jié)起來(lái)就是通常說(shuō)的:四年一閏;百年不閏,四百年再閏。如果用變量year表示年份,則閏年的判斷條件為:year%400==0oryear%4==0andyear%100!=0,此表達(dá)式中同時(shí)包含了邏輯運(yùn)算的與或非三種情況,屬于非常典型的案例2.2.2認(rèn)識(shí)多分支結(jié)構(gòu)在前面的學(xué)習(xí)中我們學(xué)會(huì)了隨機(jī)數(shù)的加法運(yùn)算,那如果想進(jìn)行減法乘法等隨機(jī)運(yùn)算,用多分支結(jié)構(gòu)就能實(shí)現(xiàn)。此種情況下,就涉及多種選擇,在Python中我們用if….elif….else…語(yǔ)句進(jìn)行多分支選擇結(jié)構(gòu)的描述.例如可以用1-4個(gè)數(shù)字代表加減乘除四種運(yùn)算,random.randint(1,4)可以生成一種對(duì)應(yīng)的運(yùn)算符號(hào),程序中規(guī)定每個(gè)數(shù)字代表的運(yùn)算,這樣就可以得到不同計(jì)算法則的隨機(jī)數(shù)運(yùn)算程序。如果想要生成更多的運(yùn)算,擴(kuò)大random.randint(1,n)中n的范圍即可2.2.3選擇結(jié)構(gòu)的嵌套在學(xué)習(xí)構(gòu)成三角形的形狀時(shí),我們知道常見(jiàn)的三角形按邊可以劃分為等邊三角形、等腰三角形、直角三角形和一般三角形,如果從鍵盤上輸入三個(gè)數(shù)代表三角形的三條邊,首先判讀是否能夠構(gòu)成三角形,如果能構(gòu)成三角形,則判斷三角形的形狀;不能構(gòu)成則提示不能構(gòu)成三角形。因此首先要進(jìn)行能夠構(gòu)成三角形的判斷,如果能夠構(gòu)成三角形再進(jìn)一步判斷是什么類型的三角形,因此是否構(gòu)成三角形和判斷三角形的形狀之間構(gòu)成嵌套關(guān)系。嵌套的if語(yǔ)句是指在if語(yǔ)句內(nèi)有其他的if語(yǔ)句2.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)指的是只要滿足判斷條件就反復(fù)執(zhí)行循環(huán)體,直到不滿足條件時(shí)退出循環(huán),程序結(jié)束。常見(jiàn)的循環(huán)結(jié)構(gòu)有while循環(huán)結(jié)構(gòu)和for循環(huán)結(jié)構(gòu)2.3.1While循環(huán)結(jié)構(gòu)介紹While循環(huán)中通常包含了循環(huán)變量初值、循環(huán)條件、循環(huán)體、循環(huán)變量的變化這四個(gè)關(guān)鍵點(diǎn)。在計(jì)算s=1+2+3+...+n的和(其中n由鍵盤輸入)中,可以看到值從1變到n,這是一個(gè)循環(huán)過(guò)程,先設(shè)計(jì)變量s為0,再設(shè)計(jì)一個(gè)循環(huán)變量m,它循環(huán)n次,每次把m的值加1,并累積到變量s中去,就可以計(jì)算出結(jié)果,此外,while循環(huán)可用于不確定循環(huán)次數(shù)情況下的循環(huán),比如做完整性約束判斷,在用戶注冊(cè)時(shí)需要輸入昵稱、手機(jī)號(hào)碼,密碼等,但是并不確定什么時(shí)候用戶輸入的值是滿足條件的,所以這種循環(huán)為不確定循環(huán)次數(shù)的循環(huán)。2.3.2for循環(huán)結(jié)構(gòu)for循環(huán)是編程語(yǔ)言中一種循環(huán)語(yǔ)句,而\t"/item/for%E5%BE%AA%E7%8E%AF/_blank"循環(huán)語(yǔ)句由\t"/item/for%E5%BE%AA%E7%8E%AF/_blank"循環(huán)體及循環(huán)的判定\t"/item/for%E5%BE%AA%E7%8E%AF/_blank"條件兩部分組成,一般形式為:foriinRange(變量的初值,變量的終值,步長(zhǎng)):語(yǔ)句塊如foriinrange(1,10,1):print(i)foriinrange(1,10,1)等同于這三條語(yǔ)句i=1,i<10,i=i+1如果要打印年度日歷,可以通過(guò)importcalendar導(dǎo)入日歷庫(kù),通過(guò)calendar.month(年份,月份)即可打印某年某月的日歷,如果想要打印多個(gè)月份的日歷,可以使用for循環(huán)2.3.3循環(huán)嵌套循環(huán)里面再嵌套一重循環(huán)叫做雙重循環(huán),嵌套兩層以上的叫多重循環(huán)。Python程序單層循環(huán)結(jié)構(gòu)常常難以解決更加復(fù)雜的問(wèn)題,這就要求我們進(jìn)一步學(xué)會(huì)使用循環(huán)語(yǔ)句的嵌套結(jié)構(gòu)來(lái)處理相對(duì)復(fù)雜的問(wèn)題。通過(guò)前面的學(xué)習(xí),我們知道Python循環(huán)結(jié)構(gòu)主要有for
循環(huán)和while循環(huán)??梢詫hile循環(huán)結(jié)構(gòu)嵌套進(jìn)for循環(huán)結(jié)構(gòu)中,也可以將for循環(huán)結(jié)構(gòu)嵌套進(jìn)whil
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《奶制品培訓(xùn)資料》課件
- 《小王子英文》課件
- 《企業(yè)管理概論》課件
- 2024年雷電頌教案
- 尖子生家長(zhǎng)會(huì)發(fā)言稿
- 單位管理制度匯編大合集【人員管理篇】十篇
- 單位管理制度合并匯編職工管理
- 單位管理制度分享大全【職員管理篇】
- 單位管理制度范文大合集人力資源管理十篇
- 單位管理制度范例合集【職工管理】十篇
- 《國(guó)家課程建設(shè)》課件
- 養(yǎng)老機(jī)構(gòu)安全隱患排查清單、自查表、治理整改臺(tái)賬
- 少數(shù)民族小學(xué)生良好行為習(xí)慣養(yǎng)成的內(nèi)需與外趨的研究課題
- 毛坯房驗(yàn)房專用表格詳細(xì)
- 江西省特種作業(yè)人員體檢表(共1頁(yè))
- 幼兒園大班主題《我自己》個(gè)別化學(xué)習(xí)
- 派出所立體化勤務(wù)指揮室建設(shè)模式探析――以大連市公
- 物資設(shè)備部工作述職報(bào)告
- 精品資料(2021-2022年收藏)龍門吊軌道基礎(chǔ)施工方案
- 畫廊與畫家合作協(xié)議書范本
- 全口義齒-印模與模型-課件PPT
評(píng)論
0/150
提交評(píng)論