如何解决使用特征值的特征选择
尊敬的stackflowrs:我想知道是否有人可以回答我的问题并告诉我错误在哪里。假设我有一个包含 n 个特征和 k 个样本的数据集。并让特征矩阵为nxk。假设 p 个特征是相关的,我想检测这些相关特征以避免共线性。这是我在 python 中为完成任务所做的:
import matplotlib.pyplot as plt
import numpy as np
from numpy import linalg as LA
x0 = np.random.randn(1,1000)
x1 = x0
x2 = x1/2
x3 = x0
x4 = np.random.randn(1,1000)
x5 = np.random.randn(1,1000)
X = np.vstack((x0,x1,x2,x3,x4,x5))
A = np.matmul(X,X.T)
C = np.cov(A)
w,v = LA.eig(C)
w = np.real(w)
v = np.real(v)
print('eigen-values',w)
print('eigen-vectors',v)
当然 (x0,x1) 和 (x2,x1) 和 (x1,x3) 是相关的。当我查看协方差矩阵 (XX.T) 的特征值时,它表明对应于 x3、x4 和 x5 的特征值为零,这意味着数据在该方向上的方差为零,因此根据 PCA 方法,应删除相应的功能(x3、x4 和 x5)。但可以肯定的是,x4 和 x5 不相关。我的主要问题是如何使用这种方法检测相关特征?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。