机器学习笔记8--特征降维

降维:

降低维度:在特定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程

目标:特征与特征之间不相关(减少冗余信息)

0维:标量

1维:向量

2维:矩阵

这里处理对象是二维数组

两种方法:

特征选择

主成分分析

 特征选择:

数据中包含冗余相关变量,旨在从原有特征中找出主要特征   

   

方法:

低方差特征过滤:

API:

# 特征值的低方差过滤
def variance_demo():
    '''
    过滤低方差的特征
    :return:
    '''
    # 1 获取数据
    data = pd.read_csv("水垢数据(带标签).csv", encoding="utf-8")
    # 保留数据额所有行,和第1到倒数第1列
    data = data.iloc[1:, 0:-1]
    # 返回data.shape可以直接显示特征个数
    # print(data, data.shape)

    # 2 实例化一个转换器类,threshold设置阈值,特征值的方差低于5的特征都会被删除
    tranfer = VarianceThreshold(threshold=10)

    # 3 调用fit_transform
    data_new = tranfer.fit_transform(data)
    print('data_new:\n', data_new, data_new.shape)

    # 相关系数就表示了特征间的相关程度(这里采用皮尔逊相关系数api:pearsonr)
    # 计算两个变量的相关系数,返回结果的第一个值是相关系数,大于0是正相关,小于0是负相关
    r1 = pearsonr(data['w1'], data['w3'])
    r2 = pearsonr(data['w2'], data['w4'])
    print('相关系数是:\n', r1)
    print('相关系数是:\n', r2)
    return None

主成分分析:

API:

 

 案例:探究用户对物品类别的喜好细分

1、需要将user_id和aisle放在同一个表中

2、找到 user_id和aisle之间的关系 - 交叉表和透视表

3、特征冗余过多 -> PCA降维

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值