机器学习12-PCA主成分分析-python

本文深入探讨了PCA(主成分分析)算法的原理,通过数学推导解释了最大化投影方向方差的概念,并提供了Python实现代码示例。此外,还介绍了使用sklearn库进行PCA分析的方法,包括数据预处理、特征值分解、降维转换等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 原理推导

最大化投影方向的方差来的
在这里插入图片描述

2. python简单实现

def pca(dataMat, k):
    # 求每一列的均值
    mean = np.mean(dataMat, axis=0)
    
    xMat = dataMat - mean
    # 协方差矩阵
    covMat = np.dot(xMat.T, xMat)
    # 特征值特征向量
    e_vals, e_vecs = np.linalg.eig(covMat)
    sort_index = np.argsort(e_vals)
    print e_vals, e_vecs
    print sort_index
    
    m , n = dataMat.shape
    if k >= n:
        return np.dot(xMat, e_vecs)
    so = sort_index[n-k:]
    w_vecs = e_vecs[:, so]
    return np.dot(xMat, w_vecs)

3. sklearn

 from sklearn.decomposition import PCA as pca1
    com = pca1(1)
    ret2 = com.fit(data)
    print 'dddddddddddddddddddd'
    print com.explained_variance_ratio_
    print com.explained_variance_
    print com.transform(data)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值