本書內(nèi)容系統(tǒng)、全面,全書共11章,歸結(jié)為3部分進行介紹。第1部分主要介紹Python程序設計基礎,包括Python的內(nèi)建數(shù)據(jù)結(jié)構(gòu)(列表、元組、字典和集合)、Python語句、Python函數(shù)、Python面向?qū)ο蟪绦蛟O計和Python數(shù)據(jù)可視化等。第2部分主要介紹Python數(shù)據(jù)分析基礎,包括NumPy工具、Python矩陣運算、Pandas庫和Python辦公自動化等。第3部分主要介紹Python機器學習算法,包括回歸分析、邏輯回歸、決策樹與隨機森林、樸素貝葉斯分類、支持向量機、主成分分析法和K均值聚類等。
本書注重面向?qū)ο蟪绦蛟O計基本思想的培養(yǎng),以數(shù)據(jù)分析和機器學習為落腳點,從實用性原則出發(fā),將案例與知識點有機結(jié)合。書中所有示例均可在Jupyter Notebook編程環(huán)境下運行,方便讀者進行實操練習。
本書可作為高等院校理工農(nóng)醫(yī)類相關專業(yè)的Python程序設計Python數(shù)據(jù)分析Python機器學習等課程的教材,也可作為感興趣讀者的自學讀物,并可作為工程技術(shù)人員的參考用書。
本書內(nèi)容系統(tǒng)、全面,注重面向?qū)ο蟪绦蛟O計基本思想的培養(yǎng),以數(shù)據(jù)分析和機器學習為落腳點,從實用性原則出發(fā),將案例與知識點有機結(jié)合。
黨的二十大報告指出:教育、科技、人才是全面建設社會主義現(xiàn)代化國家的基礎性、戰(zhàn)略性支撐。新工科、新文科的建設旨在通過強調(diào)跨學科、綜合能力和實踐能力的培養(yǎng),以適應日益復雜與多元的社會和經(jīng)濟環(huán)境。
當前,隨著人工智能、大數(shù)據(jù)和機器學習的興起,理工、管理、經(jīng)濟、人文社科類專業(yè)本科生迫切需要學習一門計算機語言課程,這門語言要既能進行計算機程序設計,又能方便快速地進行大數(shù)據(jù)分析和機器學習處理。然而,各高校在相關課程的設置上普遍無法適應這一變化。為落實科教興國戰(zhàn)略、人才強國戰(zhàn)略、創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略,開辟發(fā)展新領域、新賽道,加強新興學科、交叉學科建設,不斷塑造發(fā)展新動能、新優(yōu)勢,編者結(jié)合多年教學經(jīng)驗編寫了本書。
由于有龐大第三方庫的支持,Python語言成為當前數(shù)據(jù)分析和機器學習的首選程序設計語言。本教材可使理工農(nóng)醫(yī)類各專業(yè)本科生和研究生學習到Python程序設計、數(shù)據(jù)處理、人工智能、機器學習等方面的知識,構(gòu)建數(shù)據(jù)分析和機器學習的基本知識圖譜,為學生在今后工作和學習中解決本學科數(shù)據(jù)處理和機器學習相關問題提供堅實的基礎。
本書在編寫過程中堅持以下原則。
(1) 銜接性原則。對于與計算機思維C語言程序設計等課程交叉的共性問題進行簡化處理,重點聚焦各專業(yè)課程學習中亟須的數(shù)組與矩陣運算、數(shù)據(jù)分析與處理、機器學習基礎等內(nèi)容。
(2) 延伸性原則。注重面向?qū)ο蟪绦蛟O計基本思想的培養(yǎng),使學生充分領悟面向?qū)ο蟪绦蛟O計概念、思想和方法。
(3) 連貫性原則。以數(shù)據(jù)分析和機器學習為落腳點,從實用性原則出發(fā),重點介紹數(shù)據(jù)分析和機器學習所涉及的Python基礎知識。
(4) 適用性原則。對于基礎知識的著墨不多,將重點放在案例與知識點相結(jié)合上,在案例中學習知識點,在學習知識點中思考案例,使讀者快速進入機器學習的世界。
為便于教學,本書提供豐富的配套資源,包括教學大綱、教學課件、程序源碼、習題答案、在線作業(yè)和微課視頻。
資源下載提示
數(shù)據(jù)文件: 掃描目錄上方的二維碼下載。
在線作業(yè): 掃描封底的作業(yè)系統(tǒng)二維碼,登錄網(wǎng)站在線做題及查看答案。
微課視頻: 掃描封底的文泉云盤防盜碼,再掃描書中相應章節(jié)的視頻講解二維碼,可以在線學習。
本書在編寫過程中,得到了昆明理工大學電力工程學院和人文素質(zhì)教育中心的支持與幫助。本書第1、2章由單節(jié)杉編寫,第7、8章由沈賦編寫,第9章由王健編寫,第11章由畢貴紅編寫,其余章節(jié)由蔡子龍編寫,全書由畢貴紅審稿。另外,研究生李嘉棋、林紅婭、楊宇林在程序編寫、文字校對、圖形制作、PPT制作、習題答案整理等工作上提供了極大的幫助。對于各位同事和同學的辛勤付出,在此一并表示衷心的感謝。
由于編者水平有限,書中難免會有錯誤和不妥之處,懇請讀者批評指正。
編者2025年1月
Python數(shù)據(jù)分析與機器學習基礎(題庫·微課視頻版)
前言
資源下載
第1部分Python程序設計基礎
第1章Python程序設計概述
1.1Python語言的特點
1.1.1Python的優(yōu)勢
1.1.2為什么要學習Python?
1.1.3學習Python可以獲得哪些益處?
1.2Python及其集成開發(fā)環(huán)境的下載與安裝
1.2.1Python的下載和安裝
1.2.2Python的集成開發(fā)環(huán)境
1.3Jupyter的使用
1.3.1Python常用快捷鍵的使用
1.3.2運行第一個Python程序
1.4使用Python進行簡單編程
習題1
第2章內(nèi)建數(shù)據(jù)結(jié)構(gòu)
2.1列表
2.1.1列表的創(chuàng)建和索引
2.1.2列表元素的增、刪、改操作
2.1.3列表的其他操作
2.1.4列表元素的切片
2.1.5列表中幾個常用的內(nèi)置函數(shù)
2.1.6列表推導式
2.2元組
2.2.1元組的創(chuàng)建
2.2.2元組的修改與刪除
2.2.3元組的其他操作
2.2.4元組的內(nèi)置函數(shù)
2.3字典
2.3.1字典的創(chuàng)建
2.3.2訪問字典
2.3.3修改字典
2.3.4字典的操作
2.3.5字典鍵的特性
2.3.6字典幾個常用的內(nèi)置函數(shù)
2.4集合
2.4.1集合的創(chuàng)建
2.4.2集合的基本操作
2.5對象的淺拷貝和深拷貝
習題2
Python數(shù)據(jù)分析與機器學習基礎(題庫·微課視頻版)
目錄
第3章Python語句
3.1輸出語句格式控制語句
3.2選擇語句
3.3循環(huán)語句
3.4while語句
3.5break語句
3.6pass語句
3.7continue語句
3.8二元運算符和比較運算符
習題3
第4章函數(shù)
4.1函數(shù)的創(chuàng)建和調(diào)用
4.2函數(shù)的參數(shù)傳遞
4.2.1位置參數(shù)
4.2.2默認參數(shù)
4.2.3關鍵字參數(shù)
4.2.4變量的作用域
4.3匿名函數(shù)
4.4幾個常用的函數(shù)
4.4.1map函數(shù)
4.4.2reduce函數(shù)
4.4.3filter函數(shù)
4.4.4isinstance函數(shù)
4.5關鍵字yield
4.6Python函數(shù)的參數(shù)傳遞機制
4.7Python不定長參數(shù)
習題4
第5章面向?qū)ο蟪绦蛟O計
5.1類與對象
5.1.1類的定義
5.1.2對象的創(chuàng)建
5.2類的封裝
5.3類的繼承
5.4類的多態(tài)
5.5object類
5.6導入和使用模塊
5.6.1自定義模塊的定義
5.6.2導入第三方模塊
5.6.3以主程序的方式運行
習題5
第6章數(shù)據(jù)可視化
6.1繪制線圖
6.2繪制散點圖
6.3多個圖形繪制
6.4三維曲面圖形繪制
6.5繪制柱狀圖
6.6繪制直方圖
6.7繪制箱形圖
6.8繪制熱力圖
6.9繪制雷達圖
習題6
第2部分Python數(shù)據(jù)分析基礎
第7章NumPy基礎
7.1數(shù)組的創(chuàng)建
7.1.1通過列表創(chuàng)建數(shù)組
7.1.2通過aragne方法生成數(shù)組
7.1.3直接生成數(shù)組
7.1.4特殊數(shù)組
7.1.5生成符合某種分布的數(shù)組
7.2數(shù)組屬性
7.3數(shù)組的算術(shù)運算
7.4數(shù)組的索引與切片
7.5數(shù)組的轉(zhuǎn)置和轉(zhuǎn)軸
7.6數(shù)組的變形
7.7數(shù)組的拼接和分裂
7.8數(shù)組的排序
7.9數(shù)組的比較、布爾數(shù)組
7.10數(shù)組順序的打亂
7.11Python文本文件操作
習題7
第8章矩陣運算
8.1矩陣的構(gòu)造方法
8.1.1使用NumPy生成矩陣
8.1.2特殊矩陣的構(gòu)造方法
8.2矩陣的基本運算
習題8
第9章數(shù)據(jù)分析
9.1Series數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建
9.1.1直接生成Series
9.1.2通過列表生成Series
9.1.3通過字典生成Series
9.1.4Series常用屬性
9.1.5Series數(shù)據(jù)的訪問
9.2DataFrame數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建
9.3DataFrame的常用屬性
9.4重建索引和列名
9.4.1重建索引
9.4.2重建列名
9.5Pandas值的查找及增、刪、改操作
9.5.1通過loc和iloc進行值的查找
9.5.2Pandas行列值的增加和刪除操作
9.5.3Pandas行列值的索引、選擇和過濾
9.5.4Pandas數(shù)據(jù)的切片
9.5.5Pandas行列值的修改
9.6Pandas的算術(shù)和數(shù)據(jù)調(diào)整
9.7Pandas數(shù)據(jù)集的排序
9.8Pandas數(shù)據(jù)集的聚合操作
9.9缺失值的處理
9.9.1查找缺失值
9.9.2統(tǒng)計缺失值
9.9.3處理缺失值
9.10函數(shù)應用與映射
9.11數(shù)據(jù)集的合并操作
9.12日期和時間的處理
習題9
第10章辦公自動化
10.1使用Pandas處理Excel表
10.1.1Excel數(shù)據(jù)表的導入
10.1.2顯示Excel表的內(nèi)容
10.1.3Excel表數(shù)據(jù)的修改
10.1.4表格數(shù)據(jù)的計算和統(tǒng)計
10.1.5表格數(shù)據(jù)的篩選
10.1.6表格數(shù)據(jù)作圖
10.2xlwings庫
10.2.1創(chuàng)建App對象
10.2.2創(chuàng)建Book對象
10.2.3創(chuàng)建sheet對象
10.2.4range對象操作
10.2.5單元格擴展
10.2.6單元格其他格式設置
10.2.7單元格自動填充
10.2.8表格的最大行數(shù)和列數(shù)的獲取
10.2.9工作表內(nèi)容的復制
10.2.10合并單元格
習題10
第3部分Python機器學習算法
第11章機器學習基礎
11.1特征工程
11.1.1特征縮放
11.1.2特征選擇
11.1.3特征編碼
11.1.4文本特征提取
11.1.5特征生成
11.2回歸模型
11.2.1一元線性回歸模型
11.2.2多元線性回歸模型
11.2.3嶺回歸模型
11.2.4Lasso回歸模型
11.2.5多項式回歸模型
11.2.6梯度下降法
11.2.7隨機梯度下降法
11.2.8小批量梯度下降法
11.3邏輯回歸
11.4決策樹和隨機森林
11.4.1決策樹
11.4.2隨機森林
11.5樸素貝葉斯分類
11.5.1多項式樸素貝葉斯分類器
11.5.2補集樸素貝葉斯分類器
11.5.3伯努利貝葉斯分類器
11.5.4高斯貝葉斯分類器
11.6支持向量機
11.7主成分分析法
11.8K均值聚類算法
11.9K近鄰算法
習題11
參考文獻