目錄
第一部分 訓練篇
第1章 初等編程訓練
1.1 走出第一步
1.1.1 最簡單的代碼
1.1.2 更複雜的代碼
1.1.3 函數的編寫
1.2 只使用基本函數的訓練
1.2.1 簡單目標的訓練
1.2.2 可轉成2維數字矩陣list的運算
1.3 一些應用的編程訓練
1.3.1 隨機遊走
1.3.2 牛頓法求非線性方程解
1.3.3 用三次插值法求函數極小值點
1.3.4 用黃金分割法求函數在區間中的最小值
1.3.5 最古老的偽隨機數產生器
1.4 若干畫圖難點訓練
1.4 .l用plt,pd,sns等3種畫圖模塊生成並排條形圖以及多圖排列
1.4.2 用plt,pd,sns等3種畫圖模塊生成多重直方圖和密度估計圖
1.4.3 更多的圖形排列訓練
第2章 有監督學習概要
2.1 介紹
2.2 最簡單的回歸程序:最小二乘線性回歸
2.2.1 最小二乘線性回歸模型的全部數學
2.2.2 通過訓練理解最小二乘線性回歸係數的意義
2.2.3 關於矩陣秩及術語「多重共線性」及「線性相關」在數學及統計中含義不同的注
2.3 分類變數的啞元化
2.3.1 啞元化分類變數的編程
2.3.2 啞元化分類變數做最小二乘線性回歸
第3章 以決策樹為載體的訓練
3.1 引言
3.1.1 一個決策樹回歸例子
3.1.2 使數據變純是有監督學習建模的基本原則
3.2 決策樹回歸:自變數均為數量變數
3.2.1 競爭拆分變數的度量:數量變數的不純度
3.2.2 尋找最優分割的變數和屬性
3.2.3 匯總:數量自變數回歸決策樹生長全程序
3.2.4 回歸決策樹預測及預測精度
3.3 決策樹分類:自變數均為數量變數
3.3.1 競爭拆分變數的度量:分類變數的不純度
3.3.2 對前面程序的增補:尋找最優分割的變數和屬性
3.3.3 分類決策樹的預測及預測精度
3.4 非啞元化分類自變數決策樹訓練
3.4.1 引言
3.4.2 分類變數的拆分方式概要
3.4.3 分類變數競爭拆分變數編程訓練
3.4.4 本節編程匯總成單獨的class
第4章 交叉驗證及組合方法訓練
4.1 引言
4.2 多折交叉驗證
4.2.1 回歸的多折交叉驗證
4.2.2 分類的多折交叉驗證
4.3 OOB交叉驗證
4.3.1 自助法抽樣
4.3.2 最簡單的組合模型和OOB誤差
4.3.3 從bagging認識組合方法和OOB誤差
4.4 梯度下降法及決策樹梯度增強回歸訓練
4.4.1 梯度下降法
4.4.2 梯度增強回歸
4.4.3 兩個組合方法簡介
第5章 以神經網路為載體的訓練
5.1 神經網路簡介
5.1.1 一個例子
5.1.2 線性回歸和神經網路的區別
5.1.3 神經網路是如何學習的
5.1.4 簡單神經網路的訓練
5.2 有一個隱藏層的神經網路及訓練
5.2.1 一個隱藏層的神經網路
5.2.2 符號定義
5.2.3 前向傳播
5.2.4 反向傳播
5.2.5 一個隱藏層神經網路訓練
第二部分 Python基本參考
第6章 一些預備知識
6.1 下載及安裝Python
6.2 Anaconda的幾種界面
6.2.1 使用Notebook
6.2.2 使用Spyder
6.2.3 使用IPython 或者終端界面
6.3 下載並安裝所需模塊
第7章 Python 基本函數
7.1 一些基本常識
7.1.1 利用os模塊獲得及改變你的工作目錄
7.1.2 目錄的建立和刪除,文件的重命名和刪除
7.2 數組(str,list,tuple,dict)及相關的函數和運算
7.2.1 數組元素及下標
7.2.2 數組元素及簡單循環語句
7.2.3 一些和數組及字元串有關的函數和方法
7.2.4 list中元素增減所用的函數
7.2.5 tuple不能改變或增減元素,但可以和list互相轉換
7.2.6 dict所用的一些函數
7.2.7 zip使得數組運算更方便
7.2.8 集合set及有關運算
7.3 函數、自定義函數、數組元素的計算、循環語句
7.3.1 更多的關於數組的函數
7.3.2 函數的定義
7.3.3 map和filter
7.3.4 更多的函數例子
7.4 偽隨機數模塊:random
7.5 變數的存儲位置
7.6 數據輸入輸出
7.6.1 終端輸入輸出
7.6.2 文件開啟、關閉和簡單讀寫
7.6.3 文字文件內容的讀取
第8章 類和子類簡介
8.1 class
8.2 subclass
第9章 numpy模塊
9.1 numpy數組的產生
9.1.1 在numpy模塊中生成各種分佈的偽隨機數
9.1.2 從Python基本數組產生
9.1.3 直接產生需要的數組
9.2 數據文件的存取
9.3 數組(包括矩陣)及有關的運算
9.3.1 數組的維數、形狀及類型
9.3.2 數組形狀的改變
9.3.3 同維數數組間元素對元素的計算
9.3.4 不同維數數組間元素對元素的運
9.3.5 舍入及取整運算
9.3.6 一些常用的數組(矩陣)計算
9.3.7 合併及拆分矩陣
9.3.8 使用insert往數組中插入值
9.3.9 部分數組的賦值
9.3.10 對角矩陣和上下三角陣
9.4 一些線性代數運算
9.4.1 特徵值問題的解
9.4.2 奇異值分解
9.4.3 Cholesky分解
9.4.4 矩陣的逆、行列式及聯立方程
9.4.5 簡單的最小二乘線性回歸
9.4.6 Kronecker積
9.5 關於日期和時間
9.6 多項式運算
9.6.1 複數的四則運算
9.6.2 多項式的根
9.6.3 多項式的積分和微分
9.7 向量化函數
第10章 pandas模塊
10.1 數據框的生成和基本性質
10.1 .l數據框的生成
10.1.2 數據框的初等描述
10.1.3 數據欖變數名columns和index的修改
10.2 數據框文件的存取
10.2.1 簡單csv文本文件的存取
10.2.2 Excel文件數據的指定位置的存
10.2.3 對其他文件類型的存取
10.3 對數據框元素(行列)的選擇
10.3.1 直接使用變數名字(columns)及行名(index)
10.3.2 通過「、1oc」使用變數名字(columns)及行名(index)
10.3.3 使用「.iloc」
10.4 數據框的一些簡單計算
10.5 以變數的值作條件的數據框操作例子
10.5.1 以變數的值作為條件挑選數據框的行
10.5.2 按變數的值把整個數據框排序
10.6 添加新變數,刪除變數、觀測值或改變index
10.6.1 以變數的值為條件設定新變數
10.6.2 在已有數據框中插人新變數到預定位置
10.6.3 刪除數據框的變數和觀測值
10.7 數據框文件結構的改變
10.7.1 把若干列變數疊加成一列:.stack
10.7.2 把前面疊加的部分拆開:.unstack
10.7.3 改變表的結構:.pivot
10.8 數據框文件的合併
10.8.1 使用pd.concat合併
10.8.2 使用pd.merge和.join水平合併
10.8.3 使用.append豎直合併
10.9 pandas序列的產生
10.9.1 直接從數據產生
10.9.2 數據框的一列可為一個pandas序列
10.10 pandas序列的一些性質和計算
10.10.1 選擇子序列
10.10.2 一些簡單計算
10.10.3 帶有時間的序列
10.11 一個例子
10.12 pandas專門的畫圖命令
10.12.1 安排幾張圖
10.12.2 轉換定性變數成啞元變數以產生條形圖和餅圖
10.12.3 不同的直方圖
10.12.4 按定性變數各水平畫盒形圖
10.12.5 面積圖
10.12.6 含有多種信息的散點圖
第11章 matplotlib模塊
11.1 簡單的圖
11.2 幾條曲線同框
11.3 排列幾張圖
11.4 三維圖
第12章 seaborn模塊
12.1 基本類型圖形點圖
12.1.1 關係類圖函數seaborn.relplot示例
12.1.2 分佈類圖函數seaborn.displot示例
12.1.3 涉及分類變數類圖函數seaborn.catplot示例
12.1.4 矩陣圖:聚類熱量圖函數示例
第13章 scipy模塊
13.1 存取各種數據文件
13.2 常用的隨機變數的分佈及隨機數的產生
13.3 自定義分佈的隨機變數及隨機數的產生
13.3.1 自定義連續分佈
13.3.2 自定義離散分佈
13.4 定積分的數值計算