




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
人工智能基礎(chǔ)第1章人工智能概述第2章人工智能體驗(yàn)第3章人工智能編程語言第4章人工智能數(shù)據(jù)處理第5章機(jī)器學(xué)習(xí)第6章深度學(xué)習(xí)全套可編輯PPT課件第1章人工智能概述
學(xué)習(xí)目標(biāo)1.了解人工智能的基本概念和歷史。2.了解人工智能的研究內(nèi)容。3.熟悉人工智能的常見應(yīng)用領(lǐng)域。4.熟悉智能計(jì)算系統(tǒng)的相關(guān)知識。1.1人工智能簡介1.1.1人工智能的基本概念人工智能(ArtificialIntelligence),英文縮寫為AI,自誕生以來就受到廣泛關(guān)注。不同學(xué)者對于人工智能的定義也不盡相同,目前比較公認(rèn)的一種定義是:人工智能是研究和開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)以及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人類四次工業(yè)革命的發(fā)展1.1.2人工智能的歷史1.圖靈測試1950年,圖靈(Turing)發(fā)表了一篇題為《計(jì)算機(jī)與智能》的論文,文中預(yù)言了創(chuàng)造出具有真正智能的機(jī)器的可能性。由于注意到“智能”這一概念難以確切定義,他提出了著名的圖靈測試(TuringTest):測試者與被測試者(一個人和一臺機(jī)器)在隔開的情況下,通過一些裝置(如鍵盤)向被測試者隨意提問,進(jìn)行多次測試后,如果機(jī)器讓平均超過30%的參與者做出誤判,不能辨別出其機(jī)器身份,那么這臺機(jī)器就通過了測試,并被認(rèn)為具有人類智能。圖靈1.1.2人工智能的歷史2.達(dá)特茅斯會議
1956年,麥卡錫、明斯基、香農(nóng)、紐厄爾、西蒙、塞弗里奇、所羅門諾夫、羅徹斯特、塞繆爾和莫爾,在美國達(dá)特茅斯學(xué)院召開了一次為期兩個月的“人工智能夏季研討會”,從不同學(xué)科角度探討了人類各種學(xué)習(xí)和其他智能特征的基礎(chǔ),以及用機(jī)器模擬人類智能等問題,并首次提出人工智能的術(shù)語。達(dá)特茅斯會議部分當(dāng)事人于2006年重聚(左起:莫爾、麥卡錫、明斯基、塞弗里奇、所羅門諾夫)1.1.2人工智能的歷史3.人工智能的發(fā)展歷程1.1.3人工智能的學(xué)派1.符號主義學(xué)派符號主義又稱為邏輯主義、心理學(xué)派或計(jì)算機(jī)學(xué)派。符號主義認(rèn)為人工智能源于數(shù)理邏輯。符號主義學(xué)者在1956年首先采用“人工智能”術(shù)語,后來又發(fā)展了啟發(fā)式算法、專家系統(tǒng)、知識工程理論與技術(shù),并在20世紀(jì)80年代取得重大發(fā)展。符號主義學(xué)派代表人物有紐厄爾、西蒙和尼爾遜等。符號主義學(xué)派認(rèn)為人工智能的研究方法應(yīng)為功能模擬方法,即通過分析人類認(rèn)知系統(tǒng)所具備的功能和機(jī)能,然后用計(jì)算機(jī)模擬這些功能,實(shí)現(xiàn)人工智能。1.1.3人工智能的學(xué)派2.連接主義學(xué)派連接主義又稱為仿生學(xué)派或生理學(xué)派。連接主義認(rèn)為人工智能源于仿生學(xué),特別是對人腦模型的研究?;羝辗茽柕略?982年和1984年發(fā)表兩篇重要論文,提出用硬件模擬神經(jīng)網(wǎng)絡(luò)。1986年,魯梅爾哈特等人提出多層網(wǎng)絡(luò)中的反向傳播(BP)算法,使多層感知機(jī)的理論模型有所突破。從2010年開始,神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)成為人工智能行業(yè)主導(dǎo),標(biāo)志著AI經(jīng)過短暫消沉期后徹底復(fù)蘇,如今最熱的AI概念均出自“連接主義”學(xué)派。1.1.3人工智能的學(xué)派3.行為主義學(xué)派行為主義又稱為進(jìn)化主義或控制論學(xué)派。行為主義認(rèn)為人工智能源于控制論。維納和麥克洛克等人提出的控制論和自組織系統(tǒng)以及錢學(xué)森等人提出的工程控制論和生物控制論,影響了許多領(lǐng)域。行為主義是20世紀(jì)末才以人工智能新學(xué)派的面孔出現(xiàn)的,引起許多人興趣。行為主義學(xué)派的代表作品首推布魯克斯的6足行走機(jī)器人,它被看作新一代的“控制論動物”,是一個基于感知-動作模式模擬昆蟲行為的控制系統(tǒng)。1.1.4習(xí)題與實(shí)踐1.簡答題(1)請簡述什么是人工智能。(2)請簡述人工智能的發(fā)展歷史。(3)三大人工智能學(xué)派的認(rèn)知觀分別是什么?他們各自的代表性研究成果是什么?2.思考題(1)有學(xué)者認(rèn)為達(dá)特茅斯會議標(biāo)志著人工智能的誕生,因此麥卡錫才是真正的“人工智能之父”,你怎么看待這個問題?(2)隨著人工智能技術(shù)的不斷發(fā)展,你覺得人工智能在未來有可能超越人類智能嗎?(3)人工智能與物聯(lián)網(wǎng)、大數(shù)據(jù)、虛擬現(xiàn)實(shí)等技術(shù)如何互相促進(jìn)?1.2人工智能研究內(nèi)容1.2.1知識工程知識工程(KnowledgeEngineering)是在計(jì)算機(jī)上建立專家系統(tǒng)的技術(shù)。圖靈獎獲得者、知識工程的建立者費(fèi)根鮑姆(Feigenbaum)將知識工程定義為:將知識集成到計(jì)算機(jī)系統(tǒng)從而完成只有特定領(lǐng)域?qū)<也拍芡瓿傻膹?fù)雜任務(wù)。知識工程包括了知識表示(knowledgerepresentation)、知識獲?。╧nowledgeacquisition)、知識推理(knowledgereasoning)、知識集成(knowledgeintegration)和知識存儲(knowledgestorage)等多個活動。費(fèi)根鮑姆1.2.2機(jī)器感知機(jī)器感知(MachineCognition)是一連串復(fù)雜程序所組成的大規(guī)模信息處理系統(tǒng),信息通常由很多常規(guī)傳感器采集,經(jīng)過這些程序的處理后,會得到一些非基本感官能得到的結(jié)果。機(jī)器感知就是使機(jī)器具有類似人的感知能力,其中以機(jī)器視覺、機(jī)器聽覺、機(jī)器觸摸和機(jī)器氣味為主。常見機(jī)器感知傳感器1.2.3機(jī)器思維機(jī)器思維(MachineThinking)是指利用機(jī)器感知得來的外部信息、認(rèn)知模型、知識表示和推理來有目標(biāo)的處理感知信息和智能系統(tǒng)內(nèi)部信息的過程,從而針對特定場景給出合適的判斷,制定合適的策略。目前對于機(jī)器思維的研究主要集中在以下幾方面:知識表示,特別是各種不確定性和不完全知識的表示;知識組織、積累和管理技術(shù);知識推理,特別是各種不確定性推理、歸納推理和非經(jīng)典推理等;各種啟發(fā)式搜索和控制策略;人腦結(jié)構(gòu)和神經(jīng)網(wǎng)絡(luò)的工作機(jī)制。1.2.4機(jī)器學(xué)習(xí)1.機(jī)器學(xué)習(xí)的發(fā)展第一階段從20世紀(jì)50年代中期到70年代中期,主要用各種符號來表示機(jī)器語言,研究將各個領(lǐng)域的知識植入到系統(tǒng)里,目的是通過機(jī)器模擬人類學(xué)習(xí)的過程。第二階段從20世紀(jì)70年代中期到80年代初,在此期間,人們從學(xué)習(xí)單個概念擴(kuò)展到學(xué)習(xí)多個概念,探索不同的學(xué)習(xí)策略和學(xué)習(xí)方法,且在本階段已開始把學(xué)習(xí)系統(tǒng)與各種應(yīng)用結(jié)合起來,并取得很大的成功。第三階段始于20世紀(jì)80年代,隨著超大規(guī)模集成電路技術(shù)、超導(dǎo)技術(shù)、生物技術(shù)、光學(xué)技術(shù)的發(fā)展與支持,使機(jī)器學(xué)習(xí)的研究進(jìn)入了更高層次的發(fā)展時期。1.2.4機(jī)器學(xué)習(xí)2.機(jī)器學(xué)習(xí)的分類按系統(tǒng)的學(xué)習(xí)能力分類,可分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí),這是最常見的一種分類方法。按學(xué)習(xí)方法分類,可分為符合學(xué)習(xí)與非符號學(xué)習(xí)。按學(xué)習(xí)目標(biāo)分類,可分為概念學(xué)習(xí)、規(guī)則學(xué)習(xí)、函數(shù)學(xué)習(xí)和類別學(xué)習(xí)等。按推理方式分類,可分為基于演繹的學(xué)習(xí)及基于歸納的學(xué)習(xí)。按綜合屬性分類,可分為歸納學(xué)習(xí)、分析學(xué)習(xí)、連接學(xué)習(xí)和遺傳算法與分類器系統(tǒng)等。1.2.4機(jī)器學(xué)習(xí)3.機(jī)器學(xué)習(xí)的基本過程機(jī)器學(xué)習(xí)是一個流程性很強(qiáng)的工作,包括數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)預(yù)處理、特征工程、模型調(diào)優(yōu)、模型融合、模型驗(yàn)證和模型持久化等。1.2.5機(jī)器行為機(jī)器行為主要指計(jì)算機(jī)的表達(dá)能力,即模擬人的能力行為,如說話、寫字、畫畫、走路和取物。工廠中使用機(jī)器人制造汽車的場景1.2.6習(xí)題與實(shí)踐1.簡答題(1)什么是知識工程?(2)不同時期機(jī)器學(xué)習(xí)有哪些研究方向或內(nèi)容?2.思考題(1)結(jié)合生活實(shí)際,你認(rèn)為現(xiàn)實(shí)生活中人工智能的研究內(nèi)容有哪些?(2)你認(rèn)為人工智能的哪些研究內(nèi)容可以與你就讀的專業(yè)相結(jié)合?哪些可能會是將來新的研究熱點(diǎn)?1.3人工智能技術(shù)與應(yīng)用1.3.1模式識別模式識別(PatternRecognition,PR)是指對表征事物或現(xiàn)象的各種形式的(數(shù)值、文字或邏輯關(guān)系)信息進(jìn)行處理和分析,以對事物或現(xiàn)象進(jìn)行描述、辨認(rèn)、分類和解釋的過程,是信息科學(xué)和人工智能的重要組成部分。基于模式識別的醫(yī)療影像分析1.3.2計(jì)算機(jī)視覺計(jì)算機(jī)視覺(ComputerVision,CV)又稱機(jī)器視覺(MachineVision),是用機(jī)器(攝影機(jī)或電腦)代替人眼對目標(biāo)進(jìn)行測量、識別和跟蹤,并進(jìn)一步做圖形處理,抽取目標(biāo)特征,使之成為更適合人眼觀察或儀器檢測的圖像,進(jìn)而根據(jù)判別結(jié)果來控制現(xiàn)成的設(shè)備動作,是計(jì)算機(jī)及相關(guān)設(shè)備對生物視覺的一種模擬,是模式識別的一個重要方面。微信小程序“形色識花”1.3.3自然語言處理自然語言處理(NaturalLanguageProcessing,NLP)的目標(biāo)是讓計(jì)算機(jī)能“聽懂”和“看懂”人類語言(如漢語、英語等)。世界人工智能大會上的機(jī)器實(shí)時翻譯1.3.4搜索技術(shù)搜索技術(shù)(SearchTechnique)是用搜索方法尋求問題解答的技術(shù),其根據(jù)問題的實(shí)際情況不斷尋找可利用的知識,構(gòu)造出一條代價較少的推理路線,使問題得到圓滿解決。人工智能程序AlphaGo與人類圍棋世界冠軍對弈1.3.5專家系統(tǒng)專家系統(tǒng)(ExpertSystem)是一個基于專門領(lǐng)域知識求解特定問題的智能計(jì)算機(jī)程序系統(tǒng),其內(nèi)部含有大量的某個領(lǐng)域?qū)<宜降闹R與經(jīng)驗(yàn),能夠利用人類專家的知識和解決問題的方法來處理該領(lǐng)域問題。氣象預(yù)報(bào)專家系統(tǒng)1.3.6神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)(NeuralNetworks,NNs)又稱人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks,ANNs)或連接模型(ConnectionModel),是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。BP神經(jīng)網(wǎng)絡(luò)用于預(yù)測新冠肺炎確診人數(shù)1.3.7數(shù)據(jù)挖掘數(shù)據(jù)挖掘(DataMining)是指從大量的數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程,其通過統(tǒng)計(jì)、在線分析處理、情報(bào)檢索、機(jī)器學(xué)習(xí)、專家系統(tǒng)(依靠過去的經(jīng)驗(yàn)法則)和模式識別等諸多方法來實(shí)現(xiàn)目標(biāo)。天網(wǎng)工程1.3.8智能控制智能控制(IntelligentControls)是由智能機(jī)器自主地實(shí)現(xiàn)其目標(biāo)的過程,是具有智能信息處理、智能信息反饋和智能控制決策的控制方式,是控制理論發(fā)展的高級階段,主要用來解決那些用傳統(tǒng)方法難以解決的復(fù)雜系統(tǒng)的控制問題。自動駕駛1.3.9智能機(jī)器人智能機(jī)器人(IntelligentRobot)是具有人類特有的某種智能、能模擬人類行為的機(jī)器。幾款有代表性的波士頓動力機(jī)器人1.3.10組合優(yōu)化組合優(yōu)化(CombinatorialOptimization)的目標(biāo)是從組合問題的可行解集中求出最優(yōu)解,其一般是NP完全問題(NondeterministicPolynomialCompleteProblem)??罩薪煌ü苤葡到y(tǒng)1.3.11云端人工智能云端人工智能(CloudAI)是將云計(jì)算的運(yùn)作模式與人工智能深度融合,在云端集中使用和共享機(jī)器學(xué)習(xí)工具的技術(shù),是目前主流的人工智能平臺服務(wù)方式。根據(jù)部署方式可分為公有云、私有云和混合云。百度AI體驗(yàn)中心騰訊AI體驗(yàn)中心1.3.12習(xí)題與實(shí)踐1.簡答題(1)結(jié)合生活實(shí)際,你認(rèn)為現(xiàn)實(shí)生活中人工智能有哪些成熟應(yīng)用?(2)請查詢相關(guān)資料,了解人工智能技術(shù)在你就讀專業(yè)領(lǐng)域有哪些具體應(yīng)用?隨著人工智能技術(shù)的發(fā)展和成熟,你覺得你就讀專業(yè)領(lǐng)域有哪些崗位有可能被人工智能取代?你打算如何應(yīng)對?2.實(shí)踐題
請選擇一個互聯(lián)網(wǎng)企業(yè),調(diào)查了解這個企業(yè)提供的云端人工智能系統(tǒng),向大家介紹它是什么類型?能提供哪些服務(wù)?有什么特色?1.4智能計(jì)算系統(tǒng)1.4.1智能計(jì)算系統(tǒng)概述1.智能計(jì)算系統(tǒng)智能計(jì)算系統(tǒng),是智能的物質(zhì)載體算法或代碼本身并不能構(gòu)成一個完整的智能體,必須要在一個具體的物質(zhì)載體上運(yùn)行才能展現(xiàn)出智能智能計(jì)算系統(tǒng)包括硬件部分,集成了通用CPU和智能芯片的異構(gòu)系統(tǒng)軟件部分,包括了面向開發(fā)者的智能計(jì)算編程環(huán)境,如前端編程語言、深度學(xué)習(xí)框架和編程平臺等。CPU+GPU/TPU/寒武紀(jì)處理器等TensorFlow、Caffe、PyTorch等Python、C、C++等硬件部分深度學(xué)習(xí)框架前端編程語言軟件部分異構(gòu)系統(tǒng)CUDA、OpenCL等
編程平臺1.4.1智能計(jì)算系統(tǒng)概述2.智能計(jì)算系統(tǒng)的硬件部分一般采用異構(gòu)系統(tǒng),即CPU+智能芯片CPU,像“通才”,主要負(fù)責(zé)通用的計(jì)算,擅長處理操作系統(tǒng)和通用應(yīng)用程序任務(wù),使得異構(gòu)系統(tǒng)可以適應(yīng)多方面的應(yīng)用智能芯片,像“專才”,專門用于人工智能算法的計(jì)算,例如矩陣計(jì)算等,具有強(qiáng)大的數(shù)值計(jì)算能力,且能效比較高CPU和智能芯片各司其職,CPU主要負(fù)責(zé)通用計(jì)算和系統(tǒng)控制等工作,智能芯片主要集中在高效率、低成本和并行的數(shù)值計(jì)算,使得異構(gòu)系統(tǒng)比同構(gòu)系統(tǒng)擁有了更高的性能和能效1.4.1智能計(jì)算系統(tǒng)概述3.智能計(jì)算系統(tǒng)的軟件部分CPU和智能芯片往往具有著完全不同的指令和特性,編程時需要同時兼顧C(jī)PU和智能芯片為方便進(jìn)行高效的人工智能開發(fā),需要提供一套編程環(huán)境編程環(huán)境可以看做是智能計(jì)算系統(tǒng)與程序員之間的一個界面,是衡量系統(tǒng)易用性的重要指標(biāo),包含:前端編程語言,包括Python、C、C++等深度學(xué)習(xí)框架,包括TensorFlow、Caffe和Pytorch等編程平臺,包括CUDA(統(tǒng)一計(jì)算架構(gòu))、OpenCL(開放計(jì)算語言)等。1.4.2智能計(jì)算系統(tǒng)發(fā)展1.第一代智能計(jì)算系統(tǒng)以面向符號主義的計(jì)算系統(tǒng)為代表出現(xiàn)于1980年前后,正是人工智能發(fā)展的第二次熱潮,主流的智能編程語言是Prolog和LISP。到了20世紀(jì)90年代初,人工智能第二次熱潮消退。由于缺乏實(shí)際的應(yīng)用場景等原因,第一代智能計(jì)算系統(tǒng)逐漸退出了歷史舞臺1.4.2智能計(jì)算系統(tǒng)發(fā)展2.第二代智能計(jì)算系統(tǒng)以面向連接主義的計(jì)算系統(tǒng)為代表自2010年前后發(fā)展至今,第二代智能計(jì)算系統(tǒng)形成于人工智能發(fā)展的第三次熱潮,主要用于深度學(xué)習(xí)深度學(xué)習(xí)在各個領(lǐng)域都取得了大量應(yīng)用,人工智能已經(jīng)深入人們生活的各個方面,預(yù)期第二代智能計(jì)算系統(tǒng)將長期發(fā)展并不斷優(yōu)化1.4.2智能計(jì)算系統(tǒng)發(fā)展3.下一代智能計(jì)算系統(tǒng)第一、第二代智能計(jì)算系統(tǒng)可看做是面向智能算法的定制化設(shè)計(jì)強(qiáng)/弱人工智能弱人工智能,只能限于使用軟件來研究或完成特定的問題或推理任務(wù),當(dāng)前已有的人工智能應(yīng)用屬于弱人工智能范疇強(qiáng)人工智能,是一種具有通用智能的機(jī)器的概念,該機(jī)器模仿人類的智能或行為,并具有學(xué)習(xí)和應(yīng)用其智能來解決任何問題的能力。在任何給定的情況下,強(qiáng)人工智能都可以以人類的方式思考、理解和行動。下一代智能計(jì)算系統(tǒng),未來出現(xiàn),預(yù)期成為強(qiáng)人工智能的物質(zhì)載體1.4.3習(xí)題與實(shí)踐1.簡答題(1)請簡述智能計(jì)算系統(tǒng)包括哪些部分?(2)請簡述智能計(jì)算系統(tǒng)的歷史與展望?(3)如果你有數(shù)萬元的預(yù)算,打算購置一臺用于深度學(xué)習(xí)的工作站,你會如何選配硬件?(4)你認(rèn)為強(qiáng)人工智能會出現(xiàn)嗎?2.實(shí)踐題請檢查你的個人計(jì)算機(jī)的GPU是否支持CUDA。本章小結(jié)
本章小結(jié)
人工智能基礎(chǔ)第2章人工智能體驗(yàn)
學(xué)習(xí)目標(biāo)1.了解人工智能的應(yīng)用場景。2.了解人工智能開發(fā)平臺。3.掌握人工智能云服務(wù)的使用方法和技巧。4.熟悉人工智能開發(fā)環(huán)境的使用。2.1體驗(yàn)人工智能應(yīng)用2.1.1圖像識別體驗(yàn)1.圖像標(biāo)簽圖像標(biāo)簽基于深度學(xué)習(xí)技術(shù),用于準(zhǔn)確識別圖像中的視覺內(nèi)容。圖像自動標(biāo)簽技術(shù)應(yīng)用范圍廣泛:將相關(guān)標(biāo)簽或關(guān)鍵字自動分配給大量圖像和視頻,減少人工標(biāo)注的成本;相冊圖片自動分類,方便用戶管理相冊;識別的標(biāo)簽融入推薦系統(tǒng),實(shí)現(xiàn)個性化準(zhǔn)確推送。2.1.1圖像識別體驗(yàn)2.低光照增強(qiáng)低光照增強(qiáng)基于信號處理和深度學(xué)習(xí)技術(shù),通過增強(qiáng)圖像暗光區(qū)域,凸顯圖像中有效視覺信息。低光照增強(qiáng)適用于模糊圖像重建高清過程,保持圖像內(nèi)容真實(shí)可信,顏色不失真。2.1.1圖像識別體驗(yàn)3.圖像去霧圖像去霧基于信號處理和深度學(xué)習(xí)技術(shù),提供圖像去霧的能力。圖像去霧可以對霧霾和揚(yáng)塵等惡劣天氣因素導(dǎo)致的模糊圖像,重建出高清圖像。2.1.2人臉識別體驗(yàn)1.身份驗(yàn)證刷臉身份驗(yàn)證使用了人臉檢測和人臉比對功能。人臉識別能快速檢測分析兩張圖片中的人臉信息,分析人臉關(guān)鍵點(diǎn)信息,獲取人臉屬性,實(shí)現(xiàn)人臉的精確比對進(jìn)行身份核實(shí)。2.1.2人臉識別體驗(yàn)2.客流分析客流分析基于人臉識別、比對和搜索技術(shù)。客流分析可準(zhǔn)確分析顧客年齡、性別等信息,區(qū)別新老客戶、助力精準(zhǔn)營銷??土鞣治鲋С衷诤A繄D片特征庫中進(jìn)行人臉?biāo)阉鳌?.1.3文字識別體驗(yàn)1.駕駛證識別駕駛證識別可以快速完成需要實(shí)名認(rèn)證的場景,降低實(shí)名認(rèn)證成本,準(zhǔn)確快捷方便。通過調(diào)用華為云駕駛證識別接口,可以識別用戶上傳的駕駛證圖片,提取關(guān)鍵信息和字段。2.1.3文字識別體驗(yàn)2.增值稅發(fā)票識別增值稅發(fā)票識別可識別發(fā)票中的關(guān)鍵字段信息,并支持圖像翻轉(zhuǎn)、文字錯行和蓋章干擾等復(fù)雜場景。增值稅發(fā)票識別可以用于財(cái)務(wù)報(bào)銷、發(fā)票信息整理等場景。2.1.4內(nèi)容審核體驗(yàn)1.以“社交內(nèi)容審核”示范社交內(nèi)容審核基于深度學(xué)習(xí)技術(shù)和敏感詞庫,實(shí)時檢測社交軟件上聊天內(nèi)容中可能出現(xiàn)的違規(guī)信息,避免辱罵、低俗等言論,凈化網(wǎng)絡(luò)環(huán)境。敏感詞庫可實(shí)時更新,緊跟社會熱點(diǎn)問題,及時識別新型不合規(guī)內(nèi)容。2.1.5習(xí)題與實(shí)踐1.簡答題簡述華為EI智能體驗(yàn)館有哪些功能。簡述人工智能已經(jīng)應(yīng)用到你的生活和學(xué)習(xí)的哪些方面。2.實(shí)踐題使用華為EI智能體驗(yàn)館的圖像標(biāo)簽功能,上傳自己手機(jī)拍攝的圖片,觀察識別結(jié)果的準(zhǔn)確度。使用華為EI智能體驗(yàn)館,體驗(yàn)更多人工智能應(yīng)用。使用瀏覽器訪問EI智能體驗(yàn)館,嘗試體驗(yàn)“文字識別”分類下的“身份證識別”和“通用文字識別”功能。2.2體驗(yàn)人工智能開發(fā)2.2.1華為ModelArts簡介1.華為ModelArts簡介華為ModelArts是面向AI開發(fā)者的一站式開發(fā)平臺,能夠支撐開發(fā)者從數(shù)據(jù)到AI應(yīng)用的全部開發(fā)過程。ModelArts自動學(xué)習(xí)是一種幫助人們實(shí)現(xiàn)AI應(yīng)用的低門檻、零代碼的定制化模型開發(fā)工具。ModelArts自動學(xué)習(xí)功能可以根據(jù)標(biāo)注數(shù)據(jù),自動設(shè)計(jì)模型、自動調(diào)參、自動訓(xùn)練、自動壓縮和部署模型。2.2.1華為ModelArts簡介2.ModelArts自動學(xué)習(xí)的操作流程準(zhǔn)備數(shù)據(jù):登錄對象存儲服務(wù)OBS,創(chuàng)建OBS桶,將訓(xùn)練數(shù)據(jù)上傳至OBS桶;創(chuàng)建項(xiàng)目:填寫項(xiàng)目名稱,數(shù)據(jù)集名稱,選擇數(shù)據(jù)集輸入和輸出的位置;數(shù)據(jù)標(biāo)注:未標(biāo)注的數(shù)據(jù)添加標(biāo)簽、或者修改標(biāo)簽;自動訓(xùn)練:設(shè)置部分訓(xùn)練相關(guān)參數(shù),開始自動訓(xùn)練;部署上線:部署模型,用測試數(shù)據(jù)測試訓(xùn)練結(jié)果。2.2.1華為ModelArts簡介3.ModelArts自動學(xué)習(xí)支持任務(wù)ModelArts自動學(xué)習(xí)支持計(jì)算機(jī)視覺領(lǐng)域的圖像分類與物體檢測任務(wù)、自然語言處理領(lǐng)域的文本分類任務(wù),以及傳統(tǒng)機(jī)器學(xué)習(xí)領(lǐng)域的預(yù)測分析任務(wù)等。圖像分類(ImageClassification)是最常用的分類問題。物體檢測(ObjectionDetection)可以找出圖像中感興趣的物體,并確定物體的位置、大小和形狀。預(yù)測分析(PredictiveAnalysis)預(yù)測輸入變量(自變量)和輸出變量(因變量)之間的關(guān)系。文本分類(TextClassification)可將一段文本劃分到某個類別中。2.2.2華為云簡介1.注冊與認(rèn)證注冊華為云賬號認(rèn)證華為云賬戶配置訪問授權(quán)2.華為云的對象存儲服務(wù)進(jìn)入對象存儲服務(wù)OBS控制臺創(chuàng)建桶上傳文件至桶2.2.2華為云簡介1.注冊與認(rèn)證注冊華為云賬號進(jìn)入華為云官網(wǎng)首頁(),單擊右上角的“注冊”,完成賬號注冊。認(rèn)證華為云賬戶首次登錄時,需要完成“實(shí)名認(rèn)證”。在華為云首頁進(jìn)入“賬號中心”頁面,可以完成“實(shí)名認(rèn)證”。2.2.2華為云簡介1.注冊與認(rèn)證配置訪問授權(quán)首頁搜索“ModelArts”,選擇“控制臺”。單擊“訪問授權(quán)”進(jìn)入授權(quán)設(shè)置頁面。在訪問授權(quán)中完成授權(quán)。2.2.2華為云簡介2.華為云的對象存儲服務(wù)對象存儲服務(wù)(OBS)是一個基于對象的海量存儲服務(wù),用以提供數(shù)據(jù)存儲能力。桶是OBS中存儲對象的容器,存儲數(shù)據(jù)前,首先需要創(chuàng)建一個桶,然后才能在OBS的桶內(nèi)存儲數(shù)據(jù)ModelArts使用OBS進(jìn)行數(shù)據(jù)存儲以及模型備份。2.2.2華為云簡介2.華為云的對象存儲服務(wù)進(jìn)入對象存儲服務(wù)OBS控制臺通過華為云官網(wǎng)首頁進(jìn)入控制臺頁面。在控制臺頁面進(jìn)行區(qū)域選擇。目前,“北京四”區(qū)域提供了免費(fèi)GPU訓(xùn)練和免費(fèi)CPU部署資源,也可以選擇該區(qū)域以便后續(xù)使用這些免費(fèi)資源。單擊
圖標(biāo),在“服務(wù)列表”清單中選擇“對象存儲服務(wù)OBS”,進(jìn)入OBS管理控制臺。2.2.2華為云簡介2.華為云的對象存儲服務(wù)創(chuàng)建桶在創(chuàng)建桶頁面中,填寫配置所需的相關(guān)參數(shù)。配置完畢后,單擊“立即創(chuàng)建”,頁面跳轉(zhuǎn)后,在“桶名稱”列表中可看到成功創(chuàng)建的桶。2.2.2華為云簡介2.華為云的對象存儲服務(wù)上傳文件至桶在桶列表中,單擊要存儲文件的桶名稱,進(jìn)入“概覽”頁面,單擊導(dǎo)航欄中的“對象”。新建文件夾并上傳本地文件。2.2.3ModelArts自動學(xué)習(xí)簡介1.進(jìn)入ModelArts控制臺打開華為云ModelArts的方式和打開對象存儲服務(wù)OBS方式一樣。在“服務(wù)列表”中找到“EI企業(yè)智能”目錄下的“ModelArts”。單擊ModelArts后,進(jìn)入“總覽”頁面。2.2.3ModelArts自動學(xué)習(xí)簡介2.選擇ModelArts自動學(xué)習(xí)項(xiàng)目在“總覽”界面可根據(jù)“新手入門”引導(dǎo)完成自動學(xué)習(xí)物體檢測的應(yīng)用。單擊導(dǎo)航欄左側(cè)“自動學(xué)習(xí)”,列表中是當(dāng)下ModelArts自動學(xué)習(xí)可實(shí)現(xiàn)的任務(wù),包括圖像分類、物體檢測、預(yù)測分析、聲音分類和文本分類。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例1.基于ModelArts的圖像分類解決一個計(jì)算機(jī)視覺領(lǐng)域的圖像二分類問題,使用貓狗數(shù)據(jù)集進(jìn)行圖像分類訓(xùn)練和預(yù)測。數(shù)據(jù)文件夾準(zhǔn)備在桶中自主命名建立兩個文件夾,用于后續(xù)步驟中選擇數(shù)據(jù)集輸入和數(shù)據(jù)集輸出位置。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例1.基于ModelArts的圖像分類項(xiàng)目創(chuàng)建單擊自動學(xué)習(xí)項(xiàng)目任務(wù)頁面中圖像分類下的“創(chuàng)建項(xiàng)目”按鈕,創(chuàng)建圖像分類項(xiàng)目。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例1.基于ModelArts的圖像分類數(shù)據(jù)上傳與標(biāo)注分別添加配套資源中的貓狗圖片并完成圖片標(biāo)注。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例1.基于ModelArts的圖像分類自動訓(xùn)練單擊“開始訓(xùn)練”按鈕,完成參數(shù)設(shè)置。完成訓(xùn)練訓(xùn)練設(shè)置完成后,按照引導(dǎo)“發(fā)布”,即開始模型的自動訓(xùn)練。待訓(xùn)練狀態(tài)變?yōu)椤澳P桶l(fā)布中”,最后變?yōu)椤耙淹瓿伞?,則自動訓(xùn)練完成。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例1.基于ModelArts的圖像分類模型部署訓(xùn)練成功后,單擊“部署”,開始將模型部署上線為在線服務(wù)。服務(wù)測試上傳配套資源中的任意一張相關(guān)圖片,單擊“預(yù)測”按鈕進(jìn)行預(yù)測。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例2.基于ModelArts的預(yù)測分析利用波士頓房價數(shù)據(jù)集,通過回歸建立房價影響因素(自變量)和房價(因變量)之間的關(guān)系模型,實(shí)現(xiàn)對房價的預(yù)測。數(shù)據(jù)文件夾和文件準(zhǔn)備在桶中自主命名文件夾,如“predictive-data”;進(jìn)入文件夾,點(diǎn)擊“上傳對象”,上傳相關(guān)數(shù)據(jù);波士頓房價數(shù)據(jù)集包含14個屬性。項(xiàng)目創(chuàng)建單擊自動學(xué)習(xí)項(xiàng)目任務(wù)頁面中預(yù)測分析下的“創(chuàng)建項(xiàng)目”按鈕,完成相關(guān)配置,創(chuàng)建預(yù)測分析項(xiàng)目。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例2.基于ModelArts的預(yù)測分析數(shù)據(jù)標(biāo)注單擊“項(xiàng)目創(chuàng)建”按鈕,跳轉(zhuǎn)到數(shù)據(jù)標(biāo)注頁面;選擇“attr_14”列為“標(biāo)簽列”,標(biāo)簽數(shù)據(jù)類型選擇為“連續(xù)數(shù)值”,預(yù)測分析將訓(xùn)練回歸模型。自動訓(xùn)練使用默認(rèn)的訓(xùn)練設(shè)置參數(shù)完成訓(xùn)練設(shè)置;訓(xùn)練成功后,訓(xùn)練狀態(tài)變?yōu)椤耙淹瓿伞薄?.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例2.基于ModelArts的預(yù)測分析完成訓(xùn)練訓(xùn)練完成后,可以在完成界面中查看訓(xùn)練詳情;評估值為“MAE”(平均絕對誤差)、“MSE”(均方誤差)和“RMSE”(均方根誤差);一般來說,誤差值越小表示模型越好。模型部署點(diǎn)擊“部署”按鈕,按引導(dǎo)將模型部署上線為在線服務(wù)。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例2.基于ModelArts的預(yù)測分析服務(wù)測試選擇管理狀態(tài)為“運(yùn)行中”的服務(wù)版本,在“服務(wù)測試”的“代碼”區(qū)域,輸入調(diào)試代碼進(jìn)行預(yù)測。相關(guān)調(diào)試代碼在配套資源的相應(yīng)文件夾中。點(diǎn)擊“預(yù)測”按鈕,將會在“返回結(jié)果”區(qū)域中的“predictioncol”行看到預(yù)測結(jié)果。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例3.基于ModelArts的文本分類使用新聞標(biāo)題數(shù)據(jù)集(包含教育、財(cái)經(jīng)、政治和社會四個主題),自動訓(xùn)練出一個根據(jù)新聞標(biāo)題進(jìn)行文本分類的模型,預(yù)測新輸入的新聞標(biāo)題主題。數(shù)據(jù)文件夾準(zhǔn)備點(diǎn)擊“新建文件夾”,分別建立名為“THU-news-out”和“THU-news”的文件夾。項(xiàng)目創(chuàng)建單擊自動學(xué)習(xí)項(xiàng)目任務(wù)頁面中文本分類下的“創(chuàng)建項(xiàng)目”按鈕,完成相關(guān)配置,創(chuàng)建預(yù)測分析項(xiàng)目。在添加標(biāo)簽集選項(xiàng)中依次添加教育、時政、財(cái)經(jīng)和社會類標(biāo)簽,可選擇不同的標(biāo)簽顏色加以區(qū)分。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例3.基于ModelArts的文本分類數(shù)據(jù)上傳與標(biāo)注單擊“添加文件”,選擇配套資源相應(yīng)的文件夾,上傳各類別的文本數(shù)據(jù)并完成每條數(shù)據(jù)的標(biāo)注。自動訓(xùn)練單擊“開始訓(xùn)練”按鈕,選擇默認(rèn)配置參數(shù),即可按引導(dǎo)開始模型的自動訓(xùn)練。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例3.基于ModelArts的文本分類完成訓(xùn)練訓(xùn)練狀態(tài)由“運(yùn)行中”變?yōu)椤耙淹瓿伞保赐瓿闪四P偷淖詣佑?xùn)練。訓(xùn)練完成后,可在完成界面中查看訓(xùn)練詳情,如“評估結(jié)果”、“訓(xùn)練參數(shù)”和“分類統(tǒng)計(jì)表”等。2.2.4ModelArts自動學(xué)習(xí)項(xiàng)目實(shí)例3.基于ModelArts的文本分類模型部署單擊版本管理區(qū)域中的“部署”,按引導(dǎo)將模型部署上線。服務(wù)測試部署完成后,在“服務(wù)測試”文本框中輸入想要測試的新聞標(biāo)題,單擊“預(yù)測”按鈕,可以得到預(yù)測結(jié)果。2.2.5習(xí)題與實(shí)踐1.簡答題請簡述ModelArts自動學(xué)習(xí)的操作流程包含哪些階段。圖像分類中,如果不是簡單地對貓和狗進(jìn)行二分類,而是一個多分類問題,還有哪些應(yīng)用場景?請簡述文本分類技術(shù)可以應(yīng)用到哪些應(yīng)用場景中。2.實(shí)踐題請使用ModelArts自動學(xué)習(xí),實(shí)現(xiàn)天氣圖片的三分類:多云(cloud)、下雨(rain)、晴天(shine)。請使用ModelArt自動學(xué)習(xí),實(shí)現(xiàn)銀行存款預(yù)測。2.3體驗(yàn)人工智能編程語言2.3.1扣叮人工智能實(shí)驗(yàn)室簡介1.登錄并選擇實(shí)驗(yàn)?zāi)J皆L問騰訊扣叮網(wǎng)站(),選擇合適的登錄方式完成登錄。騰訊扣叮人工智能實(shí)驗(yàn)室提供兩種模式,瀏覽器模式(JS)和云模式(Python)。為方便快速適應(yīng)編程環(huán)境,在對應(yīng)選擇欄分別選擇“云模式”、“中文積木”和“積木編程”選項(xiàng)。2.3.1扣叮人工智能實(shí)驗(yàn)室簡介2.了解人工智能實(shí)驗(yàn)室中Python的數(shù)據(jù)類型Python支持整型、浮點(diǎn)型、字符串、列表、元組、集合和字典等數(shù)據(jù)類型。變量在使用前都必須賦值。進(jìn)入騰訊扣叮人工智能實(shí)驗(yàn)室后,單擊左側(cè)導(dǎo)航欄中的各種積木分類,可以打開具體操作的積木塊。2.3.1扣叮人工智能實(shí)驗(yàn)室簡介3.了解人工智能實(shí)驗(yàn)室中Python程序的控制結(jié)構(gòu)Python支持三大類控制結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)以及循環(huán)結(jié)構(gòu):順序結(jié)構(gòu),就是按照代碼順序自上而下地執(zhí)行;分支結(jié)構(gòu),根據(jù)判斷條件選擇不同路徑的運(yùn)行方式;循環(huán)結(jié)構(gòu),對某個語句塊形成循環(huán)運(yùn)行模式,直到滿足終止條件時退出循環(huán)。2.3.1扣叮人工智能實(shí)驗(yàn)室簡介3.了解人工智能實(shí)驗(yàn)室中Python程序的控制結(jié)構(gòu)例2-3-2如下左圖,根據(jù)年齡判斷是否成年。例2-3-3如上右圖,通過循環(huán)把1到10之間的整數(shù)相加起來,得到累加和。2.3.2Python編程體驗(yàn)1.Python編程體驗(yàn)蒙特卡洛方法依賴于重復(fù)隨機(jī)采樣來獲取數(shù)值結(jié)果,基本概念是使用隨機(jī)性來解決原則上可以確定的問題。圓周率π的計(jì)算是蒙特卡洛方法的一個簡單示例。在正方形內(nèi)部隨機(jī)選擇一個點(diǎn),則該點(diǎn)位于圓之內(nèi)或圓之外,重復(fù)該過程很多次,根據(jù)圓內(nèi)的隨機(jī)點(diǎn)與正方形中隨機(jī)點(diǎn)總數(shù)的比率,可以估算出π。
2.3.2Python編程體驗(yàn)1.Python編程體驗(yàn)例2-3-4使用騰訊扣叮人工智能實(shí)驗(yàn)室,采用蒙特卡洛方法計(jì)算π。在橫縱坐標(biāo)軸區(qū)間都為[0,1]的區(qū)域隨機(jī)產(chǎn)生n個坐標(biāo)點(diǎn),計(jì)算坐標(biāo)點(diǎn)到原點(diǎn)的距離,如果距離小于等于1,則認(rèn)為坐標(biāo)點(diǎn)在圓內(nèi),計(jì)算圓內(nèi)坐標(biāo)點(diǎn)的數(shù)目與總數(shù)的比例,然后乘以4,就可以求得圓周率。2.3.3習(xí)題與實(shí)踐1.簡答題請簡述Python有哪些數(shù)據(jù)類型。請簡述Python支持哪三大控制結(jié)構(gòu),并說明是否任何一個算法都可以使用這三種控制結(jié)構(gòu)來完成。2.實(shí)踐題騰訊扣叮人工智能實(shí)驗(yàn)室的云模式下,提供了“波士頓房價-積木”的樣例,該樣例采用神經(jīng)網(wǎng)絡(luò)(多層感知機(jī))模型進(jìn)行波士頓房價預(yù)測。一個完整的神經(jīng)網(wǎng)絡(luò)模型主要包括準(zhǔn)備數(shù)據(jù)、定義網(wǎng)絡(luò)、準(zhǔn)備訓(xùn)練、訓(xùn)練網(wǎng)絡(luò)和評估結(jié)果五個階段。請打開該樣例,找到并理解以上五個階段,按要求完成內(nèi)容。打開騰訊扣叮人工智能實(shí)驗(yàn)室,在“云模式(Python)”下使用“積木編程”完成給定任務(wù)。2.4Anaconda開發(fā)環(huán)境2.4.1Anaconda安裝Anaconda是一個Python的發(fā)行版內(nèi)置了大批科學(xué)計(jì)算工具包具有包管理和環(huán)境管理的功能在多個項(xiàng)目要求不同開發(fā)環(huán)境的應(yīng)用場景下,還可以創(chuàng)建不同的虛擬環(huán)境進(jìn)行隔離附帶了IDLE、Spyder和JupyterNotebook等軟件1.下載Anaconda訪問網(wǎng)址/products/individual,選擇合適的版本下載。2.安裝Anaconda2.4.1Anaconda安裝3.查看Anaconda單擊開始菜單,在軟件安裝列表中可以找到“Anaconda3(64-bit)”。安裝程序包括AnacondaNavigatorAnacondaPromptJupyterNotebookSpyder等AnacondaNavigator方便地啟動應(yīng)用方便地管理conda包、環(huán)境和頻道等1.第三方庫的安裝Anaconda中提供了pip和conda兩種方式管理工具包。打開AnacondaPrompt,在其中輸入相關(guān)命令,就可以使用pip和conda進(jìn)行工具包的管理了。2.4.2第三方庫的安裝2.4.2第三方庫的安裝2.pip中的常用命令安裝包:pipinstall包名更新包:pipinstall包名--upgrade卸載包:pipuninstall包名查詢已經(jīng)安裝的包:piplist查詢已安裝包的詳細(xì)信息:pipshow包名查詢可以升級的包:piplist-o查看pip的版本:pip-V更新pip版本:pipinstall--upgradepip2.4.2第三方庫的安裝3.conda中的常用命令安裝包:condainstall包名更新包:condaupdate包名卸載包:condauninstall包名查詢已安裝的包:condalist查看conda的版本:conda-V更新conda版本:condaupdateconda更新Anaconda版本:condaupdateanaconda更新Python版本:condaupdatepython2.4.2第三方庫的安裝4.更改鏡像源解決使用pip或者conda安裝工具包時,經(jīng)常出現(xiàn)的超時、無法下載的問題。永久更改pip的鏡像源pipconfigsetglobal.index-url/simple永久更改conda的鏡像源condaconfig--addchannels/anaconda/pkgs/freecondaconfig--addchannels/anaconda/pkgs/maincondaconfig--setshow_channel_urlsyes2.4.3IDLE簡介1.IDLE簡介IDLE是Python軟件包自帶的一個集成開發(fā)環(huán)境,可以方便地創(chuàng)建、運(yùn)行和調(diào)試Python程序。使用IDLE可以直接在PythonShell窗口寫入并執(zhí)行代碼,也可以通過創(chuàng)建Python文件的方式寫入并執(zhí)行代碼。2.PythonShell中編程打開AnacondaPrompt,輸入命令“idle”按回車鍵執(zhí)行,即可打開PythonShell窗口。在Shell窗口中輸入代碼,按鍵盤回車鍵,代碼執(zhí)行。2.4.3IDLE簡介3.Python文件中編程單擊PythonShell窗口中的“File”,選擇“NewFile”創(chuàng)建Python文件。在文件中寫入代碼,保存文件。單擊文件窗口中的“Run”,選擇“RunModule”執(zhí)行文件中的代碼。4.打開Python文件在IDLE的PythonShell窗口中,單擊“File”,選擇“Open…”,在彈出框中查找要打開的文件位置,選擇該文件,單擊“打開”就可以打開該P(yáng)ython文件。2.4.4Spyder簡介1.Spyder簡介Spyder是一個強(qiáng)大的交互式Python語言開發(fā)環(huán)境,提供高級的代碼編輯、交互測試、調(diào)試等功能。Anaconda已經(jīng)集成了Spyder編輯器。左側(cè)為文件代碼編輯區(qū),右上方為輔助功能區(qū),右下方為IPython控制臺區(qū)。2.4.4Spyder簡介2.IPython控制臺中逐行執(zhí)行代碼在IPython控制臺中輸入代碼,按回車鍵,代碼執(zhí)行。3.文件代碼編輯區(qū)中編程在代碼編輯區(qū)輸入代碼,單擊工具欄中的程序運(yùn)行圖標(biāo),程序執(zhí)行,并在右下方的IPython控制臺中顯示執(zhí)行結(jié)果。2.4.5JupyterNotebook簡介1.JupyterNotebook簡介JupyterNotebook是一個基于網(wǎng)頁的交互式代碼編輯軟件,可被應(yīng)用于代碼開發(fā)、文檔編寫、代碼運(yùn)行和結(jié)果展示的全過程計(jì)算。JupyterNotebook的運(yùn)行分為:服務(wù)器端瀏覽器端默認(rèn)根目錄為“C:\Users\用戶名”。創(chuàng)建的筆記本會默認(rèn)保存至該目錄下。其它筆記本也可以放入該目錄后打開。2.4.5JupyterNotebook簡介2.JupyterNotebook中編程在JupyterNotebook的主界面中新建“ipynb”格式的筆記本。在筆記本的第一行寫入代碼,單擊工具欄中的“運(yùn)行”按鈕執(zhí)行該代碼塊,代碼塊下方會顯示代碼的執(zhí)行結(jié)果。2.4.5JupyterNotebook簡介3.JupyterNotebook中文檔書寫選擇一個輸入框,單擊工具欄中的“代碼”下拉框,選擇“Markdown”(或“標(biāo)記”)。用戶在輸入框中寫入說明文字,單擊工具欄中的“運(yùn)行”按鈕后,該處說明文字將以文檔的形式呈現(xiàn)。2.4.6習(xí)題與實(shí)踐1.簡答題Anaconda應(yīng)用中集成了哪些程序?conda和pip在使用上有什么區(qū)別?分別有哪些常用的命令?簡述使用IDLE創(chuàng)建Python文件、寫入代碼、保存文件并執(zhí)行代碼的操作流程。簡述使用JupyterNotebook進(jìn)行代碼開發(fā)、文檔編寫、代碼運(yùn)行的操作流程。2.實(shí)踐題請從Anaconda官網(wǎng)(/products/individual)下載并安裝Anaconda環(huán)境。請?jiān)贏nacondaPrompt命令行程序中,分別查看pip和conda的版本,以及pip和conda中已經(jīng)安裝的包名稱及版本。在IDLE、Spyder和JupyterNotebook三個軟件中實(shí)現(xiàn)“IloveChina!”的輸出。本章小結(jié)
本章小結(jié)
人工智能基礎(chǔ)第3章人工智能編程語言學(xué)習(xí)目標(biāo)1.了解Python語言及其特點(diǎn),知道Python語言的基本語法要素;2.掌握基本數(shù)據(jù)類型的常量表示、變量的創(chuàng)建、表達(dá)式語句書寫;3.掌握組合數(shù)據(jù)對象的創(chuàng)建及使用;4.了解程序的結(jié)構(gòu)化流程控制,學(xué)會簡單Python程序的編寫;5.掌握常用的Python內(nèi)置函數(shù)、標(biāo)準(zhǔn)模塊函數(shù)的使用;6.掌握函數(shù)的定義及調(diào)用,學(xué)會用模塊化設(shè)計(jì)程序。3.1Python語言及基本語法3.1.1Python語言概述1.python語言概述Python是一種結(jié)合了解釋型、編譯性和交互式的面向?qū)ο笥?jì)算機(jī)編程語言Python是由荷蘭人GuidovanRossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。3.1.1Python語言概述1.python語言的特點(diǎn)面向?qū)ο髷?shù)據(jù)類型豐富功能強(qiáng)大的模塊庫可拓展性(可嵌入性)易讀、易維護(hù)性可移植性3.1.2基本字符、標(biāo)識符和關(guān)鍵字1.基本字符Python語言的基本字符包括:數(shù)字字符:0,1,2,3,4,5,6,7,8,9。大小寫拉丁字母:a~z,A~Z。中文字符其他一些可打印字符,如:!@#$%&()*?:<>+-=\[]{}特殊字符,如:空格符、換行符、制表符等。3.1.2基本字符、標(biāo)識符和關(guān)鍵字2.標(biāo)識符通常使用有一定意義的標(biāo)識符命名變量Day_of_year,ID_numberPython中的標(biāo)識符命名規(guī)則:由大小寫英文字母、漢字、數(shù)字、下劃線組成;以英文字母、漢字、下劃線為首字符,長度任意,大小寫敏感;不能與python關(guān)鍵字同名。3.1.2基本字符、標(biāo)識符和關(guān)鍵字3.關(guān)鍵字3.1.3常量和變量1.常量所謂常量,一般是指不需要改變也不能改變的字面值,例如整數(shù)389,浮點(diǎn)數(shù)23.56,字符串'hello',都是常量。這些數(shù)據(jù)是不會改變的,也稱為字面量。Python語言中數(shù)據(jù)儲存在內(nèi)存后被封裝為一個對象,每一個對象都由對象ID、類型和值來標(biāo)識。3.1.3常量和變量2.變量變量的值是可以變化的。在Python中,不需要事先聲明變量名及其類型,直接賦值即可創(chuàng)建任意類型的對象變量。不僅變量的值是可以變化的,變量的類型也是隨時可以發(fā)生改變的。3.1.3常量和變量“動態(tài)類型”技術(shù)3.1.4基本數(shù)據(jù)類型Python的基本數(shù)據(jù)類型包括3種數(shù)字類型整型(int)浮點(diǎn)型(float)復(fù)數(shù)(complex),表示邏輯值的布爾類型(bool)。3.1.4基本數(shù)據(jù)類型1.整型數(shù)據(jù)int在Python3.X里只有一種整數(shù)類型int。Python的整數(shù)在理論上沒有取值范圍限制,實(shí)際上的取值范圍受限于使用的計(jì)算機(jī)的內(nèi)存大小。整數(shù)類型可以用4種進(jìn)制表示,分別為:十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制。Python中提供了內(nèi)置函數(shù)bin()、oct()、int()、hex()對整數(shù)進(jìn)行各種進(jìn)制之間的轉(zhuǎn)換。3.1.4基本數(shù)據(jù)類型2. 浮點(diǎn)型數(shù)據(jù)float浮點(diǎn)類型數(shù)據(jù)表示存在小數(shù)部分的數(shù)據(jù),支持小數(shù)形式表示和指數(shù)形式表示。小數(shù)形式:例如12是整數(shù),12.0就是浮點(diǎn)數(shù)??茖W(xué)計(jì)數(shù)法:由正號、負(fù)號、數(shù)字和字母e(或E)組成,例如8.9e-4表示8.9×10-4
即0.00089。計(jì)算機(jī)中的浮點(diǎn)數(shù)都是以近似值存儲數(shù)據(jù),Python的float類型數(shù)通??商峁┲炼?5個數(shù)字的精度。3.1.4基本數(shù)據(jù)類型3. 布爾類型數(shù)據(jù)boolPython的布爾類型數(shù)據(jù)只有兩個:True和False,表示真和假。以True和False為值的表達(dá)式稱為布爾表達(dá)式,用于表示某種條件是否成立,是選擇控制和循環(huán)控制中必不可少的條件判斷表達(dá)式。3.1.4基本數(shù)據(jù)類型4.復(fù)數(shù)類型數(shù)據(jù)complexPython提供復(fù)數(shù)類型數(shù)據(jù),復(fù)數(shù)由實(shí)數(shù)部分(real)和虛數(shù)部分(image)構(gòu)成,表示為:real+imag(J/j后綴)4.23+8.5j3.1.5表達(dá)式及語句1.運(yùn)算符及表達(dá)式表達(dá)式是數(shù)據(jù)對象和運(yùn)算符按照一定的規(guī)則寫出的式子,描述計(jì)算過程。表達(dá)式可以分為算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等。最簡單的表達(dá)式可以是一個常量或一個變量。3.1.5表達(dá)式及語句(1)算術(shù)運(yùn)算3.1.5表達(dá)式及語句(2)關(guān)系運(yùn)算
<、<=、>、>=、==、!=3.1.5表達(dá)式及語句(3)邏輯運(yùn)算:與(and)、或(or)、非(not)3.1.5表達(dá)式及語句2.語句語句是程序最基本的執(zhí)行單位,程序的功能就是通過執(zhí)行一系列語句來實(shí)現(xiàn)的。Python語言中的語句分為簡單語句和復(fù)合語句。簡單語句包括:表達(dá)式語句、賦值語句、輸入輸出語句、函數(shù)調(diào)用語句、return語句、break語句、continue語句、import語句等。復(fù)合語句包括:if選擇語句、while循環(huán)語句、for循環(huán)語句、函數(shù)定義等。3.1.5表達(dá)式及語句(1)語句書寫規(guī)則Python語言通常一行一條語句,使用回車換行符分割。從第一列開始頂格書寫,前面不能有多余空格。復(fù)合語句的構(gòu)造體必須縮進(jìn)。如果語句太長,可以使用反斜杠(\)來實(shí)現(xiàn)多行語句。分號(;)可以用于就在一行書寫多條語句。3.1.5表達(dá)式及語句(2)注釋注釋是一種輔助性文字,在解釋時會被解釋器忽略,不會被計(jì)算機(jī)執(zhí)行。Python語言中只提供了單行注釋的符號"#"在Python程序中實(shí)現(xiàn)多行注釋可以使用多行字符串常量表示。3.1.5表達(dá)式及語句(3)賦值語句在Python中,變量只是一個名稱。Python的賦值語句通過賦值符號“=”實(shí)現(xiàn),用賦值符號將右邊數(shù)據(jù)對象與左邊的變量名建立了引用關(guān)系,其一般使用方法如下,尖括號的內(nèi)容表示具體使用時需要替代:<變量>=<表達(dá)式>3.1.5表達(dá)式及語句連續(xù)賦值兩個變量引用了同一個整數(shù)數(shù)據(jù)對象10。3.1.5表達(dá)式及語句同步賦值語句3.1.5表達(dá)式及語句復(fù)合賦值語句3.1.6輸入與輸出1.輸入(1)input()函數(shù)<變量>=input([<提示文本串>])3.1.6輸入與輸出(2)int()、float()函數(shù)3.1.6輸入與輸出2.輸出(1)print()函數(shù)3.1.6輸入與輸出(2)格式化字符串方法format()3.1.6輸入與輸出3.1.7習(xí)題與實(shí)踐1.簡答題(1)請指出下面合法的Python標(biāo)識符有哪些?(2)請指出以下哪些不是Python的關(guān)鍵字?(3)請指出以下哪些不是Python支持的數(shù)據(jù)類型?(4)Python程序中表示注釋的方法有哪些?2.實(shí)踐題(1)請?jiān)赑ythonshell中嘗試輸入以下數(shù)據(jù)類型的常量,使用type()函數(shù)查看數(shù)據(jù)的類型,注意每種常量的字面表示方式。(2)請?jiān)赑ythonshell中嘗試以下有關(guān)BMI值計(jì)算的操作語句。3.2組合數(shù)據(jù)對象Python的內(nèi)置類型組合數(shù)據(jù)3.2.1字符串字符串常量的表示
可以把一個或多個字符用單引號(')、雙引號(")或者三引號(''')括起來,三者的差別在于:使用單引號表示字符串時,字符串中可以包含雙引號;使用雙引號表示字符串時,字符串中可以包含單引號;使用三引號表示字符串時,字符串內(nèi)容可以包含單引號、雙引號和換行符。3.2.1字符串1. 字符串創(chuàng)建字符串的常量表示及轉(zhuǎn)義字符使用示例3.2.1字符串1. 字符串創(chuàng)建字符串變量示例3.2.1字符串2.字符串的基本運(yùn)算3.2.1字符串(1)索引操作3.2.1字符串(2)切片操作3.2.1字符串(3)連接和復(fù)制操作字符串類型支持使用“+”聯(lián)接兩個字符串,使用“*”進(jìn)行字符串的復(fù)制。3.2.1字符串(4)子串測試運(yùn)算
<子串>in<字符串>3.2.1字符串(5)str對象的方法3.2.1字符串(5)str對象的方法3.2.2列表和元組Python中的元組和列表可以存儲任意數(shù)量的一組相關(guān)數(shù)據(jù),形成一個整體。其中的每一項(xiàng)可以是任意數(shù)據(jù)類型的數(shù)據(jù)項(xiàng)。各數(shù)據(jù)項(xiàng)之間按索引號排列并允許按索引號訪問。元組和列表的區(qū)別為:元組是不可變對象,創(chuàng)建之后就不能改變其數(shù)據(jù)成員,這點(diǎn)與字符串是相同的;列表是可變對象,創(chuàng)建后允許修改、插入或刪除其中的數(shù)據(jù)成員,列表可以看作是一組數(shù)據(jù)變量的集合,可以對變量重新賦值,也可以增加或刪除變量。3.2.2列表和元組
1.元組和列表的創(chuàng)建(1)元組的創(chuàng)建
元組(tuple)一般使用圓括號()來標(biāo)識,數(shù)組項(xiàng)之間用逗號分隔,可以是不同的數(shù)據(jù)類型。3.2.2列表和元組(2)列表的創(chuàng)建
列表(list)用方括號[]來標(biāo)識,數(shù)據(jù)項(xiàng)之間以逗號分隔,可以是不同的數(shù)據(jù)類型。3.2.2列表和元組2. 元組和列表的序列操作(1)聯(lián)接和復(fù)制操作3.2.2列表和元組(2)索引訪問操作列表和元組、字符串根本區(qū)別在于列表是可變對象,每一個數(shù)據(jù)項(xiàng)可以視為一個變量,通過下標(biāo)訪問修改變量的值,所以列表元素可以讀取,可以修改。元組和字符串的元素是不能通過下標(biāo)訪問修改的。這使得列表可以通過索引操作更靈活地完成修改、刪除、插入等維護(hù)操作。3.2.2列表和元組(3)序列函數(shù)Python為序列對象提供了max()、min()、len()、sorted()等內(nèi)置函數(shù)支持求序列最大值、序列最小值、序列長度、序列排序操作。3.2.2列表和元組sorted()函數(shù)3.2.2列表和元組(4)邏輯判斷操作
使用in和notin來測試是否是元組或列表元素,測試結(jié)果返回True或False布爾值。3.2.2列表和元組迭代訪問的算法模式下標(biāo)訪問的算法模式(5)遍歷操作3.2.2列表和元組3.元組和列表的方法(1)元組的常用方法3.2.2列表和元組(2)列表的常用方法3.2.2列表和元組(2)列表的常用方法3.2.2列表和元組(2)列表的常用方法3.2.2列表和元組(2)列表的常用方法3.2.3字典和集合1.集合集合是無序的對象的聚集,是可變對象。集合是無序的,不能通過數(shù)字進(jìn)行索引,而且集合中元素不能重復(fù)出現(xiàn)。根據(jù)集合的特性和集合運(yùn)算,集合經(jīng)常應(yīng)用:去除列表中的重復(fù)元素求兩個列表的相同元素(交集)求兩個列表的不同元素(差集)3.2.3字典和集合(1)創(chuàng)建集合Python的集合可分為可變集合(set)和不可變集合(frozenset)。對可變集合(set),可以用花括號{}標(biāo)識直接創(chuàng)建,也可以通過set()函數(shù)創(chuàng)建,數(shù)據(jù)項(xiàng)之間以逗號分隔。3.2.3字典和集合列表去重復(fù)3.2.3字典和集合(2)集合運(yùn)算3.2.3字典和集合(3)集合對象的方法3.2.3字典和集合2.字典字典是Python中唯一內(nèi)置映射數(shù)據(jù)類型,與集合類型一樣是無序的,通過指定的鍵從字典訪問對應(yīng)值。鍵值對沒有特定的排列順序,不能通過索引操作訪問字典元素。3.2.3字典和集合(1)字典的創(chuàng)建通過字面量直接創(chuàng)建通過dict()函數(shù)創(chuàng)建使用序列創(chuàng)建字典。3.2.3字典和集合(2)字典的訪問操作字典元素的訪問方式是通過鍵訪問相關(guān)聯(lián)的值,設(shè)d為字典對象,常用訪問操作有:d[key]
:返回鍵為key的value,如果key不存在,導(dǎo)致keyError異常報(bào)錯d[key]=value:如果key存在,設(shè)置值為value,如果key不存在,增加該鍵值對3.2.3字典和集合3.2.3字典和集合(3)字典對象的方法3.2.3字典和集合字典訪問常用算法模式3.2.4習(xí)題與實(shí)踐1.簡答題(1)請寫出判斷一個字符ch是數(shù)字字符的條件表達(dá)式。(2)如何使用Python實(shí)現(xiàn)一個英文標(biāo)題的單詞首字符大寫?(3)求一個序列S1的逆序序列S2的表達(dá)式是什么?(4)實(shí)現(xiàn)對一個字符串列表按字符串長度排序。(5)一位運(yùn)動員可以參加多個項(xiàng)目,請簡述使用Python求解參加了運(yùn)動會的運(yùn)動員名單的方法。2.實(shí)踐題(1)輸入s1="Hello",輸入s2="Python"再輸入s=s1+s2,顯示s的值。(2)輸入str="Hello,PythonWorld!",str[0],str[5],str[5],str[6:-7],str[::-1]。(3)輸入s="PythonString",再輸入下面語句,理解字符串運(yùn)算(4)輸人s1='programming',再輸入s2='language'寫出能產(chǎn)生下列結(jié)果的表達(dá)式。(5)輸入:t1='001001','LiSi','men',18,t1,t1[0]和t1[1],type(t1),len(t1)。(6)輸入:t2=[’001001’,’LiSi’,’men’,18],t2,t2[0]和t2[1],type(t2),’men’int2。(7)輸入:t2+=[],輸入:t2。輸入:t2[0:1]=[],再輸入:t2。(8)輸入:a=4,輸入:d={},輸入:d[a]=10,輸入:d['1']=20(9)輸入:t=1,2,3,輸入:p=[1,2,3],輸入:s={1,2,3}(10)輸入:d1={"A":65,"B":66,"a":97,"c":99},d2=d1,d2["A"]=0,s=d1["A"]+d2["A"]3.3程序控制結(jié)構(gòu)流程控制概述流程控制概述3.3.1順序結(jié)構(gòu)任何一個程序都可以看作是一個順序結(jié)構(gòu)程序中的語句按照它們出現(xiàn)的先后順序一條一條地執(zhí)行,一條語句執(zhí)行結(jié)束,自動地執(zhí)行下一條語句。例3-3-1
已知一個圓的半徑,求其內(nèi)接正五邊形的面積。3.3.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱分支結(jié)構(gòu),是指程序的執(zhí)行出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行。常見的選擇結(jié)構(gòu):單分支if語句二分支if-else語句多分支if-elif-else語句。3.3.2選擇結(jié)構(gòu)1.雙分支結(jié)構(gòu)3.3.2選擇結(jié)構(gòu)2.單分支結(jié)構(gòu)3.3.2選擇結(jié)構(gòu)多分支結(jié)構(gòu)3.3.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是指程序中滿足某一條件時要重復(fù)執(zhí)行某些語句,直到條件為假時才可終止循環(huán)。在循環(huán)結(jié)構(gòu)中的關(guān)鍵是:滿足什么條件時執(zhí)行循環(huán)?重復(fù)執(zhí)行哪些步驟?Python語言提供了有兩種循環(huán)語句:while語句是當(dāng)循環(huán)語句,for語句是迭代循環(huán)語句,遍歷獲取迭代序列中的每一個元素。3.3.3循環(huán)結(jié)構(gòu)1.while語句3.3.3循環(huán)結(jié)構(gòu)2.for語句3.3.3循環(huán)結(jié)構(gòu)使用Python中內(nèi)置的函數(shù)range(),可以創(chuàng)建一個從start到end-1,步長為step的有序的整數(shù)數(shù)列。語法如下:range(start,end,step)3.3.3循環(huán)結(jié)構(gòu)3.break、continue語句當(dāng)break語句在循環(huán)結(jié)構(gòu)中執(zhí)行時,它會忽視后面的代碼塊,立即跳出其所在的最內(nèi)層的循環(huán)結(jié)構(gòu),轉(zhuǎn)而執(zhí)行該內(nèi)層循環(huán)結(jié)構(gòu)后面的語句。當(dāng)continue語句在循環(huán)結(jié)構(gòu)中執(zhí)行時,并不會退出循環(huán)結(jié)構(gòu),而是立即結(jié)束本次循環(huán),重新開始下一輪循環(huán),也就是說,跳過循環(huán)體中在continue語句之后的所有語句,繼續(xù)下一輪循環(huán)。3.3.3循環(huán)結(jié)構(gòu)3.3.3循環(huán)結(jié)構(gòu)3.3.4習(xí)題與實(shí)踐1.簡答題(1)構(gòu)成流程控制的三種基本結(jié)構(gòu)是什么?(2)試比較循環(huán)結(jié)構(gòu)語句while和for的使用場合。(3)break語句和continue語句的區(qū)別是什么?2.實(shí)踐題(1)如果點(diǎn)正好在圓的邊線上(d==r),顯示“點(diǎn)在圓上”。(2)分別打開“配套資源\第3章”下sy3-3-2-1.py、sy3-3-2-2.py、sy3-3-2-3.py,補(bǔ)全程序,依次完成功能。(3)判斷三角形并計(jì)算面積。輸入三個浮點(diǎn)數(shù)a,b,c,判斷能否以它們?yōu)槿齻€邊構(gòu)成三角形。若能,輸出YES和三角形面積值,否則輸出NO。(4)分段函數(shù)的計(jì)算。完成以下分段函數(shù)的計(jì)算。(5)N階乘的計(jì)算。完成以下功能:鍵盤輸入N的值,輸出N!結(jié)果。3.4模塊和函數(shù)3.4.1模塊一般的高級語言程序系統(tǒng)中都提供系統(tǒng)函數(shù)豐富語言功能。Python的系統(tǒng)函數(shù)由標(biāo)準(zhǔn)庫中的很多模塊提供。標(biāo)準(zhǔn)庫中的模塊,又分成內(nèi)置模塊和非內(nèi)置模塊內(nèi)置模塊__builtin__中的函數(shù)和變量可以直接使用非內(nèi)置模塊要先導(dǎo)入模塊,再使用。3.4.1模塊1.內(nèi)置模塊3.4.1模塊3.4.1模塊2.非內(nèi)置模塊非內(nèi)置模塊指的是Python的一些標(biāo)準(zhǔn)庫,例如:數(shù)學(xué)運(yùn)算的math庫、random庫、decimal庫日期和時間處理的datetime庫、time庫文字處理的re庫數(shù)據(jù)對象的array庫、queue庫系統(tǒng)信息的sys庫、os庫網(wǎng)絡(luò)應(yīng)用的socket庫等3.4.1模塊(1)庫的導(dǎo)入和使用方法1導(dǎo)入:import<模塊名>使用:<模塊名>.<函數(shù)>(<參數(shù)>)<模塊名>.<字面常量>3.4.1模塊(2)庫的導(dǎo)入和使用方法2導(dǎo)入from<模塊名>import<函數(shù)名1>,<函數(shù)名2>…from<模塊名>import*使用<函數(shù)>(<參數(shù)>)3.4.1模塊3.擴(kuò)展模塊3.4.2自定義函數(shù)3.4.2自定義函數(shù)1.函數(shù)的定義3.4.2自定義函數(shù)2.函數(shù)的調(diào)用(1)有返回值的函數(shù)調(diào)用如果函數(shù)有返回值,函數(shù)調(diào)用的時候需要安排接受返回值??梢允琴x值語句,將返回值賦值給一個變量。z=gcd(28,70)可以是表達(dá)式語句,將返回值作為表達(dá)式的一個數(shù)值,繼續(xù)參加運(yùn)算print(gcd(28,70)*gcd(26,65))可以作為函數(shù)調(diào)用的實(shí)參z=gcd(gcd(28,70),21)3.4.2自定義函數(shù)(2)無返回值的函數(shù)調(diào)用沒有返回值的函數(shù)的調(diào)用形式是函數(shù)語句。3.4.2自定義函數(shù)(3)函數(shù)的執(zhí)行過程當(dāng)程序調(diào)用一個函數(shù)是,程序的控制權(quán)就會轉(zhuǎn)移到被調(diào)用的函數(shù),當(dāng)執(zhí)行到函數(shù)結(jié)束或執(zhí)行到一個return語句,函數(shù)將程序的控制權(quán)歸還給函數(shù)調(diào)用處。3.4.3lambda函數(shù)1.lambda函數(shù)的定義lambda函數(shù)是匿名函數(shù),所謂匿名函數(shù),通俗地說就是沒有名字的函數(shù)。lambda函數(shù)沒有名字。
定義lambda函數(shù)的語法如下:lambda參數(shù)列表:表達(dá)式3.4.3lambda函數(shù)2.lambda函數(shù)的應(yīng)用filter()函數(shù)3.4.3lambda函數(shù)map()函數(shù)3.4.4習(xí)題與實(shí)踐1.簡答題(1)請簡述使用標(biāo)準(zhǔn)庫函數(shù)有哪些方法。(2)分別用def和lambda定義一個函數(shù),函數(shù)功能為判斷一個數(shù)是否是偶數(shù)。試比較說明兩種函數(shù)定義和調(diào)用有何不同。2.實(shí)踐題(1)最大公約數(shù)和最小公倍數(shù)(2)閏年輸出(3)墊片面積統(tǒng)計(jì)本章小結(jié)
本章小結(jié)
人工智能基礎(chǔ)第4章人工智能數(shù)據(jù)處理
學(xué)習(xí)目標(biāo)1.了解NumPy數(shù)據(jù)類型。2.了解Pandas數(shù)據(jù)類型。3.掌握表數(shù)據(jù)處理方法。4.了解數(shù)據(jù)統(tǒng)計(jì)分析。5.掌握數(shù)據(jù)可視化。4.1
NumPy數(shù)據(jù)類型4.1
NumPy數(shù)據(jù)類型NumPy是使用python進(jìn)行科學(xué)計(jì)算的基礎(chǔ)軟件包NumPy提供了多維數(shù)組對象ndarray能支持多種數(shù)據(jù)類型的數(shù)值元素的表示和計(jì)算NumPy模塊是第三方模塊,使用前需要導(dǎo)入。代碼如下:importnumpyasnp4.1.1多維數(shù)組對象ndarray1.創(chuàng)建多維數(shù)組對象(一維數(shù)組對象的創(chuàng)建)
調(diào)用array()函數(shù)創(chuàng)建一維數(shù)組格式如下:numpy.array(object,dtype=None,ndmin=0)object:可被轉(zhuǎn)換成數(shù)組的其它數(shù)據(jù)對象dtype:數(shù)組所需的數(shù)據(jù)類型ndmin:指定生成數(shù)組的維數(shù)4.1.1多維數(shù)組對象ndarray1.創(chuàng)建多維數(shù)組對象(一維數(shù)組對象的創(chuàng)建)調(diào)用arange()函數(shù)創(chuàng)建一維數(shù)組使用NumPy中的arange()函數(shù)可以生成數(shù)組,其格式如下所示:numpy.arange([start,]stop[,step,],dtype=None)start:開始的數(shù)字stop:結(jié)束的數(shù)字,但不包括stopstep:步長的數(shù)字4.1.1多維數(shù)組對象ndarray1.創(chuàng)建多維數(shù)組對象(一維數(shù)組對象的創(chuàng)建)調(diào)用linspace()函數(shù)創(chuàng)建一維數(shù)組使用NumPy中的linspace()函數(shù)可以創(chuàng)建等間隔一維數(shù)組,格式如下所示:numpy.linspace(start,stop,num=50,...)start:起始的值stop:結(jié)束的值num:在這個區(qū)間里生成數(shù)字的個數(shù),生成的數(shù)組是等間隔生成的4.1.1多維數(shù)組對象ndarray1.創(chuàng)建多維數(shù)組對象(二維數(shù)組對象的創(chuàng)建)調(diào)用array()函數(shù)創(chuàng)建二維數(shù)組NumPy中的array()函數(shù)也可以基于Python的嵌套列表創(chuàng)建二維數(shù)組。4.1.1多維數(shù)組對象ndarray1.創(chuàng)建多維數(shù)組對象(創(chuàng)建多維數(shù)組的常用方法)Numpy庫還提供了一些數(shù)組創(chuàng)建函數(shù),以滿足對不同維度的需求。調(diào)用reshape()函數(shù)創(chuàng)建多維數(shù)組NumPy中的zeros()函數(shù)用于生成指定形狀的全0數(shù)組NumPy中的ones()函數(shù)用于生成指定形狀的全1數(shù)組調(diào)用隨機(jī)函數(shù)創(chuàng)建多維數(shù)組4.1.1多維數(shù)組對象ndarray2.?dāng)?shù)組元素的訪問(通過索引方式進(jìn)行查詢)例4-1-10:訪問一維數(shù)組對象persons和persons中的數(shù)組元素。>>>persons#顯示persons對象array([宋江,吳用,林沖,秦明],dtype=<U2)>>>persons[2]#取索引值為2的元素,得到字符串對象林沖>>>persons[[0,2]]#取索引值為0和2的元素,得到數(shù)組對象array([宋江,林沖],dtype=<U2)4.1.1多維數(shù)組對象ndarray2.?dāng)?shù)組元素的訪問(通過切片方式進(jìn)行查詢)例4-1-12:切片訪問persons中的數(shù)組元素。>>>persons[2:]#取索引值大于等于2的元素array([林沖,秦明],dtype=<U2)>>>persons[1:3]#取索引值從1到2的元素array([吳用,林沖],dtype=<U2)4.1.1多維數(shù)組對象ndarray2.?dāng)?shù)組元素的訪問(通過布爾運(yùn)算方式進(jìn)行查詢)ndarry對象可以通過布爾運(yùn)算方式獲取滿足布爾表達(dá)式的元素。例4-1-15:使用布爾運(yùn)算式查詢scores對象中高于90或者低于80的成績。>>>scoresarray([[96,73,78],[90,89,92],[60,70,83]])>>>mask=(scores>90)|(scores<80)>>>maskarray([[True,True,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作買車協(xié)議合同范本
- 保證合同范例解析
- 專業(yè)產(chǎn)品代理合同范本
- 開店合伙投資合同范本
- 中石油五險一金合同范本
- 單位定制窗簾合同范例
- 賣房簽抵押合同范例
- 醫(yī)院續(xù)約合同范本
- 合作合同范本變更條款
- 合同范本小學(xué)
- 廣東省深圳市2024年重點(diǎn)中學(xué)小升初數(shù)學(xué)入學(xué)考試卷含解析
- 2023北師大版新教材高中數(shù)學(xué)必修第一冊考前必背
- JB-T 14426-2023 往復(fù)式氣液混輸泵裝置
- 2024核桃樹承包合同
- 保險授權(quán)書格式模板
- (完整版)數(shù)字電子技術(shù)基礎(chǔ)教案
- 小回溝礦井3.0Mt-a新建工程變更項(xiàng)目環(huán)評
- 汽車維修合同管理制度
- 2024中交二航局分包合同范本
- 2024年益陽醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫全面
- 2024年四川電力職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫新版
評論
0/150
提交評論