• 【Python机器学习】无监督学习——不同类型的预处理


    之前学习过,一些算法(比如神经网络和SVM)对数据缩放非常敏感。因此,通常的做法是对特征进行调节,使数据更适合于这些算法。通常来说,这是对数据的一种简单的按照特征的缩放和移动。举例:

    1. import mglearn.plots
    2. import matplotlib.pyplot as plt
    3. mglearn.plots.plot_scaling()
    4. plt.show()

    如上图,左侧显示的是一个模拟的有两个特征的二分类数据集。第一个特征位于10-15之间,第二个特征大约位于0-9之间。

    右侧的4张图展示了4种数据变换方法,都生成了更加标准的范围。

    1、scikit-learn中的StandardScaler确保每个特征的平均值为0,方差为1,使所有特征都位于同一量级,但这种缩放不能保证特征任何特定的最大值与最小值。

    2、RobustScaler的工作原理与StandardScaler类似,确保每个特征的统计属性都位于同一范围,但RobustScaler使用的是中位数和四分位数,而不是平均值和方差。这样RobustScaler会忽略与其他点有很大不同的数据点(比如测量误差)。这些与众不同的数据点也叫异常值。可能会给其他缩放方法造成麻烦;

    3、MinMaxScaler移动数据,使所有特征都刚好位于0-1之间,对于二维数据集来说,所有的数据都包含在x轴0-1与Y轴0-1组成的矩阵之间;

    4、Normalizer用到一种完全不同的缩放方法。它对每个数据点进行缩放,使得特征向量的欧式长度等于1,换句话说,它将一个数据点投射在半径为1 的圆上,这意味着每个数据点的缩放比例都不相同。如果只有数据的方向(或角度)是重要的,而特征向量的长度无关紧要,通常会使用这种归一化。

  • 相关阅读:
    git使用笔记
    Docker 制作镜像
    SpringBoot中Filter和Interceptor快速入门
    【数据结构与算法】字符串匹配,BF算法和KMP算法,next数组求法
    AES和SM4各有什么特点?有什么不同之处?
    “人生苦短,我用Python“——Web测试
    计算机设计大赛 题目: 基于深度学习的疲劳驾驶检测 深度学习
    电脑数据丢失如何恢复呢?
    简单三招,就能将ppt翻译成英文,快来学习
    WPF行为
  • 原文地址:https://blog.csdn.net/weixin_39407597/article/details/139450134