涉及內容:
分類——————數據集生成器、KNN擬合數據
多元分類————生成數據集、KNN擬合
回歸分析————用於回歸分析的數據集生成器、KNN擬合、調整近鄰數
KNN實戰—酒的分類————數據集有哪些鍵、生成訓練集和測試集、KNN擬合、新樣本的分類進行預測
不適用:
- 需要對數據集認真的預處理
- 對規模超大的數據集擬合的時間較長
- 對高維數據集擬合欠佳
- 對稀疏數據集無能為力
涉及內容:
線性模型的圖形表示————導入線性模型、擬合數據點、擬合新加的數據點、訓練數據集的屬性“xx_”
線性模型特點—————用於回歸分析的好幾種線性模型之間的區別
最基本的線性模型:線性回歸————
使用L2正則化的線性模型:嶺回歸————線性回歸和嶺回歸之間的重要結論
使用L1正則化的線性模型:套索回歸————
套索回歸和嶺回歸的區別————
適用:
- 對於特征變量較多的數據集,線性模型會十分強大【尤其是訓練集的特征變量 > 數據點的數量時,可以達到近乎完美的預測】
優點:
- 線性模型的訓練非常快
- 過程也很容易被人理解
缺點:
- 數據集的特征比較少的時候,線性模型的表現就會相對偏弱
- 使用線性模型的前提條件是假設目標y是數據特征的線性組合
涉及內容:
基本概念————原理、貝葉斯定理、對天氣的簡單預測
貝努利朴素貝葉斯————適合符合貝努利分布【二項分布】的數據集
高斯朴素貝葉斯————適用樣本的特征符合高斯分布【正態分布】
多項式朴素貝葉斯————用於擬合多項式分布的數據集、數據預處理工具MinMaxScaler
實戰:判斷腫瘤良性還是惡性————導入、拆分、擬合、隨機預測、高斯朴素貝葉斯的學習曲線
適用:
- 不考慮樣本之間特征的關系——> 朴素貝葉斯分類器效率極高
- 高斯朴素貝葉斯在預測方面,對於樣本數量的要求不苛刻
優點:
- 高斯朴素貝葉斯 可以應用於任何連續數值型的數據集中,如果是符合正態分布的數據集的話,得分會更高
- 相對於線性模型,朴素貝葉斯效率更高——> 把數據集中的各個特征看作完全獨立的,不考慮特征之間的關聯關系,但同時,泛化能力更弱
- 大數據時代,很多數據集的樣本特征成千上萬,這種情況下,模型的效率要比泛化性能多零點幾個百分點的得分更重要
缺點:
- 是相當好的分類器,但對於預測具體的數值並不是很擅長
- 泛化能力弱
涉及內容:
原理————if/else推導
決策樹構建————用決策樹分類器分類【設定最大深度】、分類器表現、加大深度
優點:
- 很容易將模型可視化
- 由於決策樹算法對每個樣本特征單獨處理——> 不需要對數據進行轉換
- 不需要對數據預處理
缺點:
- 即使有預剪枝處理【使用max_depth、max_leaf_nodes參數】,還是不可避免出現過擬合問題
- 泛化性能大打折扣
涉及內容:
簡介————是一種集合學習算法,可以用於分類,也可以用於回歸、可解決過擬合問題
隨機森林構建 ————bootstrap 、max_features、n_estimators、圖形看看隨機分類的表現
實戰:判斷月薪是否>5萬————載入數據集、用get_dummies處理數據、用決策樹建模並預測
額外功能:在數據集中對數據特征的重要性進行判斷————可以通過這兩個算法對高維數據進行分析,在諸多特征中保留最重要的,也便於對數據降維處理
優點:
- 不要求對數據預處理
- 集成決策樹所有優點,彌補了不足
- 支持並行處理【實現方式是n_jobs參數,記得此參數要和cpu內核數一致,多了無意義,n_jobs=-1,使用全部內核】
- 注意隨機森林生成每棵樹的方法是隨機的,不同的random_state會導致模型完全不同,要固化其值
缺點:
- 對於超高維數據集、稀疏數據集,線性模型更好
- 更消耗內存,速度慢,若要省內存+時間,用線性模型
涉及內容:
SVM原理————核函數、數據投射至高維空間、多項式內核、RBF內核
支持向量機的SVM核函數————創建一個線性內核的支持向量機模型、SVM內核換成RBF
SVM的核函數和參數選擇————不同核函數的SVM對比、linearSVM算法
RBF內核SVC的gamma參數調節————結果分析
注意事項————3個非常重要的參數
SVM在回歸分析中的應用:波士頓房價數據集——————了解數據集、SVR算法建立房價預測模型、StandardScaler數據預處理
優點:
- 可應對高維數據集和低維數據集
- 即使數據集中樣本特征的測度都比較接近,如圖像識別領域,以及樣本特征數和樣本數比較接近的時候,都游刃有余
缺點:
- 當數據集中特征數量在1萬以內,SVM可以駕馭,但數量大於10萬,就非常占內存和耗費時間
- 對數據預處理和參數調節要求很高
原理————MLP算法
神經網絡中的非線性矯正————非線性矯正 rele 、進行雙曲正切處理 tanh
神經網絡的參數設置————各個參數的含義、圖像展示MLP分類的情況、減少隱藏層的節點、給MLP分類器增加隱藏層數量、設計激活函數為tanh、修改alpha參數
實戰——手寫識別————MNIST數據集、識別
優點
- 計算能力充足且參數設置合適情況下,神經網絡表現特優異
- 對於特征類型單一的數據,變現不錯
缺點
- 訓練時間長、對數據預處理要求高
- 數據特征類型差異較大,隨機森林或梯度上升隨機決策樹算法更好
- MLP僅限於處理小數據集,對於更大或更復雜的數據集,可以進軍深度學習
涉及內容:
數據預處理————StandardScaler預處理數據、MinMaxScaler數據預處理、RobustScaler數據預處理、Normalizer數據預處理
通過數據預處理提高模型准確率————訓練一個MLP神經網絡、使用MinMaxScaler進行數據預處理
數據降維————PCA主成分分析原理
對數據降維以便於進行可視化————
原始特征與PCA主成分之間的關系————
特征提取————PCA主成分分析法用於特征提取、使用一些方法來提升模型的表現、PCA中的數據白化功能、非負矩陣分解用於特征提取
聚類算法————K均值算法、凝聚聚類算法、DBSCAN算法、eps參數、min_samples參數
適用數據降維的情況:
- 超高維度數據
- 特征之間有非常強烈的相關性【比如,人口數據中,男性為1,女性為0,去掉其中任何一列,不會丟失任何信息,可以降維,以降低模型的復雜度】
對於機器學習來說,合理有效地對數據進行表達是至關重要的
對於沒有分類標簽的數據來說,無監督學習的聚類算法可以幫助我們更好的理解數據集,並且為進一步訓練模型打好基礎
涉及內容:
數據表達————類型特征、連續特征、使用啞變量轉換類型特征、get_dummies的使用、把數值特征也進行get_dummies轉換、裝箱處理【離散化處理】、用新的方法來表達已經裝箱的數據——OneHotEncoder,獨熱編碼、
數據“升維”————向數據集添加交互式特征、Numpy中的hstack函數、對特征進行交互式操作對模型產生的影響、向數據集添加多項式特征、PolynomialFeatures、處理后機器學習的模型的變化
自動特征選擇————使用單一變量法進行特征選擇、使用SelectPercentile進行特征選擇、基於模型的特征選擇、迭代式特征選擇、遞歸特征剔出法RFE
對樣本特征進行裝箱的好處:
- 糾正模型過擬合和欠擬合問題
- 尤其針對大規模高緯度的數據集使用線性模型的時候,可以大幅度提高預測的准確率

涉及內容:
使用交叉驗證對模型進行評估————sklearn中的交叉驗證法、K折疊交叉驗證法、隨機拆分和“挨個兒試”
使用網格搜索尋找模型的最優參數————簡單網格搜索、局限性、與交叉驗證結合的網格搜索、GridSearchCV進行參數調優的過程
對分類模型的可信度進行評估————分類模型中的預測准確率、分類模型中的決定系數、.score給分類、回歸模型評分的方法、GridSearchCV改變評分的方式
在sklearn中,cross_val_score對於分類模型默認使用的是K折疊交叉驗證,而對於分類模型則默認使用分層K交叉驗證法
涉及內容:
基本概念和使用————在數據預處理中遇到的問題及使用管道模型解決
使用管道模型進行網格搜索————
管道模型不僅可以把 數據預處理和模型訓練集結合一起,也可以將很多不同的算法打包
涉及內容:
整理數據集————刪除無效數值、去掉冗余信息、考慮是否把字符串類型的特征通過get_dummies轉化成整型數值
.建立包含數據預處理和MLP模型的管道模型————使用make_pipeline便捷的建立管道模型
向管道模型添加特征選擇步驟————提取管道模型每個步驟的屬性
使用管道模型進行模型選擇和參數調優————
