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

文章目录

  • 前言
  • [1. 数据清洗:使用 sklearn.preprocessing 中的 StandardScaler 和 MinMaxScaler 进行数据规范化。](#1. 数据清洗:使用 sklearn.preprocessing 中的 StandardScaler 和 MinMaxScaler 进行数据规范化。)
  • [2. 缺失值处理:使用 sklearn.impute 中的 SimpleImputer 来填充缺失值。](#2. 缺失值处理:使用 sklearn.impute 中的 SimpleImputer 来填充缺失值。)
  • [3. 数据编码:使用 sklearn.preprocessing 中的 OneHotEncoder 进行独热编码。](#3. 数据编码:使用 sklearn.preprocessing 中的 OneHotEncoder 进行独热编码。)
  • [4. 数据拆分:使用 sklearn.model_selection 中的 train_test_split 将数据集拆分为训练集和测试集。](#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 功能和相应的代码示例。

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)

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)

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)

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两个单词的组合,而sklearn是scikit-learn的简称,它包含各种无监督和监督学习技术,例如分类、回归、聚类等。

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

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

相关推荐
SelectDB13 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码20 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵1 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li1 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸2 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学2 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田2 天前
Pydantic校验配置文件
python
hboot2 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi3 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi3 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab