python中sklearn库在数据预处理中的详细用法,及5个常用的Scikit-learn(通常简称为 sklearn)程序代码示例

news/2024/7/9 9:46:35 标签: python, sklearn, scikit-learn

在这里插入图片描述

文章目录

  • 前言
  • 1. 数据清洗:使用 sklearn.preprocessing 中的 StandardScaler 和 MinMaxScaler 进行数据规范化。
  • 2. 缺失值处理:使用 sklearn.impute 中的 SimpleImputer 来填充缺失值。
  • 3. 数据编码:使用 sklearn.preprocessing 中的 OneHotEncoder 进行独热编码。
  • 4. 数据拆分:使用 sklearn.model_selection 中的 train_test_split 将数据集拆分为训练集和测试集。
  • 总结


前言

Scikit-learn(通常简称为 sklearn)是一个在 Python 中广泛使用的开源机器学习库,它包含了许多用于预处理数据的工具。

sklearn是针对Python编程语言的免费软件机器学习库,它是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。

sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此在介绍sklearn的安装前,需要先安装这些依赖库。

下面是一些在数据预处理中常用的 sklearn 功能和相应的代码示例


Scikit-learn(通常简称为 sklearn)是一个在 Python 中广泛使用的开源机器学习库,它包含了许多用于预处理数据的工具。下面是一些在数据预处理中常用的 sklearn 功能和相应的代码示例。

sklearnpreprocessing__StandardScaler__MinMaxScaler__22">1. 数据清洗:使用 sklearn.preprocessing 中的 StandardScaler 和 MinMaxScaler 进行数据规范化。

python">from sklearn.preprocessing import StandardScaler, MinMaxScaler  
  
#  示例数据  
data = [[0, 0], [0, 0], [1, 1], [1, 1]]  
  
# 使用 StandardScaler 进行标准化  
scaler = StandardScaler()  
scaled_data = scaler.fit_transform(data)  
print(scaled_data)  
  
# 使用 MinMaxScaler 进行规范化  
scaler = MinMaxScaler()  
scaled_data = scaler.fit_transform(data)  
print(scaled_data)

sklearnimpute__SimpleImputer__41">2. 缺失值处理:使用 sklearn.impute 中的 SimpleImputer 来填充缺失值。

python">from sklearn.impute import SimpleImputer  
import numpy as np  
  
# 示例数据,其中第二列包含缺失值(NaN)  
data = [[0, np.nan], [0, 0], [1, 1], [1, 1]]  
  
# 使用 SimpleImputer 填充缺失值(默认为平均值)  
imputer = SimpleImputer(strategy='mean')  
imputed_data = imputer.fit_transform(data)  
print(imputed_data)

sklearnpreprocessing__OneHotEncoder__57">3. 数据编码:使用 sklearn.preprocessing 中的 OneHotEncoder 进行独热编码。

python">from sklearn.preprocessing import OneHotEncoder  
import numpy as np  
  
# 示例数据,其中第二列是类别标签(整数)  
data = [[0, 0], [0, 1], [1, 0], [1, 1]]  
  
# 使用 OneHotEncoder 进行独热编码  
encoder = OneHotEncoder(sparse=False)  
encoded_data = encoder.fit_transform(data)  
print(encoded_data)

sklearnmodel_selection__train_test_split__73">4. 数据拆分:使用 sklearn.model_selection 中的 train_test_split 将数据集拆分为训练集和测试集。

python">from sklearn.model_selection import train_test_split  
import numpy as np  
  
# 示例数据,用于训练模型(预测房价)  
data = [[0, 0], [0, 1], [1, 0], [1, 1]]  # X = features, y = target (house price)  
y = np.array([0, 1, 1, 0])  # target labels (0 = low price, 1 = high price)  
X = data[:, 0:2]  # features (first two columns of data)  
  
# 使用 train_test_split 将数据集拆分为训练集和测试集(比例为 80% 和 20%)  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)  
print('Training data:', X_train)  # training features (X_train) and labels (y_train)  
print('Testing data:', X_test)  # testing features (X_test) and labels (y_test) for model evaluation and prediction on unseen data (real-world scenario)

总结

Scikit-learn和sklearn其实是同一个机器学习库的不同叫法,两者没有本质的区别。Scikit-learn是Scikit和Learn两个单词的组合,而sklearnscikit-learn的简称,它包含各种无监督和监督学习技术,例如分类、回归、聚类等。

Scikit-learn是Python中非常流行的机器学习库,它提供了许多实用的模块和工具,例如分类器、预处理器、聚类算法等,可以大大简化机器学习任务的开发过程。Scikit-learn基于NumPy、SciPy和matplotlib等库,具有简单易用的特点,同时社区支持也很丰富。

总之,Scikit-learn和sklearn是同一个机器学习库的不同叫法。


http://www.niftyadmin.cn/n/5192242.html

相关文章

给定值,移除数组中与之相等的元素

实例要求:给定一个数组 nums 和一个值 val,需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度;不要使用额外的数组空间,必须仅使用 O(1) 额外空间并 原地 修改输入数组;元素的顺序可以改变&…

Qt中使用QNetworkAccessManager类发送https请求时状态码返回0

前言 在项目开发中,碰到一个问题,使用QNetworkAccessManager类对象发送https请求时,状态码一直返回0,抓包分析看请求响应也是正常的。费了好大劲终于搞定了,主要是两个原因导致的。 原因一:未设置支持SSL…

Git 简介及使用

前言 假设有这样一个场景,老板让员工做一个档案,员工这个档案做好了之后交给老板看,此时老板不满意,又让回去改,改完给老板看,但是老板又不是很满意,就这样改了又改,给老板看过之后&…

YOLOv8-Seg改进:渐近特征金字塔网络(AFPN)

🚀🚀🚀本文改进:AFPN通过融合两个相邻的Low-Level特征来启动的,并渐进地将High-Level特征纳入融合过程,提升分割能力。 🚀🚀🚀AFPN小目标分割首选,暴力涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新,轻…

Vatee万腾未来科技之航:Vatee创新引领的新纪元

在当今数字化时代,Vatee万腾科技正在开创一段引领未来的全新征程。以其卓越的创新能力和领导地位,Vatee万腾成为数字化领域的引领者。其未来科技之航展现了一种独特的数字化愿景,引领着科技创新进入新的纪元。 Vatee万腾在数字科技领域展现出…

Pytorch 网络冻结的三种方法区别:detach、requires_grad、with_no_grad

1、requires_grad requires_gradTrue # 要求计算梯度; requires_gradFalse # 不要求计算梯度;在pytorch中,tensor有一个 requires_grad参数,如果设置为True,那么它会追踪对于该张量的所有操作。在完成计算时可以通过调…

开源简历生成器OpenResume

什么是 OpenResume ? OpenResume 是一个功能强大的开源简历生成器和简历解析器。OpenResume 的目标是为每个人提供免费的现代专业简历设计,让任何人都能充满信心地申请工作。 OpenResume 有 5 个核心特点: 特征描述1. 实时UI更新当您输入简历…

【迅搜01】安装运行并测试XunSearch

安装运行并测试XunSearch 这回的新系列,我们将学习到的是一个搜索引擎 迅搜 XunSearch 的使用。这个搜索引擎在 PHP 圈可能还是有一点名气的,而且也是一直在更新的,虽说现在 ElasticSearch 已经是实际上的搜索引擎霸主了,而且还有…