Python scikit-learn,特征降维(降低特征的数量),特征选择,VarianceThreshold (删除低方差的特征)

特征选择的原因:1、冗余:部分特征的相关度高,容易消耗计算性能。 2、噪声(过拟合):部分特征对预测结果有负影响

特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也可以不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。

特征选择的主要方法:一、Filter(过滤式):VarianceThreshold。 二、 Embedded(嵌入式):正则化、决策树。 三、 Wrapper(包裹式)。 四、神经网络

 

demo.py(特征降维,特征选择,VarianceThreshold):

from sklearn.feature_selection import VarianceThreshold


# 特征选择  VarianceThreshold删除低方差的特征(删除差别不大的特征)
var = VarianceThreshold(threshold=1.0)   # 将方差小于等于1.0的特征删除。 默认threshold=0.0
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])

print(data)
'''
[[0]
 [4]
 [1]]
'''

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PCA(Principal Component Analysis)是一种常用的特征表示和降维算法,可以将原始数据在保留尽量多信息的前提下,降低维度,减少计算复杂度和存储空间。其基本思想是将原始数据映射到新的空间中,使得新空间中的数据具有最大的方差,从而达到降维的效果。 下面是 PCA 的具体步骤: 1. 对原始数据进行标准化处理,使得不同特征的量纲一致,方便后续计算。 2. 计算协方差矩阵。 3. 对协方差矩阵进行特征值分解,得到特征值和特征向量。 4. 将特征值从大到小排序,选取前 k 个特征值对应的特征向量作为主成分(k 为降维后的维度)。 5. 将原始数据投影到选取的主成分上,得到降维后的数据。 下面是 Python 中使用 sklearn 库进行 PCA 的示例代码: ```python from sklearn.decomposition import PCA import numpy as np # 原始数据 X = np.array([[1, 2], [3, 4], [5, 6]]) # 创建 PCA 对象,指定降维后的维度为 1 pca = PCA(n_components=1) # 对原始数据进行降维 X_new = pca.fit_transform(X) print("原始数据:\n", X) print("降维后的数据:\n", X_new) ``` 输出结果: ``` 原始数据: [[1 2] [3 4] [5 6]] 降维后的数据: [[-2.82842712] [ 0. ] [ 2.82842712]] ``` 注意,PCA 只是一种特征表示和降维的方法,它并不一定能够提高模型的性能。在实际应用中,需要根据具体问题选择合适的特征表示和降维方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值