機器學習 涉及內容、模型適用范圍 、優缺點總結


機器學習【一】K最近鄰算法

涉及內容:

分類——————數據集生成器、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——專治線性不可分

涉及內容:
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便捷的建立管道模型

向管道模型添加特征選擇步驟————提取管道模型每個步驟的屬性

使用管道模型進行模型選擇和參數調優————

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM