機器學習進階 第一節 第四課
概述
特徵選擇 (future selection): 目的是剔除不相關 (irrelevant) 或冗餘 (redundant) 的特徵, 從而達到減少特徵個數.
特徵選擇就是單純地從提取到的所有特徵中選擇部分特徵作為訓練集特徵. 特徵在選擇在選擇前和選擇後可以改變值, 也不該變值. 但是選擇後的特徵維數肯定比選擇前小, 畢竟我們只選擇了其中的一部分特徵.
主要方法
- Filter (過濾式): VarianceThreshold
- Embedd (嵌入式): 正則化, 決策樹
- Wrapper (包裹式)
VarianceThreshold 語法
VarianceThreshold(threshold = 0.0) 刪除所有低方差特徵
Variance.fit_transform(X)
- X: numpy array 格式的資料[n_samples, n_features]
- 返回值:訓練集差異低於 threshold 的特徵將被刪除
- 預設值是保留所有非零方差特徵, 即刪除所有樣本中具有相同值的特徵
流程
- 初始化 VarianceThreshold, 指定閾值方差
- 呼叫 fit_transform
from sklearn.feature_selection import VarianceThreshold
def var():
"""
特徵選擇: 刪除低方差的特徵
:return: None
"""
var = VarianceThreshold(threshold= 1.0)
data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
print(data)
return None
if __name__ == "__main__":
var()
輸出結果:
[[0]
[4]
[1]]
噪點
其他特徵選擇方法
- 神經網路
sklearn 主成分分析 API
sklearn.decomposition
PCA 是什麼
本質: PCA 是一種分析, 簡化資料集的技術.
目的: 是資料維數壓縮, 儘可能降低原資料的維度 (複雜度), 損失少量資訊.
作用: 可以削減迴歸分析或者聚類分析中特徵的數量.
PCA 語法
PCA(n_componts=None) 將資料分解為較低維度空間
PCA.fit_transform(X)
- X: numpy array 格式的資料 [n_samples, n_features]
- 返回值: 轉換後指定維度的 array
PCA 流程 (程式碼演示)
- 初始化 PCA, 指定減少後的維度
- 呼叫 fit_transform
from sklearn.decomposition import PCA
def pca():
"""
主成分分析進行特徵降維
:return:
"""
pca = PCA(n_components=0.9)
data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])
print(data)
return None
if __name__ == "__main__":
pca()
輸出結果:
[[ 0. 3.82970843]
[-5.74456265 -1.91485422]
[ 5.74456265 -1.91485422]]
相關文章
- 機器學習進階 第一節 第一課機器學習
- 機器學習進階 第一節 第九課機器學習
- 機器學習進階 第一節 第七課機器學習
- 機器學習進階 第一節 第十六課機器學習
- 機器學習進階 第二節 第八課機器學習
- 第一節課心得
- 機器學習 第五節 第九課機器學習
- 機器學習 第六節 第二課機器學習
- 機器學習 第五節 第八課機器學習
- 【機器學習】第一節 - 基本概念機器學習
- ARM第一節基礎課
- 機器學習入門第一課:從高中課本談起機器學習
- 前端進階課程之this指向前端
- OOP課第一階段總結OOP
- Java基礎 第一節 第八課Java
- Java基礎 第三節 第一課Java
- Python進階細節Python
- 機器學習30天進階實戰機器學習
- 前端進階課程之宣告提升前端
- 資料結構 第一節 第六課資料結構
- MindStudio訓練營第一季-進階班課後筆記筆記
- python第一節課內容及練習Python
- 10.15 見習後的第一節課
- Spark修煉之道(進階篇)——Spark入門到精通:第四節 Spark程式設計模型(一)Spark程式設計模型
- 軟體工程概論18918第一節課軟體工程
- iOS進階課程-Newsstand程式設計iOS程式設計
- 前端進階課程之單元測試前端
- 第一章:第一節資料載入及初步觀察-課程
- 機器學習入門(三) — 迴歸模型(進階案例)機器學習模型
- webpack配置(第四步:html篇(進階篇))WebHTML
- Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建Spark
- 第四課:一個人的聖誕節?【Linux培訓實錄】薦Linux
- redis進階之快取管理(1課時)Redis快取
- 4、Pico Robot 感測器進階課程
- 吳恩達機器學習第一課 Supervised Machine Learning Regression and Classification吳恩達機器學習Mac
- 《Web前端開發精品課HTML與CSS進階教程》——第一部分 HTML進階第01章 HTML基礎知識1.1 HTML和CSS進階簡介Web前端HTMLCSS
- 高階語言程式設計課程第四次作業程式設計
- 前端進階課程之模組化(二)AMD規範前端