Scikit learn 从分类数据集中删除冗余特征(进行分类)

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表示这两种特征都是从信息特征中提取的 我的问题是:如何删除/突出显示冗余功能,它们的特征是什么 附件是所有

在make_分类方法中

X,y=进行分类(n_样本=10,n_特征=8,n_信息=7,n_冗余=1,n_重复=0,n_类=2,随机状态=6)

Docstring关于n\u冗余:冗余功能的数量。这些特征生成为 信息特征的随机线性组合

Docstring关于n_repeated:从信息源中随机抽取的重复特征数

  • n_重复特征与信息性特征高度相关,因此易于拾取
  • 重复特征和冗余特征的docstring表示这两种特征都是从信息特征中提取的
  • 我的问题是:如何删除/突出显示冗余功能,它们的特征是什么

    附件是所有特征之间的相关热图,图像中的哪个特征是冗余的

    请帮忙

  • 要检查有多少独立列使用
    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)
    
  • 要检查有多少独立列使用
    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矩阵末尾查找负责所有零行的列。