• 特征选择:11 种特征选择策略总结


    太多的特征会增加模型的复杂性和过拟合,而太少的特征会导致模型的拟合不足。将模型优化为足够复杂以使其性能可推广,但又足够简单易于训练、维护和解释是特征选择的主要工作。

    “特征选择”意味着可以保留一些特征并放弃其他一些特征。本文的目的是概述一些特征选择策略:

    1. 删除未使用的列
    2. 删除具有缺失值的列
    3. 不相关的特征
    4. 低方差特征
    5. 多重共线性
    6. 特征系数
    7. p 值
    8. 方差膨胀因子 (VIF)
    9. 基于特征重要性的特征选择
    10. 使用 sci-kit learn 进行自动特征选择
    11. 主成分分析 (PCA)

    该演示的数据集在 MIT 许可下发布,来自 PyCaret——一个开源的低代码机器学习库。

    数据集相当干净,但我做了一些预处理。请注意,我使用此数据集来演示不同的特征选择策略如何工作,而不是构建最终模型,因此模型性能无关紧要。

    首先加载数据集:

    1. import pandas as pddata = 'https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/automobile.csv'
    2. df = pd.read_csv(data)
    3. df.sample(5)

    该数据集包含 202 行和 26 列——每行代表一个汽车实例,每列代表其特征和相应的价格。这些列包括:

    1. df.columns
    2. >> Index(['symboling', 'normalized-losses', 'make', 'fuel-type', 'aspiration', 'num-of-doors', 'body-style', 'drive-wheels', 'engine-location','wheel-base', 'length', 'width', 'height', 'curb-weight', 'engine-type', 'num-of-cylinders', 'engine-size', 'fuel-system', 'bore', 'stroke', 'compression-ratio', 'horsepower', 'peak-rpm', 'city-mpg', 'highway-mpg', 'price'], dtype='object')

    现在让我们深入研究特征选择的 11 种策略。

    删除未使用的列

    当然,最简单的策略是你的直觉。虽然是直觉,但有时很有用的,某些列在最终模型中不会以任何形式使用(例如“ID”、“FirstName”、“LastName”等列)。如果您知道某个特定列将不会被使用,请随时将其删除。在我们的数据中,没有一列有这样的问题所以,我在此步骤中不删除任何列。

    完整文章

    https://www.overfit.cn/post/6d872f2534f2460493caa108cc546c15

  • 相关阅读:
    JVM概论
    设计模式之工厂模式
    Java基础之多线程简述
    设计模式之单例模式
    设计模式之模板方法模式
    设计模式之适配器模式
    设计模式之策略模式
    机器学习浅析之最优解问题(二)
    MapReduce架构与生命周期
    Hadoop系列之实验环境搭建
  • 原文地址:https://www.cnblogs.com/deephub/p/16205961.html
Copyright © 2020-2023  润新知