
- 機器學習基礎
- ML - 首頁
- ML - 簡介
- ML - 入門
- ML - 基本概念
- ML - 生態系統
- ML - Python 庫
- ML - 應用
- ML - 生命週期
- ML - 必備技能
- ML - 實現
- ML - 挑戰與常見問題
- ML - 限制
- ML - 現實生活中的例子
- ML - 資料結構
- ML - 數學
- ML - 人工智慧
- ML - 神經網路
- ML - 深度學習
- ML - 獲取資料集
- ML - 分類資料
- ML - 資料載入
- ML - 資料理解
- ML - 資料準備
- ML - 模型
- ML - 監督學習
- ML - 無監督學習
- ML - 半監督學習
- ML - 強化學習
- ML - 監督學習與無監督學習
- 機器學習資料視覺化
- ML - 資料視覺化
- ML - 直方圖
- ML - 密度圖
- ML - 箱線圖
- ML - 相關矩陣圖
- ML - 散點矩陣圖
- 機器學習統計學
- ML - 統計學
- ML - 平均值、中位數、眾數
- ML - 標準差
- ML - 百分位數
- ML - 資料分佈
- ML - 偏度和峰度
- ML - 偏差和方差
- ML - 假設
- 機器學習中的迴歸分析
- ML - 迴歸分析
- ML - 線性迴歸
- ML - 簡單線性迴歸
- ML - 多元線性迴歸
- ML - 多項式迴歸
- 機器學習中的分類演算法
- ML - 分類演算法
- ML - 邏輯迴歸
- ML - K近鄰演算法 (KNN)
- ML - 樸素貝葉斯演算法
- ML - 決策樹演算法
- ML - 支援向量機
- ML - 隨機森林
- ML - 混淆矩陣
- ML - 隨機梯度下降
- 機器學習中的聚類演算法
- ML - 聚類演算法
- ML - 基於質心的聚類
- ML - K均值聚類
- ML - K中值聚類
- ML - 均值漂移聚類
- ML - 層次聚類
- ML - 基於密度的聚類
- ML - DBSCAN聚類
- ML - OPTICS聚類
- ML - HDBSCAN聚類
- ML - BIRCH聚類
- ML - 親和傳播
- ML - 基於分佈的聚類
- ML - 凝聚層次聚類
- 機器學習中的降維
- ML - 降維
- ML - 特徵選擇
- ML - 特徵提取
- ML - 後向消除
- ML - 前向特徵構造
- ML - 高相關性過濾器
- ML - 低方差過濾器
- ML - 缺失值比率
- ML - 主成分分析
- 強化學習
- ML - 強化學習演算法
- ML - 利用與探索
- ML - Q學習
- ML - REINFORCE演算法
- ML - SARSA強化學習
- ML - 演員-評論家方法
- 深度強化學習
- ML - 深度強化學習
- 量子機器學習
- ML - 量子機器學習
- ML - 使用Python進行量子機器學習
- 機器學習雜項
- ML - 效能指標
- ML - 自動工作流
- ML - 提升模型效能
- ML - 梯度提升
- ML - 自舉匯聚 (Bagging)
- ML - 交叉驗證
- ML - AUC-ROC曲線
- ML - 網格搜尋
- ML - 資料縮放
- ML - 訓練和測試
- ML - 關聯規則
- ML - Apriori演算法
- ML - 高斯判別分析
- ML - 成本函式
- ML - 貝葉斯定理
- ML - 精度和召回率
- ML - 對抗性
- ML - 堆疊
- ML - 輪次
- ML - 感知器
- ML - 正則化
- ML - 過擬合
- ML - P值
- ML - 熵
- ML - MLOps
- ML - 資料洩露
- ML - 機器學習的貨幣化
- ML - 資料型別
- 機器學習 - 資源
- ML - 快速指南
- ML - 速查表
- ML - 面試問題
- ML - 有用資源
- ML - 討論
機器學習 - 主成分分析
主成分分析 (PCA) 是一種流行的無監督降維技術,用於機器學習,用於將高維資料轉換為低維表示。PCA 用於透過發現變數之間潛在的關係來識別資料中的模式和結構。它通常用於影像處理、資料壓縮和資料視覺化等應用。
PCA 透過識別資料的**主成分 (PC)** 來工作,這些主成分是原始變數的線性組合,捕獲了資料中最大的變化。第一個主成分解釋了資料中最大的方差,其次是第二個主成分,依此類推。透過將資料的維度降低到僅包含最重要的 PC,PCA 可以簡化問題並提高下游機器學習演算法的計算效率。
PCA 所涉及的步驟如下:
標準化資料 - PCA 要求資料標準化為均值為零且方差為一的格式。
計算協方差矩陣 - PCA 計算標準化資料的協方差矩陣。
計算協方差矩陣的特徵向量和特徵值 - 然後,PCA 計算協方差矩陣的特徵向量和特徵值。
選擇主成分 - PCA 根據其相應的特徵值選擇主成分,特徵值指示每個成分解釋的資料變化量。
將資料投影到新的特徵空間 - PCA 將資料投影到由選定的主成分定義的新特徵空間中。
示例
以下是如何使用 scikit-learn 庫在 Python 中實現 PCA 的示例:
# Import the necessary libraries import numpy as np from sklearn.decomposition import PCA # Load the iris dataset from sklearn.datasets import load_iris iris = load_iris() # Define the predictor variables (X) and the target variable (y) X = iris.data y = iris.target # Standardize the data X_standardized = (X - np.mean(X, axis=0)) / np.std(X, axis=0) # Create a PCA object and fit the data pca = PCA(n_components=2) X_pca = pca.fit_transform(X_standardized) # Print the explained variance ratio of the selected components print('Explained variance ratio:', pca.explained_variance_ratio_) # Plot the transformed data import matplotlib.pyplot as plt plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y) plt.xlabel('PC1') plt.ylabel('PC2') plt.show()
在此示例中,我們載入鳶尾花資料集,標準化資料,並建立一個具有兩個成分的 PCA 物件。然後,我們將 PCA 物件擬合到標準化資料,並將資料轉換到兩個主成分上。我們列印所選成分的解釋方差比率,並使用前兩個主成分作為 x 和 y 軸繪製轉換後的資料。
輸出
執行此程式碼時,它將生成以下繪圖作為輸出:

Explained variance ratio: [0.72962445 0.22850762]
PCA 的優點
以下是使用主成分分析的優點:
降低維度 - PCA 對於高維資料集特別有用,因為它可以在保留資料中大部分原始可變性的同時減少特徵的數量。
去除相關特徵 - PCA 可以識別並去除相關特徵,這有助於提高機器學習模型的效能。
提高可解釋性 - 減少的特徵數量可以使資料更容易解釋和理解。
減少過擬合 - 透過降低資料的維度,PCA 可以減少過擬合併提高機器學習模型的泛化能力。
加速計算 - 由於特徵數量減少,訓練機器學習模型所需的計算速度更快。
PCA 的缺點
以下是使用主成分分析的缺點:
資訊丟失 - PCA 透過將其投影到低維空間來降低資料的維度,這可能導致某些資訊丟失。
可能對異常值敏感 - PCA 可能對異常值敏感,異常值會對最終的主成分產生重大影響。
可解釋性可能會降低 - 雖然 PCA 可以透過減少特徵數量來提高可解釋性,但最終的主成分可能比原始特徵更難以解釋。
假設線性 - PCA 假設特徵之間的關係是線性的,這可能並不總是正確的。
需要標準化 - PCA 要求資料標準化,這可能並不總是可行或合適的。