zoukankan      html  css  js  c++  java
  • 特征选择之数据降维

    一.特征选择之数据降维 

     1.降维:    

       维度:特征的数量(不是数据的维度),减少特征数据的字段

    方法一:
      特征选择:选出部分特征
      原因:特征数量冗长,太消耗内存

         

          

          

          

            

            

      实例:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #author tom
    
    from sklearn.feature_selection import VarianceThreshold
    
    def vt(x):
        """
        特征选择--删除低方差特征,就是那一列的数据全部近似等于平均值
        :param x:
        :return:
        """
        #threshold默认为0.0
        vt=VarianceThreshold(threshold=0.0)
        data=vt.fit_transform(x)
        print(data)
    if __name__ == '__main__':
        l=[[0,1,2,3],
           [0,4,5,3],
           [0,6,4,3]
           ]
        vt(l)

      结果:

      看一下降维的另外一种方法:

    方法二:
      主成分分析:pca:分析,简化数据集的工具
      pca:
      目的:数据降维并且尽量不改变源数据的主要特征

      

        

        

        实例:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #author tom
    
    from sklearn.decomposition import PCA
    
    
    def pca(x):
        """
        主成分分析进行特征降维
        :param x:
        :return:
        """
        #保留元数据的90%
        p=PCA(n_components=0.9)
        data=p.fit_transform(x)
        print(data)
    
    
    
    if __name__ == '__main__':
        l = [[0, 1, 2, 3],
             [0, 4, 5, 3],
             [0, 6, 4, 3]
             ]
        pca(l)

      结果:

      2.数据降维实例

        

  • 相关阅读:
    关于浏览器cookie的详解
    浏览器渲染帧
    Vue3中关于diff的优化
    JS报错 Cannot set property 'display' of undefined问题
    vue选项卡 ,循环数据点击改变class,并初始循环中的第一个为选中状态class
    Nuxt中引入elementUI
    jq 获取节点 改变元素class的显示、隐藏
    vue监听滚动条
    Nuxt中引入iconfont图标
    vue导航点击切换 2.0
  • 原文地址:https://www.cnblogs.com/tjp40922/p/11184985.html
Copyright © 2011-2022 走看看