首页 > 编程语言 >【Python机器学习】无监督学习——不同类型的预处理

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

时间:2024-06-06 15:34:10浏览次数:27  
标签:特征向量 缩放 Python 位于 学习 特征 RobustScaler 数据 预处理

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

import mglearn.plots
import matplotlib.pyplot as plt


mglearn.plots.plot_scaling()
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 的圆上,这意味着每个数据点的缩放比例都不相同。如果只有数据的方向(或角度)是重要的,而特征向量的长度无关紧要,通常会使用这种归一化。

标签:特征向量,缩放,Python,位于,学习,特征,RobustScaler,数据,预处理
From: https://blog.csdn.net/weixin_39407597/article/details/139450134

相关文章

  • 【爬虫+数据清洗+数据可视化】Python分析“淄博烧烤”热门事件-全流程附源码
    目录一、背景介绍二、爬虫代码2.1展示爬取结果2.2爬虫代码讲解三、可视化代码3.1读取数据3.2数据清洗3.3可视化3.3.1IP属地分析-柱形图3.3.2评论时间分析-折线图3.3.3点赞数分布-箱线图3.3.4评论内容-情感分布饼图3.3.5评论内容-词云图四、技术总结五、演示视频六、转载......
  • 在 Excel 中使用 Python 自动填充公式
    安转Python包的国内镜像源清华大学https://pypi.tuna.tsinghua.edu.cn/simple阿里云https://mirrors.aliyun.com/pypi/simple/豆瓣https://pypi.douban.com/simple/百度云https://mirror.baidu.com/pypi/simple/中科大https://pypi.mirrors.ustc.edu.cn/simpl......
  • Python学习笔记四(面向对象)
    传送门python及pycharm安装配置-CSDN博客 Python学习笔记(一)-CSDN博客 Python学习笔记(二)-CSDN博客 Python学习笔记三(面向对象)-CSDN博客 目录一、继承1.1什么是继承题外话:多继承的问题1.2重写1.3super()函数1.3.1调用父类的方法1.3.2多重继承中的调用(硬核)1.3.3......
  • 【深度学习基础】池化层
    池化层(PoolingLayer)在卷积神经网络(CNN)中常用于计算机视觉任务,但在自然语言处理(NLP)任务中也有广泛的应用。池化层在NLP任务中可以帮助提取重要特征,降低数据维度,减少计算量,增强模型的泛化能力。本文将介绍池化层在NLP任务中的应用,并提供一个具体的代码示例。1.什么是池化层......
  • 【深度学习基础】模型文件介绍
    目录简介文件概述config.jsonmodel_state.pdparamsspecial_tokens_map.jsontokenizer_config.jsonvocab.txt文件内容解析如何查看和使用这些文件示例代码简介本文档详细介绍了深度学习训练过程中生成的关键文件,及其在模型加载和推理中的作用。这些文件包括模型配置文件......
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......
  • C Primer Plus第六章学习笔记以及编程题
    1.dowhile循环while循环和for循环都是入口条件循环,即在循环的每次迭代之前检查测试条件,所以有可能根本不执行循环体中的内容。C语言还有出口条件循环(exit-conditionloop),即在循环的每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次。这种循环被称为dowhil......
  • Astar路径规划算法复现-python实现
    #-*-coding:utf-8-*-"""CreatedonFriMay2409:04:232024"""importosimportsysimportmathimportheapqimportmatplotlib.pyplotaspltimporttime'''传统A*算法'''classAstar:......
  • MyBatis学习总结1
    1.MyBatis介绍1.1什么是框架框架(framework)(Framework)是一个框子——指其约束性,也是一个架子——指其支撑性,即已经对基础的代码进行了封装并提供相应的API,开发者在使用框架是直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度。​如果将开发完成的软......
  • Python怎么发邮件不会被拦?如何设置信息?
    Python发邮件的注意事项?Python发邮件需要哪些库?使用Python发送电子邮件是一个常见的需求。然而,有时候邮件可能会被拦截,要确保发送的邮件不被拦截,需要一些技巧和注意事项。AokSend将介绍如何使用Python发送邮件,并且避免被拦截的方法。Python发邮件:配置服务要使用Python发送......