機器學習進階 第一節 第四課
概述
特徵選擇 (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]]
相關文章
- 機器學習進階 第一節 第一課機器學習
- 機器學習進階 第一節 第九課機器學習
- 機器學習進階 第一節 第七課機器學習
- 機器學習進階 第一節 第十六課機器學習
- 機器學習進階 第二節 第八課機器學習
- 機器學習 第六節 第二課機器學習
- 機器學習 第五節 第八課機器學習
- 機器學習 第五節 第九課機器學習
- 【機器學習】第一節 - 基本概念機器學習
- 機器學習入門第一課:從高中課本談起機器學習
- 機器學習30天進階實戰機器學習
- [進度記錄20221009]第四學期第一週學習進展
- 吳恩達機器學習第一課 Supervised Machine Learning Regression and Classification吳恩達機器學習Mac
- 10.15 見習後的第一節課
- 機器學習入門(三) — 迴歸模型(進階案例)機器學習模型
- 機器學習課程筆記機器學習筆記
- 機器學習 第一章學習機器學習
- python第一節課內容及練習Python
- HBase學習的第四天--HBase的進階與APIAPI
- 學習python第六節課Python
- 第一節課心得
- 《機器學習實戰》第一章 機器學習基礎機器學習
- 機器學習十講-第一講機器學習
- 【STM32微控制器學習】第四課:GPIO控制LED
- 李巨集毅機器學習課程筆記-1.機器學習概論機器學習筆記
- JavaScript 學習初篇(第一課)JavaScript
- Java學習第一階段Java
- 機器學習、深度學習、強化學習課程超級大列表!機器學習深度學習強化學習
- Python第一節學習筆記Python筆記
- Java進階容器學習Java
- .NET Core 第一節課 - 起源
- 你的容器化學習第一課
- 4、Pico Robot 感測器進階課程
- 林軒田機器學習基石課程學習筆記14 — Regularization機器學習筆記
- 林軒田機器學習基石課程學習筆記15 — Validation機器學習筆記
- 【機器學習】機器學習建立演算法第1篇:機器學習演算法課程定位、目標【附程式碼文件】機器學習演算法
- 吳恩達《構建機器學習專案》課程筆記(1)– 機器學習策略(上)吳恩達機器學習筆記
- 吳恩達《構建機器學習專案》課程筆記(2)– 機器學習策略(下)吳恩達機器學習筆記