• 特征预处理


    2.4.1 什么事特征预处理

    为什么要进行归一化、标准化

    无量纲化

    2.4.2归一化:对于归一化来说,如果出现异常点,影响了最大值和最小值,那么结果显然是会发生改变的

    通过对原始数据进行变换把数据映射到(默认为[0,1])之间

    异常值:最大值 最小值

    2.4.3 标准化:对于标准化来说,如果出现异常点,由于具有一定数据量,少量的异常点,对于平均值的影响并不大,从而方差改变较小

    (x - mean)/ std

    标准差:集中程度

    1. def minmax_demo():
    2. """
    3. 归一化
    4. :return:
    5. """
    6. # 1 获取数据
    7. data = pd.read_csv("lizi")
    8. data = data.iloc[:, :3]
    9. print("data:\n", data)
    10. # 2 实例化一个转换器类
    11. # transfer = MinMaxScaler()
    12. transfer = MinMaxScaler(feature_range=[2,3])
    13. # 3 调用fit_transform
    14. data_new = transfer.fit_transform(data)
    15. print("data_new:\n", data_new)
    16. return None
    17. def stand_demo():
    18. """
    19. 标准化
    20. :return:
    21. """
    22. # 1 获取数据
    23. data = pd.read_csv("lizi")
    24. data = data.iloc[:, :3]
    25. print("data:\n", data)
    26. # 2 实例化一个转换器类
    27. transfer = StandardScaler
    28. # 3 使用fit_transfer
    29. data_new = transfer.fit_transform(data)
    30. print("data_new:\n", data_new)
    31. return None

    由于 factor_returns.csv 没有找到,所以不知道可不可以运行

    1. def variance_demo():
    2. """
    3. 过滤低方差特征
    4. :return:
    5. """
    6. # 1、获取数据
    7. data = pd.read_csv("factor_returns.csv")
    8. data = data.iloc[:, 1:-2]
    9. print("data:\n", data)
    10. # 2、实例化一个转化器
    11. transfer = VarianceThreshold(threshold=10)
    12. # 3、调用fit_transform
    13. data_new = transfer.fit_transform(data)
    14. print("data_new:\n", data_new, data_new.shape)
    15. return None

    2.5.1 降维 - 降低维度

    ndarray

    维数 : 嵌套的层数

    二维数组

    此处的降维:降低特征的个数

    效果: 特征与特征之间不相关

    2.5.1 降维

    特征选择

    Filter过滤式

    方差选择法:低方差特征过滤

    相关系数 - 特征与特征之间的相关程度

    取值范围: -1 ~1

    特征与特征之间的相关性很高:

    1)选取其中一个

    2)加权求和

    3)主成分分析

    Embeded嵌入式

    1. def variance_demo():
    2. """
    3. 过滤低方差特征
    4. :return:
    5. """
    6. # 1、获取数据
    7. data = pd.read_csv("factor_returns.csv")
    8. data = data.iloc[:, 1:-2]
    9. print("data:\n", data)
    10. # 2、实例化一个转化器
    11. transfer = VarianceThreshold(threshold=10)
    12. # 3、调用fit_transform
    13. data_new = transfer.fit_transform(data)
    14. print("data_new:\n", data_new, data_new.shape)
    15. # 计算两个变量之间的相关系数
    16. r1 = pearsonr(data["pe_ratio"], data["pb_ratio"])
    17. print("相关系数:\n", r1)
    18. r2 = pearsonr(data['revenue'], data['total_expense'])
    19. print("revenue与total_expense之间的相关性:\n", r2)
    20. return None

    决策树 正则化 深度学习

    主成分分析:

    2.6.1 什么是主成分分析(PCA)

    sklearn.decomposition.PCA(n_compinents=None)

    n_components 

    1. def pca_demo():
    2. """
    3. PCA
    4. :return:
    5. """
    6. data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]
    7. # 1 实例化一个转换器类
    8. transfer = PCA(n_components=2)
    9. # 调用fit_transform(data)
    10. data_new = transfer.fit_transform(data)
    11. print("data_new:\n", data_new)
    12. return None

    小数  表示保留百分之多少的信息量

    整数 减少到多少特征

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

    用户                  物品类别

    1)需要将user_id和aisle放在同一个表中 —— 合并

    2)找到user_id和aisle —— 交叉表和透视表

    3)特征冗余过多 ——> PCA降维

  • 相关阅读:
    go读取yaml,json,ini等配置文件
    java计算机毕业设计web家教信息服务平台设计与实现源码+mysql数据库+系统+lw文档+部署
    再改RNNs,试用While循环不展开特性
    Docker Hub 公有镜像在国内拉取加速配置
    偏向锁、轻量级锁、重量级锁、synchronized的原理
    部分依赖图(Partial Dependence Plots)以及实战-疾病引起原因解释
    集合元素处理(传统方式和Stream方式)
    Windows10出现WIFI蓝牙图标消失,网卡驱动出现感叹号等无法上网的情况解决方案
    高德地图车机版导航
    LiveNVR监控流媒体Onvif/RTSP功能-视频广场点击在线或离线时展示状态记录快速查看通道离线原因
  • 原文地址:https://blog.csdn.net/m0_62329504/article/details/126138102