【sklearn练习】preprocessing的使用

介绍

scikit-learn 中的 preprocessing 模块提供了多种数据预处理工具,用于准备和转换数据以供机器学习模型使用。这些工具可以帮助您处理数据中的缺失值、标准化特征、编码分类变量、降维等。以下是一些常见的 preprocessing 模块中的功能和用法示例:

  1. 标准化特征(Feature Scaling)

    • 使用 StandardScaler 类可以对特征进行标准化,使其具有零均值和单位方差。这对于许多机器学习算法来说是必要的。

    示例使用方法:

    from sklearn.preprocessing import StandardScalerscaler = StandardScaler()
    X_train_scaled = scaler.fit_transform(X_train)
    X_test_scaled = scaler.transform(X_test)
    
  2. 最小-最大缩放(Min-Max Scaling)

    • 使用 MinMaxScaler 类可以将特征缩放到指定的最小值和最大值之间,通常在0到1之间。

    示例使用方法:

    from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()
    X_train_scaled = scaler.fit_transform(X_train)
    X_test_scaled = scaler.transform(X_test)
    
  3. 编码分类变量

    • 使用 LabelEncoder 类可以将分类变量编码为整数标签。

    示例使用方法:

    from sklearn.preprocessing import LabelEncoderencoder = LabelEncoder()
    y_encoded = encoder.fit_transform(y)
    
  4. 独热编码(One-Hot Encoding)

    • 使用 OneHotEncoder 类可以将分类变量转换为独热编码形式,创建虚拟变量。

    示例使用方法:

    from sklearn.preprocessing import OneHotEncoderencoder = OneHotEncoder()
    X_encoded = encoder.fit_transform(X_categorical).toarray()
    
  5. 处理缺失值

    • 使用 SimpleImputer 类可以填充数据中的缺失值,可以选择使用均值、中位数、众数等填充策略。

    示例使用方法:

    from sklearn.impute import SimpleImputerimputer = SimpleImputer(strategy="mean")
    X_imputed = imputer.fit_transform(X_missing)
    
  6. 降维

    • 使用 PCA 类可以进行主成分分析(PCA)降维,将高维数据投影到低维空间。

    示例使用方法:

    from sklearn.decomposition import PCApca = PCA(n_components=2)
    X_pca = pca.fit_transform(X)
    

以上是一些 preprocessing 模块中常见功能的示例用法。数据预处理是机器学习中非常重要的一步,它有助于提高模型的性能和稳定性。您可以根据您的数据和任务选择适当的预处理方法,并将其应用于您的数据,以确保数据准备得当。

实例

例1:

from sklearn import preprocessing
import numpy as npa = np.array([[10,   2.7, 3.6],[-100, 5,   -2],[120,  20,  40]])
print(a)
print(preprocessing.scale(a))

输出:

[[  10.     2.7    3.6][-100.     5.    -2. ][ 120.    20.    40. ]]
[[ 0.         -0.85170713 -0.55138018][-1.22474487 -0.55187146 -0.852133  ][ 1.22474487  1.40357859  1.40351318]]

例2:

from sklearn import preprocessing                      #预处理的模块
import numpy as np
from sklearn.model_selection import train_test_split   #将数据打乱随机分为训练集和测试集的类train_test_split 
from sklearn.datasets import make_classification       #datasets中make开头的创建数据集的类make_classification 
from sklearn.svm import SVC                            #训练模型的类SVC
import matplotlib.pyplot as pltX, y = make_classification(n_samples=300, n_features=2,n_redundant=0, n_informative=2,random_state=22,n_clusters_per_class=1,scale=100)
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.show()X = preprocessing.scale(X)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3)
clf = SVC()
clf.fit(X_train, y_train)
print(clf.score(X_test, y_test))
#输出为0.9555555555555556,
#当删去对X的预处理语句X = preprocessing.scale(X),这里的输出理论上减小

输出:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CSS】CSS中的BFC,是什么?

一、常见定位方案 普通流默认,从上而下,行内元素水平排列,行满换行,块级元素渲染成一个新行。 浮动先按普通流位置出现,然后根据浮动方向偏移。 绝对定位元素具体位置由绝对定位坐标组成。二、什么是BFC BFC&#xff…

适合小微企业的记账软件有哪些?

“涉及了很多的库存管理、进销存和记账,最好是这个软件可以随时看到我们公司的财务数据,且一定要安全!” 进、销、存、财……进销存财管理就像是企业的大管家,管着货物、资金、成本、收入,保证一切有序运转。这些管理…

ISIS基本概率与配置(HCIP完整版)

目录 一、ISIS协议基础 1、ISIS概述(认识ISIS) 2、ISIS的应用 4、ISIS的工作过程 5、ISIS路由器的类型 6、ISIS区域 7、ISIS报文 8、ISIS基础配置 9、进程号: 10、NET地址 11、ISIS邻居关系 二、邻居表分析 1、ISIS邻居表字段解析…

Oracle11.2.0.4从RMAN备份中快速恢复单个表的方法

文章目录 前言一、查询所要恢复的表所涉及的表空间二、创建用于恢复的数据库三、恢复步骤1.恢复控制文件2.修改redo日志名称3.表空间恢复4.表空间recover5.查询数据 前言 由于用户误操作导致某表中的数据错乱,导致业务不能正常使用,现需要将该表恢复到一…

【FPGA】分享一些FPGA数字信号处理相关的书籍

