当前位置: 首页 > news >正文

Sklearn入门之数据预处理preprocessing

         Sklearn全称:Scipy-toolkit  Learn是 一个基于scipy实现的的开源机器学习库。它提供了大量的算法和工具,用于数据挖掘和数据分析,包括分类、回归、聚类等多种任务。本文我将带你了解并入门Sklearn下的preprocessing在机器学习中的基本用法。

获取方式

pip install scikit-learn

模块结构

        在Python中,要想熟练地使用一个库来完成各种任务,那么我们必须得对这个库内各个模块的结构比较熟悉才可以,观察Scikit-learn源代码中的第一级模块,我们不难画出这样的一个树状图用来描述其结构:

        在这其中,datasets为内置数据集,剩下的2-13基本包含了整个机器学习中所有比较经典的算法,后边七个模块是我们在进行机器学习任务时常用的工具。

        后续,我将分别为大家介绍这20个模块的基本用法,本文我们着重来了解preprocessing这个模块的基本用法。

Preprocessing

        当我们对需要对数据进行预处理操作的时候,可以使用sklearn的preprocessing模块内的函数来进行操作,这里我给大家罗列出来常用数据预处理操作以及sklearn.preprocessing模块内对应函数。

预处理类型主要函数/类功能描述常用参数适用场景
​​标准化​​StandardScaler将特征缩放为均值为0,方差为1with_meanwith_std适用于大多数基于距离的算法
​​归一化​​MinMaxScaler将特征缩放到给定范围(默认[0,1])feature_range神经网络、图像处理
MaxAbsScaler将特征缩放到[-1,1]范围-稀疏数据
Normalizer对样本进行归一化(行归一化)norm('l1','l2','max')文本分类、聚类
​​鲁棒缩放​​RobustScaler使用中位数和四分位数范围缩放with_centeringwith_scaling存在异常值的数据
​​非线性变换​​PowerTransformer应用幂变换使数据更接近正态分布method('yeo-johnson','box-cox')非正态分布数据
QuantileTransformer使用分位数信息变换特征n_quantilesoutput_distribution非线性模型
​​离散化​​KBinsDiscretizer将连续特征离散化n_binsencodestrategy决策树类算法
​​二值化​​Binarizer根据阈值将数据二值化threshold文本处理、概率输出
​​编码分类特征​​OrdinalEncoder将分类特征编码为整数categories有序分类变量
OneHotEncoder将分类特征进行one-hot编码categoriesdrop无序分类变量
LabelEncoder将目标标签编码为0到n_classes-1-目标变量编码
​​缺失值处理​​SimpleImputer填充缺失值strategy('mean','median','most_frequent','constant')数据缺失处理
​多项式特征​PolynomialFeatures生成多项式特征degreeinteraction_only线性模型扩展特征
​自定义变换​FunctionTransformer应用自定义函数变换funcinverse_func自定义预处理逻辑
​特征选择​VarianceThreshold移除低方差特征threshold预处理中的特征选择

总结

        以上便是 Sklearn入门之preprocessing的基本用法的所有内容,如果本文对你有用,免费的三连来一波,感谢各位大佬支持。后续,我还将继续介绍sklearn中其他模块的使用方法。

相关文章:

  • Node.js 中的 Buffer(缓冲区)
  • esp-idf:多语言--lv_i18n
  • 状态模式详解与真实场景案例(Java实现)
  • 人脸检测-人脸关键点-人脸识别-人脸打卡-haar-hog-cnn-ssd-mtcnn-lbph-eigenface-resnet
  • 如何将 ESP32 快速接入高德、心知、和风天气API 获取天气信息
  • void MainWindow::on_btnOutput_clicked()为什么我在QT里面没有connect,也能触发点击效果
  • 【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——RTC时钟测试 #内部RTC时钟 #外部时钟模块AT8563
  • 运维面试题(十四)
  • 常见编码面试问题
  • 命令模式 (Command Pattern)
  • 问题记录(四)——拦截器“失效”?null 还是“null“?
  • 【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(一)
  • C++ 核心进阶
  • 探秘串口服务器厂家:背后的故事与应用
  • 深入理解Java缓冲输入输出流:性能优化的核心武器
  • 03(总)-docker篇 Dockerfile镜像制作(jdk,jar)与jar包制作成docker容器方式
  • 区块链如何为农业供应链赋能?用 Python 打造透明高效的农产品流通体系
  • Spring Boot 项目的启动流程,图片+文字详细解答(附相关面试题)
  • 进程与线程
  • 如何让Windows开机时自动运行LabVIEW程序
  • 做兼职哪家网站靠谱/开车搜索关键词
  • 做地推的网站/自动收录
  • 龙华附近网站建设公司/百度云搜索引擎 百度网盘
  • 聊城做网站的公司新闻/国外搜索引擎排名
  • 部落冲突做弊器网站/站长统计app网站
  • 河北响应式网站建设平台/网站友链交换平台