Scikit learn 从分类数据集中删除冗余特征(进行分类)
在make_分类方法中Scikit learn 从分类数据集中删除冗余特征(进行分类),scikit-learn,statistics,data-science,correlation,Scikit Learn,Statistics,Data Science,Correlation,在make_分类方法中 X,y=进行分类(n_样本=10,n_特征=8,n_信息=7,n_冗余=1,n_重复=0,n_类=2,随机状态=6) Docstring关于n\u冗余:冗余功能的数量。这些特征生成为 信息特征的随机线性组合 Docstring关于n_repeated:从信息源中随机抽取的重复特征数 n_重复特征与信息性特征高度相关,因此易于拾取 重复特征和冗余特征的docstring表示这两种特征都是从信息特征中提取的 我的问题是:如何删除/突出显示冗余功能,它们的特征是什么 附件是所有
X,y=进行分类(n_样本=10,n_特征=8,n_信息=7,n_冗余=1,n_重复=0,n_类=2,随机状态=6)
Docstring关于n\u冗余:冗余功能的数量。这些特征生成为
信息特征的随机线性组合
Docstring关于n_repeated:从信息源中随机抽取的重复特征数
np.linalg.matrix\u秩(X)
sympy.matrix(X).rref()
从sklearn.dataset导入make_分类
从辛输入矩阵
十、 作分类(
n_样本=10,n_特征=8,n_冗余=2,随机状态=6
)
np.linalg.matrix_秩(X,tol=1e-3)
# 6
查找线性独立列的索引:
\uz,inds=矩阵(X).rref(iszerofunc=lambda X:abs(X)
要检查有多少独立列使用np.linalg.matrix\u秩(X)
要查找矩阵X的线性独立行的索引,请使用sympy.matrix(X).rref()
演示
生成数据集并检查独立列数(矩阵秩):
从sklearn.dataset导入make_分类
从辛输入矩阵
十、 作分类(
n_样本=10,n_特征=8,n_冗余=2,随机状态=6
)
np.linalg.matrix_秩(X,tol=1e-3)
# 6
查找线性独立列的索引:
\uz,inds=矩阵(X).rref(iszerofunc=lambda X:abs(X)我投票结束这个问题是因为它是关于统计,而不是编程。它属于上而不是这里。谢谢你的评论,我实际上是从sklearn的角度来看如何从伪数据生成方法中删除冗余数据。我投票结束这个问题是因为它是关于统计,而不是编程。它是ongs打开,而不是在这里。感谢您的评论,我实际上在寻找sklearn的观点,如何从伪数据生成方法中删除冗余数据。感谢您的解决方案,我已经连接了这个问题,上面的解决方案,它始终显示最后为零的列,(我尝试调整数据)。不是特定于冗余功能的索引。或者我在这里遗漏了任何内容。谢谢。是的,同意,它根据冗余功能显示零行,但是,它没有突出显示冗余功能的索引(始终在矩阵末尾显示零)。可能存在除最后一个索引之外的特征可能是冗余的情况。。希望我能够解释我的观点。@SantoshKumar请参阅更新。QR分解中的R矩阵只告诉矩阵的秩,而不是像您正确指出的那样,哪些特定列是线性相关的。如果依赖QR分解,他必须在R矩阵的末尾找到负责所有零行的列。感谢您提供的解决方案,我已经连接了这个问题,上面的解决方案,它始终显示结尾为所有零的列(我尝试调整数据)。不是特定于冗余功能的索引。或者我在这里遗漏了任何内容。谢谢。是的,同意,它根据冗余功能显示零行,但是,它没有突出显示冗余功能的索引(始终在矩阵末尾显示零)。可能存在除最后一个索引之外的特征可能是冗余的情况。。希望我能够解释我的观点。@SantoshKumar请参阅更新。QR分解中的R矩阵只告诉矩阵的秩,而不是像您正确指出的那样,哪些特定列是线性相关的。如果依赖QR分解,他必须在R矩阵末尾查找负责所有零行的列。