在做FPGA工程师的这些年,买过好多书,也看过好多书,分享一下。 后续会慢慢的补充书评。 【FPGA】分享一些FPGA入门学习的书籍【FPGA】分享一些FPGA协同MATLAB开发的书籍 【FPGA】分享一些FPGA视频图像处理相关的书籍 【FPGA】分享一些FPGA高速…

更改邮箱发件人

更改邮箱发件人 未更改前发件人显示为发件人的邮箱地址 这里以outlook邮箱为例,进行邮箱发件人的更改 1.点击左上角“文件”选项 2.打开“账户设置”下拉菜单中的“账户设置” 3.选择“电子邮件”,点击该栏下的“更改”选项 4.在弹出页面中修改你…

机器学习原理到Python代码实现之NaiveBayes【朴素贝叶斯】

Naive Bayes 朴素贝叶斯算法 该文章作为机器学习的第二篇文章,主要介绍的是朴素贝叶斯算法的原理和应用。学习本章内容建议对概率论中的联合概率以及先验概率、后验概率有初步的学习和掌握。 难度系数:⭐⭐⭐ 更多相关工作请参考:Github 算法…

为什么流不关闭会导致内存泄漏

引言 经常有人告诉你流用完要记得关,不然会导致内存泄漏,但你是否考虑过下面这些问题: 为什么流不关会导致内存泄漏?JVM不是有垃圾回收机制吗?这些引用我用完不就变垃圾了为什么不会被回收呢?流未关闭除了导致内存泄…

node的下载、安装、配置

下载: 官网下载:Node.js 左右两个都可以: 安装: 打开cmd: 输入以下指令,如果出现版本号说明安装成功 node -v npm -v 配置: 1、新建文件夹:node_cache和node_global作为npm“缓…

前端实现搜索功能

最近遇到一个需求,用户在输入框输入关键字之后,点击搜索按钮后进行搜索,如下图,选中的数据在下面,上面展现的是搜索后的数据,现在选中了2条数据: 当用户输入KET后点击搜索,搜出的结果有16条,勾选全选选中后,将选中的16条的数据加到之前已选的2条数据里,于是此时已选…

重磅!大模型框架 LangChain 首个稳定版本终于来了!

著名的大模型智能体工具,现在有大版本更新了。 不知不觉,LangChain 已经问世一年了。作为一个开源框架,LangChain 提供了构建基于大模型的 AI 应用所需的模块和工具,大大降低了 AI 应用开发的门槛,使得任何人都可以基于…

oracle角色管理

常用角色 CONNECT,RESOURCE,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE 1角色可以自定义,语法与创建用户一样 CREATE role role1 IDENTIFIED by 123; 2授权权限给角色 --自定义角色 CREATE role role1 IDENTIFIED by 123; --授权权限给角色 GRANT create view, …

AI人工智能从业人员《自然语言及语音处理设计开发工程师》证书专项培训(第二期)通知!

工业和信息化部电子工业标准化研究院联合北京龙腾亚太教育咨询有限公司和北京龙腾智元信息技术有限公司于2024年1月成功在京举办AI人工智能从业人员《自然语言及语音处理设计开发工程师》证书专项培训第一期课程,所有学员成功通过考试。介于学员的良好反应&#xff…

设置flex布局的元素,其子元素宽度和超过其本身时,其宽度值未被撑起问题

如图父元素main-content设置了display:flex. 里面包含了不确定个数的子元素,子元素样式为: flex: 1; min-width: 240px;现在想获取父元素的宽度,发现无论子元素的个数为多少,父元素的宽度都是一样的大小,并没有被子元…

Docker与微服务实战(基础篇)

Docker与微服务实战(基础篇) 1、Docker简介2、Docker安装步骤1.Centos7及以上的版本2.卸载旧版本3.yum安装gcc相关4.安装需要的软件包5.设置stable镜像仓库【国内aliyun】6.更新yum软件包索引--以后安装更快捷7.安装Docker-Ce8.启动Docker9.测试10.卸载1…

Socket closed 异常解决方案:如何解决 JMeter 压测中的问题

问题描述 JMeter 压测时会报 java.net.SocketException: Socket closed java.net.SocketException: Socket closed at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.ne…

Temu、Shopee、Lazada等跨境流量如何提升?买家号如何批量养号?

现在在temu、Lazada、shopee等跨境电商平台开店的商家越来越多。如果商家想让商店的产品得到更多的展示,流量是必不可少的,平台的流量入口主要有几个板块。 让我们谈谈temu、Lazada、shopee搜索流量如何提升,有什么方法。 有两种方法可以在短…

usb转32串口方案

方案结构图 使用usb hub芯片扩展4路usb然后再一分八路串口 USB hub 选择hub芯片注意事项: 目前市场上多数的USB 2.0 Hub芯片,只有内建一个Transaction Translators(STT),因此 当Hub接收到如Full Speed的装置进入时,12Mbps的「单一」信道…

使用Moonbuilders Academy平台,学习DApp开发

Moonbeam团队于2022年宣布开放Moonbuilders Academy。这是一套以开发为中心的异步学习课程,用于学习如何在Moonbeam上构建跨链DApp。 如何从官网进入平台? 点击http://moonbeam.network 鼠标移动至 “Builders”,在Resources下方选择“Moo…

2024腾讯爱奇艺首发片单,谁能率先拿下开年爆款?

刚进入2024年,头部长视频平台就开启了新一轮“内卷”。 腾讯和爱奇艺不约而同地在2024年的第一天发布了新剧片单,多部高质量精品大剧蓄势待发,点燃了观众和市场的期待。 2023年之争已经落下帷幕,爱奇艺凭借大爆剧《狂飙》拔得头…